aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/main.rs10
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);