diff options
Diffstat (limited to 'server/src/main.rs')
-rw-r--r-- | server/src/main.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index 2e1fb77d..f43f668b 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -22,6 +22,7 @@ use hurrycurry_protocol::{PacketC, PacketS, PlayerID, BINCODE_CONFIG, VERSION}; use hurrycurry_server::{data::DATA_DIR, state::State}; use log::{debug, info, trace, warn, LevelFilter}; use std::{ + net::SocketAddr, path::PathBuf, process::exit, str::FromStr, @@ -47,6 +48,9 @@ struct Args { /// Set the path to the game data directory, autodetect if ommitted #[arg(short, long)] data_dir: Option<PathBuf>, + /// Set the address on which the server should listen + #[arg(short, long, default_value = "0.0.0.0:27032")] + listen: SocketAddr, } fn main() -> Result<()> { @@ -86,12 +90,12 @@ fn main() -> Result<()> { tokio::runtime::Builder::new_multi_thread() .enable_all() .build()? - .block_on(run())?; + .block_on(run(args.listen))?; Ok(()) } -async fn run() -> anyhow::Result<()> { - let ws_listener = TcpListener::bind("0.0.0.0:27032").await?; +async fn run(addr: SocketAddr) -> anyhow::Result<()> { + let ws_listener = TcpListener::bind(addr).await?; info!("Listening for websockets on {}", ws_listener.local_addr()?); let (tx, rx) = broadcast::channel::<PacketC>(128 * 1024); |