See extended.

[fixed] Characters could sometimes walk through buildings due to
unsigned object Ids
[fixed] Critical networking bugs
[fixed] Client crash whenever an object was destroyed
[added] Loading of client objects is now multithreaded.
[updated] Reworked awareness system(engine).
[fixed] lots of other small engine fixes.
This commit is contained in:
Light2
2013-08-15 21:45:50 +02:00
parent fa79a8b41c
commit aab87280d2
11 changed files with 89 additions and 38 deletions
+8 -3
View File
@@ -38,6 +38,7 @@ import protocol.swg.ClientPermissionsMessage;
import protocol.swg.ConnectionServerLagResponse;
import protocol.swg.GalaxyLoopTimesResponse;
import protocol.swg.GameServerLagResponse;
import protocol.swg.HeartBeatMessage;
import engine.clients.Client;
import engine.resources.database.DatabaseConnection;
@@ -74,11 +75,13 @@ public class ConnectionService implements INetworkDispatch {
clientIdMsg.deserialize(data);
Client client = core.getClient((Integer) session.getAttribute("connectionId"));
if(client == null) System.out.println("NULL Client");
if(client == null) {
System.out.println("NULL Client");
return;
}
client.setSession(session);
ResultSet resultSet;
PreparedStatement preparedStatement;
System.out.println(clientIdMsg.getSessionKey().length);
try {
@@ -90,10 +93,12 @@ public class ConnectionService implements INetworkDispatch {
client.setAccountId(resultSet.getInt("accountId"));
AccountFeatureBits accountFeatureBits = new AccountFeatureBits();
ClientPermissionsMessage clientPermissionsMessage = new ClientPermissionsMessage();
session.write(new HeartBeatMessage().serialize());
session.write(accountFeatureBits.serialize());
session.write(clientPermissionsMessage.serialize());
preparedStatement.close();
} else {
System.out.println("Cant get login session");
}
} catch (SQLException e) {