diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-21 15:31:18 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-21 15:31:18 +0200 |
commit | 34190a70b1efa0972ef58b88d356f985c46b89ae (patch) | |
tree | d8cf5b98a4d0aed34bff048fb1e15a87f106f6db /server/src/main.rs | |
parent | 41c95fc5b6b1c8bc4b944d889414a4197a23837b (diff) | |
download | hurrycurry-34190a70b1efa0972ef58b88d356f985c46b89ae.tar hurrycurry-34190a70b1efa0972ef58b88d356f985c46b89ae.tar.bz2 hurrycurry-34190a70b1efa0972ef58b88d356f985c46b89ae.tar.zst |
server: mdns and upnp
Diffstat (limited to 'server/src/main.rs')
-rw-r--r-- | server/src/main.rs | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index 4db43c64..d0538126 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -21,7 +21,7 @@ use futures_util::{SinkExt, StreamExt}; use hurrycurry_protocol::{PacketC, PacketS, BINCODE_CONFIG, VERSION}; use hurrycurry_server::{ data::DATA_DIR, - register::Register, + network::{mdns::mdns_loop, register::Register, upnp::upnp_loop}, server::{GameServerExt, Server}, trm, ConnectionID, }; @@ -59,9 +59,12 @@ pub(crate) struct Args { /// Enables submissions to the public server registry #[arg(long)] register: bool, - /// Enables mDNS discoverability + /// Enables the mDNS responder for local network discovery #[arg(long)] - discoverable: bool, + mdns: bool, + // Enables automatic gateway port forwarding using UPnP + #[arg(long)] + upnp: bool, /// Server name #[arg(long, short = 'N', default_value = "A Hurry Curry! Server")] server_name: String, @@ -130,6 +133,16 @@ async fn run(args: Args) -> anyhow::Result<()> { ); tokio::task::spawn(r.register_loop()); } + if args.upnp { + tokio::task::spawn(upnp_loop(args.listen.port())); + } + if args.mdns { + tokio::task::spawn(mdns_loop( + args.server_name.clone(), + args.listen.port(), + state.clone(), + )); + } { let state = state.clone(); |