diff --git a/Subsurface/Source/Networking/GameServer.cs b/Subsurface/Source/Networking/GameServer.cs index 3044103ba..d8c047788 100644 --- a/Subsurface/Source/Networking/GameServer.cs +++ b/Subsurface/Source/Networking/GameServer.cs @@ -1774,8 +1774,9 @@ namespace Barotrauma.Networking public void UpdateVoteStatus() { - if (server.Connections.Count == 0) return; - if (connectedClients.Count == 0) return; + if (server.Connections.Count == 0|| connectedClients.Count == 0) return; + + Client.UpdateKickVotes(connectedClients); var clientsToKick = connectedClients.FindAll(c => c.KickVoteCount >= connectedClients.Count * KickVoteRequiredRatio); foreach (Client c in clientsToKick) diff --git a/Subsurface/Source/Networking/Voting.cs b/Subsurface/Source/Networking/Voting.cs index 871b6c550..99b32c296 100644 --- a/Subsurface/Source/Networking/Voting.cs +++ b/Subsurface/Source/Networking/Voting.cs @@ -229,11 +229,13 @@ namespace Barotrauma byte kickedClientID = inc.ReadByte(); Client kicked = GameMain.Server.ConnectedClients.Find(c => c.ID == kickedClientID); - if (kicked == null) return; + if (kicked != null) + { + kicked.AddKickVote(sender); + Client.UpdateKickVotes(GameMain.Server.ConnectedClients); - kicked.AddKickVote(sender); - - GameMain.Server.SendChatMessage(sender.name + " has voted to kick " + kicked.name, ChatMessageType.Server, null); + GameMain.Server.SendChatMessage(sender.name + " has voted to kick " + kicked.name, ChatMessageType.Server, null); + } break; }