diff --git a/server/src/auth_provider.rs b/server/src/auth_provider.rs index bfc2855ce9..1f6f411198 100644 --- a/server/src/auth_provider.rs +++ b/server/src/auth_provider.rs @@ -42,6 +42,8 @@ impl AuthProvider { } } + pub fn logout(&mut self, username: &str) { self.accounts.retain(|_, v| v != username); } + pub fn query(&mut self, username_or_token: String) -> Result<(), RegisterError> { // Based on whether auth server is provided or not we expect an username or // token diff --git a/server/src/sys/message.rs b/server/src/sys/message.rs index b7d0fa182d..8d42652867 100644 --- a/server/src/sys/message.rs +++ b/server/src/sys/message.rs @@ -293,6 +293,7 @@ impl<'a> System<'a> for Sys { None, ServerMsg::broadcast(format!("{} went offline.", &player.alias)), )); + accounts.logout(&player.alias); } server_emitter.emit(ServerEvent::ClientDisconnect(entity)); client.postbox.send_message(ServerMsg::Disconnect);