aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-12-22 22:12:54 +0100
committermetamuffin <metamuffin@disroot.org>2024-12-22 22:12:54 +0100
commitb7645692084a38b83ca20c1e66ecdebea541b837 (patch)
treeddf57a1273cb80b2263637a7390df8c0ed55abb9 /server
parent9cc8d8319e9337b14372d9eb64ec9d9034a566d6 (diff)
downloadhurrycurry-b7645692084a38b83ca20c1e66ecdebea541b837.tar
hurrycurry-b7645692084a38b83ca20c1e66ecdebea541b837.tar.bz2
hurrycurry-b7645692084a38b83ca20c1e66ecdebea541b837.tar.zst
Enforce player name length limit and max player count
Diffstat (limited to 'server')
-rw-r--r--server/src/server.rs8
1 files changed, 7 insertions, 1 deletions
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;