diff options
| author | troido <troido@protonmail.com> | 2020-04-23 15:20:54 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-04-23 15:20:54 +0200 |
| commit | 4d1cbdf2fc0d79b99589327eb378306c557d346a (patch) | |
| tree | 9af2fe092fc850b8c314f27e4992a7e9cf124c8e /src/gameserver.rs | |
| parent | 904f81b2a31fe30e1f7b11c25a9ce523625f1c6b (diff) | |
tell users when they use a guest account and inform them about server admin
Diffstat (limited to 'src/gameserver.rs')
| -rw-r--r-- | src/gameserver.rs | 17 |
1 files changed, 13 insertions, 4 deletions
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<PlayerId, (usize, usize)>, users: Box<dyn UserRegistry>, - servers: Vec<Box<dyn Server>> + servers: Vec<Box<dyn Server>>, + admins: String } impl GameServer { - pub fn new(servers: Vec<Box<dyn Server>>, users: Box<dyn UserRegistry>) -> GameServer { + pub fn new(servers: Vec<Box<dyn Server>>, users: Box<dyn UserRegistry>, 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) => { |
