2022-06-04 19:34:53 +00:00
|
|
|
use clap::Parser;
|
|
|
|
use servers::tcp;
|
2022-06-05 14:08:13 +00:00
|
|
|
use simple_logger::SimpleLogger;
|
2022-06-04 19:34:53 +00:00
|
|
|
|
|
|
|
#[derive(Parser)]
|
|
|
|
#[clap(
|
|
|
|
name = "servers",
|
|
|
|
about = "Simple Tcp server that supports expansion via plugins"
|
|
|
|
)]
|
|
|
|
struct Cli {
|
|
|
|
#[clap(
|
|
|
|
short = 'h',
|
|
|
|
long = "host",
|
|
|
|
default_value = "0.0.0.0",
|
|
|
|
help = "Tcp server host",
|
|
|
|
display_order = 1
|
|
|
|
)]
|
|
|
|
host: String,
|
|
|
|
#[clap(
|
|
|
|
short = 'p',
|
|
|
|
long = "port",
|
|
|
|
default_value = "9999",
|
|
|
|
help = "Tcp server port [set 0 to random]",
|
|
|
|
display_order = 2
|
|
|
|
)]
|
|
|
|
port: String,
|
2022-06-04 11:58:21 +00:00
|
|
|
}
|
|
|
|
|
2022-06-04 19:34:53 +00:00
|
|
|
fn main() -> anyhow::Result<()> {
|
2022-06-05 20:10:23 +00:00
|
|
|
// init logger
|
2022-06-05 14:08:13 +00:00
|
|
|
SimpleLogger::new().init()?;
|
|
|
|
|
|
|
|
// parse cli args
|
2022-06-04 19:34:53 +00:00
|
|
|
let cli = Cli::parse();
|
2022-06-04 11:58:21 +00:00
|
|
|
|
2022-06-04 19:34:53 +00:00
|
|
|
// start tcp server
|
|
|
|
tcp::start_server(&cli.host, &cli.port)?;
|
2022-06-04 11:58:21 +00:00
|
|
|
|
|
|
|
Ok(())
|
|
|
|
}
|