From cdfb82a9a27935986400dc90bee16eb896b0c004 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 17 Oct 2025 23:12:26 +0200 Subject: Add CLI option for user defined registry address (close #481) --- server/src/main.rs | 5 +++++ server/src/network/register.rs | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'server') diff --git a/server/src/main.rs b/server/src/main.rs index b5db4859..e87d52b6 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -73,6 +73,10 @@ pub(crate) struct Args { #[cfg(feature = "register")] #[arg(long)] register_disable_ip6: bool, + /// Address of registry server to use when registering + #[cfg(feature = "register")] + #[arg(long, default_value = "https://hurrycurry-registry.metamuffin.org")] + registry_server: String, } fn main() -> Result<()> { @@ -158,6 +162,7 @@ async fn run(data_path: PathBuf, args: Args) -> anyhow::Result<()> { args.server_name.clone(), args.listen.port(), args.register_uri, + args.registry_server, state.clone(), args.register_disable_ip4, args.register_disable_ip6, diff --git a/server/src/network/register.rs b/server/src/network/register.rs index b14c10b7..060994fe 100644 --- a/server/src/network/register.rs +++ b/server/src/network/register.rs @@ -29,12 +29,11 @@ use std::{ }; use tokio::{sync::RwLock, time::interval}; -const REGISTRY_URI: &str = "https://hurrycurry-registry.metamuffin.org"; - pub struct Register { name: String, port: u16, register_uri: Option, + registry_uri: String, state: Arc>, ip4_client: Option, ip6_client: Option, @@ -47,6 +46,7 @@ impl Register { name: String, port: u16, register_uri: Option, + registry_uri: String, state: Arc>, no4: bool, no6: bool, @@ -54,6 +54,7 @@ impl Register { Self { name, register_uri, + registry_uri, players: 0, port, secret: random(..), @@ -124,7 +125,7 @@ impl Register { // TODO ip v6 pub async fn register_with(&self, client: &Client, uri: String) -> Result<()> { let res = client - .post(Url::from_str(&format!("{REGISTRY_URI}/v1/register")).unwrap()) + .post(Url::from_str(&format!("{}/v1/register", self.registry_uri)).unwrap()) .header( USER_AGENT, format!("hurrycurry-server {}", env!("CARGO_PKG_VERSION")), -- cgit v1.3