Prevent more than 5 players from being processed at a time on server connect.
This commit is contained in:
parent
e926fc1f10
commit
006e20bb13
@ -48,6 +48,8 @@ public class CoreClientManager extends MiniPlugin
|
||||
|
||||
private Object _clientLock = new Object();
|
||||
|
||||
private static int _connectingClients = 0;
|
||||
|
||||
public CoreClientManager(JavaPlugin plugin, String webServer)
|
||||
{
|
||||
super("Client Manager", plugin);
|
||||
@ -122,6 +124,20 @@ public class CoreClientManager extends MiniPlugin
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void AsyncLogin(AsyncPlayerPreLoginEvent event)
|
||||
{
|
||||
while (_connectingClients >= 5)
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.sleep(25);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
_connectingClients++;
|
||||
|
||||
try
|
||||
{
|
||||
LoadClient(Add(event.getName()), event.getUniqueId(), event.getAddress().getHostAddress());
|
||||
@ -134,6 +150,10 @@ public class CoreClientManager extends MiniPlugin
|
||||
|
||||
System.out.println(exception.getMessage());
|
||||
}
|
||||
finally
|
||||
{
|
||||
_connectingClients--;
|
||||
}
|
||||
|
||||
if (Bukkit.hasWhitelist() && !Get(event.getName()).GetRank().Has(Rank.MODERATOR))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user