From f90562dc9d31d0f36203ad9213a1de912cf6380c Mon Sep 17 00:00:00 2001 From: Erb3 <49862976+Erb3@users.noreply.github.com> Date: Mon, 3 Jun 2024 21:29:11 +0200 Subject: [PATCH] Check if username is taken Fixes #46 --- src/game.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/game.rs b/src/game.rs index 1ccfd25..578ac03 100644 --- a/src/game.rs +++ b/src/game.rs @@ -40,7 +40,29 @@ pub fn on_connect(socket: SocketRef) { "join-response", packets::JoinResponsePacket { ok: false, - error: Some("Bad username!".to_string()), + error: Some("Bad username".to_string()), + }, + ) + .unwrap(); + + socket.disconnect().unwrap(); + return; + } + + if state + .lock() + .unwrap() + .leaderboard + .clone() + .into_iter() + .any(|v| v.1 .0 .0 == data.username) + { + socket + .emit( + "join-response", + packets::JoinResponsePacket { + ok: false, + error: Some("Username taken".to_string()), }, ) .unwrap();