From b7645692084a38b83ca20c1e66ecdebea541b837 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 22 Dec 2024 22:12:54 +0100 Subject: Enforce player name length limit and max player count --- server/src/server.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'server/src/server.rs') diff --git a/server/src/server.rs b/server/src/server.rs index b9cafede..f69ea5e4 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -23,7 +23,7 @@ use crate::{ scoreboard::ScoreboardStore, tre, ConnectionID, }; -use anyhow::{Context, Result}; +use anyhow::{bail, Context, Result}; use hurrycurry_client_lib::{Game, Involvement, Item, Player, Tile}; use hurrycurry_protocol::{ glam::{IVec2, Vec2}, @@ -369,6 +369,12 @@ impl Server { id, class, } => { + if name.len() > 64 { + return Err(tre!("s.error.username_length_limit")); + } + if self.game.players.len() > 64 { + return Err(tre!("s.error.too_many_players")) + } let id = id.unwrap_or_else(|| { let id = self.player_id_counter; self.player_id_counter.0 += 1; -- cgit v1.2.3-70-g09d2