From 4d1cbdf2fc0d79b99589327eb378306c557d346a Mon Sep 17 00:00:00 2001 From: troido Date: Thu, 23 Apr 2020 15:20:54 +0200 Subject: tell users when they use a guest account and inform them about server admin --- src/gameserver.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/gameserver.rs') diff --git a/src/gameserver.rs b/src/gameserver.rs index 195989f..709ee9d 100644 --- a/src/gameserver.rs +++ b/src/gameserver.rs @@ -44,16 +44,18 @@ pub struct GameServer { players: HashMap<(usize, usize), PlayerId>, connections: HashMap, users: Box, - servers: Vec> + servers: Vec>, + admins: String } impl GameServer { - pub fn new(servers: Vec>, users: Box) -> GameServer { + pub fn new(servers: Vec>, users: Box, admins: String) -> GameServer { GameServer { players: HashMap::new(), connections: HashMap::new(), servers, - users + users, + admins } } @@ -147,7 +149,7 @@ impl GameServer { return Err(merr!(action, "You can not change your name")); } let player = PlayerId{name}; - self.authenticate(&player, auth, id)?; + self.authenticate(&player, auth.clone(), id)?; if self.connections.contains_key(&player) { return Err(merr!("nametaken", "Another connection to this player exists already")); } @@ -157,6 +159,13 @@ impl GameServer { if let Err(_) = self.send(&player, json!(["connected", format!("successfully connected as {}", &player.name)])){ return Err(merr!("server", "unable to send connected message")) } + if auth == Authentication::Guest { + let _ = self.send(&player, json!([ + "message", + format!("You are connected as guest account. Anyone could log in to this account. To register an account for yourself ask one of the server admins: {}", &self.admins), + "server" + ])); + } Ok(Some(Action::Join(player))) } Message::Chat(text) => { -- cgit