2022-06-04 19:34:53 +00:00
|
|
|
use clap::Parser;
|
2022-08-12 21:12:29 +00:00
|
|
|
use servers::server;
|
2022-08-12 20:32:22 +00:00
|
|
|
|
|
|
|
#[derive(Debug, Parser)]
|
|
|
|
#[clap(
|
|
|
|
name = env!("CARGO_PKG_NAME"),
|
|
|
|
version = env!("CARGO_PKG_VERSION"),
|
|
|
|
about = env!("CARGO_PKG_DESCRIPTION")
|
|
|
|
)]
|
|
|
|
struct Cli {
|
|
|
|
#[clap(
|
|
|
|
short = 'i',
|
|
|
|
long = "host",
|
|
|
|
help = "Server host",
|
|
|
|
default_value = "0.0.0.0",
|
|
|
|
display_order = 1
|
|
|
|
)]
|
|
|
|
host: String,
|
|
|
|
#[clap(
|
|
|
|
short = 't',
|
|
|
|
long = "tcp-port",
|
|
|
|
help = "TCP server port",
|
|
|
|
default_value = "9999",
|
|
|
|
display_order = 2
|
|
|
|
)]
|
|
|
|
tcp_port: u16,
|
|
|
|
#[clap(
|
|
|
|
short = 'w',
|
|
|
|
long = "websocket-port",
|
|
|
|
help = "WebSocket server port",
|
|
|
|
default_value = "9998",
|
|
|
|
display_order = 3
|
|
|
|
)]
|
|
|
|
ws_port: u16,
|
2022-06-17 11:43:23 +00:00
|
|
|
}
|
2022-06-25 14:22:33 +00:00
|
|
|
|
2022-08-12 20:32:22 +00:00
|
|
|
fn main() {
|
|
|
|
tracing_subscriber::fmt().init();
|
2022-06-25 14:22:33 +00:00
|
|
|
|
2022-08-12 20:32:22 +00:00
|
|
|
let args = Cli::parse();
|
2022-06-26 10:59:48 +00:00
|
|
|
|
2022-08-12 20:32:22 +00:00
|
|
|
let tcp_host = format!("{host}:{port}", host = args.host, port = args.tcp_port);
|
|
|
|
let ws_host = format!("{host}:{port}", host = args.host, port = args.ws_port);
|
2022-06-25 14:22:33 +00:00
|
|
|
|
2022-08-12 20:32:22 +00:00
|
|
|
server::run(tcp_host, ws_host).expect("failed to start tcp server");
|
2022-06-25 14:22:33 +00:00
|
|
|
}
|