synchronized(waitingClients)
{
// Если идет процесс выключения даного трида, то не позволяем сюда логинится.
if(shutdown || key == null || key.attachment() == null)
{
client.sendPacket(new LoginFail(LoginFail.SYSTEM_ERROR_LOGIN_LATER));
ThreadPoolManager.getInstance().scheduleGeneral(new KickWaitingClientTask(client), 1000);
return;
}
L2GameClient sameClient = waitingClients.remove(client.getLoginName());
if(sameClient != null)
{
sameClient.sendPacket(new LoginFail(LoginFail.ACOUNT_ALREADY_IN_USE));
ThreadPoolManager.getInstance().scheduleGeneral(new KickWaitingClientTask(sameClient), 1000);
}
waitingClients.put(client.getLoginName(), client);
sendPacket(new PlayerAuthRequest(client));
}