Fixed potential mass-kick

This would happen if an admin joins the game when the server is full
This commit is contained in:
unknown
2013-12-01 18:21:43 +01:00
parent bed78248fb
commit 808e02f660
2 changed files with 7 additions and 5 deletions

View File

@ -326,23 +326,25 @@ public class TFM_ServerInterface
}
}
if (server.getOnlinePlayers().length >= server.getMaxPlayers())
int count = server.getOnlinePlayers().length;
if (count >= server.getMaxPlayers())
{
for (Player p : server.getOnlinePlayers())
{
if (!TFM_SuperadminList.isUserSuperadmin(player))
{
p.kickPlayer("You have been kicked to free up room for an admin.");
count--;
}
if (server.getOnlinePlayers().length < server.getMaxPlayers())
if (count < server.getMaxPlayers())
{
break;
}
}
}
if (server.getOnlinePlayers().length >= server.getMaxPlayers())
if (count >= server.getMaxPlayers())
{
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "The server is full and a player could not be kicked, sorry!");
return;