There are three problems:
1) New characters have an error because of the _pcdata.onExit in PcInstance;
deleteMe()
java.lang.NullPointerException
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.deleteMe(L
2PcInstance.java:11762)
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.logout(L2P
cInstance.java:1472)
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.logout(L2P
cInstance.java:1458)
at com.l2jserver.gameserver.network.clientpackets.CharacterCreate.initNe
wChar(CharacterCreate.java:297)
at com.l2jserver.gameserver.network.clientpackets.CharacterCreate.runImp
l(CharacterCreate.java:184)
at com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket.run
(L2GameClientPacket.java:93)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2) If players log out with 0 killstreaks, there is an error for the fourth killstreak;
com.mysql.jdbc.JDBC4PreparedStatement@11d2d6: INSERT INTO killstreak_data VALUES (0,0,0,** NOT SPECIFIED **)
L2PcInstanceData.onExit(): Culdnt save killstreak data.
java.sql.SQLException: No value specified for parameter 4
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:986)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:981)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2546)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2522)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2448)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1300)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:989)
at com.l2jserver.gameserver.model.actor.instance.instancestore.L2PcInstanceData.onExit(L2PcInstanceData.java:140)
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.deleteMe(L2PcInstance.java:11648)
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.logout(L2PcInstance.java:1386)
at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.logout(L2PcInstance.java:1372)
at com.l2jserver.gameserver.network.L2GameClient$CleanupTask.run(L2GameClient.java:709)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
3) If players log out and relog in, they have the killstreaks loaded by last server restart.