Schedule GameClient closeNow instead of using sleep.

This commit is contained in:
MobiusDevelopment
2023-06-28 07:21:58 +03:00
parent 7a8a4f12d1
commit acb3892068
31 changed files with 246 additions and 310 deletions

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -109,21 +109,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -97,21 +97,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -93,21 +94,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -93,21 +94,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -96,21 +97,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.network.EncryptionInterface; import org.l2jmobius.commons.network.EncryptionInterface;
import org.l2jmobius.commons.network.NetClient; import org.l2jmobius.commons.network.NetClient;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.LoginServerThread.SessionKey; import org.l2jmobius.gameserver.LoginServerThread.SessionKey;
import org.l2jmobius.gameserver.data.sql.CharNameTable; import org.l2jmobius.gameserver.data.sql.CharNameTable;
@@ -105,21 +106,18 @@ public class GameClient extends NetClient
public void close(ServerPacket packet) public void close(ServerPacket packet)
{ {
if (packet != null) if (packet == null)
{ {
closeNow();
}
else
{
// Send the close packet.
sendPacket(packet); sendPacket(packet);
// Wait for packet to be sent. // Wait for packet to be sent.
try ThreadPool.schedule(this::closeNow, 1000);
{
Thread.sleep(1000);
} }
catch (InterruptedException e)
{
}
}
closeNow();
} }
public byte[] enableCrypt() public byte[] enableCrypt()