From 7c326301f9eb0f86cbf1960fbc4f7a95ab759d37 Mon Sep 17 00:00:00 2001 From: koe Date: Sun, 22 Dec 2024 16:08:31 -0600 Subject: [PATCH] expose set_max_clients to transport; see renet #164 --- renet2_netcode/src/server.rs | 9 +++++++++ renetcode2/src/server.rs | 6 +++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/renet2_netcode/src/server.rs b/renet2_netcode/src/server.rs index c501f95e..d61c0294 100644 --- a/renet2_netcode/src/server.rs +++ b/renet2_netcode/src/server.rs @@ -111,6 +111,15 @@ impl NetcodeServerTransport { self.netcode_server.max_clients() } + /// Update the maximum numbers of clients that can be connected. + /// + /// Changing the `max_clients` to a lower value than the current number of connect clients + /// does not disconnect clients. So [`NetcodeServerTransport::connected_clients()`] can + /// return a higher value than [`NetcodeServerTransport::max_clients()`]. + pub fn set_max_clients(&mut self, max_clients: usize) { + self.netcode_server.set_max_clients(max_clients); + } + /// Returns current number of clients connected. pub fn connected_clients(&self) -> usize { self.netcode_server.connected_clients() diff --git a/renetcode2/src/server.rs b/renetcode2/src/server.rs index 43b4e62b..15d19497 100644 --- a/renetcode2/src/server.rs +++ b/renetcode2/src/server.rs @@ -697,8 +697,12 @@ impl NetcodeServer { /// Update the maximum numbers of clients that can be connected /// /// Changing the `max_clients` to a lower value than the current number of connect clients - /// does not disconnect clients. So [`NetcodeServer::connected_clients()`] can return a higher value than [`NetcodeServer::max_clients()`]. + /// does not disconnect clients. So [`NetcodeServer::connected_clients()`] can return a + /// higher value than [`NetcodeServer::max_clients()`]. pub fn set_max_clients(&mut self, max_clients: usize) { + let max_clients = max_clients.min(NETCODE_MAX_CLIENTS); + log::debug!("Netcode max_clients set to {}", max_clients); + self.max_clients = max_clients; }