rendered paste bodyIndex: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/ClientThread.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/ClientThread.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/ClientThread.java (working copy)
@@ -135,6 +135,12 @@
player.deleteMe();
player.store();
+
+ _activeChar = null;
+
+ try { Thread.sleep(1000); } catch (Throwable t) {}
+
+ _connection.close();
}
}
catch (Exception e1)
@@ -146,7 +152,6 @@
LoginServerThread.getInstance().removeWaitingClient(this);
if(getLoginName() != null)
LoginServerThread.getInstance().sendLogout(getLoginName());
- _activeChar = null;
}
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/SelectorThread.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/SelectorThread.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/SelectorThread.java (working copy)
@@ -369,8 +369,7 @@
{
if(_log.isDebugEnabled())
_log.debug("Error on network write, player "+con.getClient().getActiveChar().getName()+" disconnected?");
- con.getClient().getActiveChar().deleteMe();
- con.getClient().getActiveChar().store();
+ con.getClient().getActiveChar().closeNetConnection();
}
catch(NullPointerException npe)
{
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/Logout.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/Logout.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/Logout.java (working copy)
@@ -55,9 +55,7 @@
// normally the server would send serveral "delete object" before "leaveWorld"
// we skip that for now
sendPacket(new LeaveWorld());
- player.deleteMe();
- player.store();
- try { Thread.sleep(1000); } catch (Throwable t) {}
+ try { Thread.sleep(1000); } catch (Throwable t) {};
player.closeNetConnection();
}
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy)
@@ -23,6 +23,8 @@
import java.nio.ByteBuffer;
import net.sf.l2j.Config;
+import net.sf.l2j.gameserver.util.IllegalPlayerAction;
+import net.sf.l2j.gameserver.util.Util;
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.ClientThread;
import net.sf.l2j.gameserver.LoginServerThread;
@@ -118,16 +120,17 @@
}
if(!getClient().getLoginName().equalsIgnoreCase(getClient().getAccountName(activeChar.getName())))
{
- _log.fatal("Possible Hacker Account:"+getClient().getLoginName()+" tried to login with char: "+activeChar.getName() + "of Account:" + getClient().getAccountName(activeChar.getName()));
- activeChar.deleteMe();
- activeChar.closeNetConnection();
+ Util.handleIllegalPlayerAction(activeChar, "Possible Hacker Account:" +
+ getClient().getLoginName() + " tried to login with char: " + activeChar.getName() +
+ "of Account:" + getClient().getAccountName(activeChar.getName() + "."),
+ IllegalPlayerAction.PUNISH_KICK);
return;
}
if(!getClient().isAuthed())
{
- _log.fatal("Possible Hacker Account:"+getClient().getLoginName()+" is not authed");
- activeChar.deleteMe();
- activeChar.closeNetConnection();
+ Util.handleIllegalPlayerAction(activeChar, "Possible Hacker Account:" +
+ getClient().getLoginName() + " is not authenticated.",
+ IllegalPlayerAction.PUNISH_KICK);
return;
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/ClientBasePacket.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/ClientBasePacket.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/clientpackets/ClientBasePacket.java (working copy)
@@ -29,6 +29,8 @@
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.ServerBasePacket;
import net.sf.l2j.gameserver.serverpackets.LeaveWorld;
+import net.sf.l2j.gameserver.util.IllegalPlayerAction;
+import net.sf.l2j.gameserver.util.Util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -50,17 +52,9 @@
{
if(!client.checkFloodProtection())
{
- try {
- client.getActiveChar().sendMessage("Kicked for flooding");
- client.getActiveChar().sendPacket(new LeaveWorld());
- client.getActiveChar().deleteMe();
- client.getActiveChar().store();
- _log.warn("Warning : client " +client.getActiveChar().getName()+ " tryed to flood server !!!");
- } catch (Throwable t) {}
-
- try {
- client.getActiveChar().closeNetConnection();
- } catch (Throwable t) {}
+ Util.handleIllegalPlayerAction(client.getActiveChar(), "Warning : client " +
+ client.getActiveChar().getName()+ " tryed to flood server !!!",
+ IllegalPlayerAction.PUNISH_KICK);
}
}
// ends
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/Shutdown.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/Shutdown.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/Shutdown.java (working copy)
@@ -373,21 +373,10 @@
try {
// inform client, that it has been logged out
player.sendPacket(new LeaveWorld());
- player.deleteMe();
- player.store();
+ try { Thread.sleep(1000); } catch (Throwable t2) {};
+ player.closeNetConnection();
} catch (Throwable t) {}
}
- try { Thread.sleep(1000); } catch (Throwable t) {_log.info( "", t);}
-
-
- for (L2PcInstance player : L2World.getInstance().getAllPlayers())
- {
- try {
- player.closeNetConnection();
- } catch (Throwable t) {
- // just to make sure we try to kill the connection
- }
- }
}
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2PetInstance.java (working copy)
@@ -570,9 +570,6 @@
getOwner().removeReviving();
super.doRevive();
-
- // stopDecay
- DecayTaskManager.getInstance().cancelDecayTask(this);
super.stopDecay();
startFeed(false);
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/L2World.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/L2World.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/model/L2World.java (working copy)
@@ -30,6 +30,7 @@
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
+import net.sf.l2j.gameserver.serverpackets.LeaveWorld;
import net.sf.l2j.tools.geometry.Point3D;
import net.sf.l2j.util.L2ObjectMap;
@@ -346,9 +347,9 @@
if(tmp!= null)
{
_log.warn("Duplicate character!? Closing both characters ("+player.getName()+")");
- player.deleteMe();
+ player.sendPacket(new LeaveWorld());
player.closeNetConnection();
- tmp.deleteMe();
+ tmp.sendPacket(new LeaveWorld());
tmp.closeNetConnection();
return;
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java (working copy)
@@ -32,6 +32,8 @@
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.LeaveWorld;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
+import net.sf.l2j.gameserver.util.IllegalPlayerAction;
+import net.sf.l2j.gameserver.util.Util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -126,10 +128,8 @@
SystemMessage sm = new SystemMessage(614);
if (plyr != null)
{
- plyr.sendPacket(new LeaveWorld());
- plyr.deleteMe();
- plyr.store();
- plyr.closeNetConnection();
+ plyr.sendPacket( new LeaveWorld());
+ plyr.closeNetConnection();
sm.addString("You kicked " + plyr.getName() + " from the game.");
}
else
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminBan.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminBan.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminBan.java (working copy)
@@ -82,8 +82,6 @@
account_name = plyr.getAccountName();
LoginServerThread.getInstance().sendAccessLevel(account_name, -100);
plyr.sendPacket(new LeaveWorld());
- plyr.deleteMe();
- plyr.store();
plyr.closeNetConnection();
}
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminKick.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminKick.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminKick.java (working copy)
@@ -65,7 +65,7 @@
kickPlayer (player);
}
}
- activeChar.sendMessage("Kicked "+counter+" players");
+ activeChar.sendMessage("Kicked "+counter+" players.");
}
return true;
}
@@ -74,8 +74,6 @@
{
try {
player.sendPacket(new LeaveWorld());
- player.deleteMe();
- player.store();
player.closeNetConnection();
} catch (Throwable t) {}
}
Index: E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java
===================================================================
--- E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java (revision 1144)
+++ E:/Unreal/Lineage2/server/l2jfree/trunk/L2JFree_GameServer/src/main/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java (working copy)
@@ -30,6 +30,7 @@
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.GmListTable;
+import net.sf.l2j.gameserver.serverpackets.LeaveWorld;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import org.apache.commons.logging.Log;
@@ -85,15 +86,13 @@
case PUNISH_BROADCAST:
return;
case PUNISH_KICK:
- _actor.deleteMe();
- _actor.store();
+ _actor.sendPacket(new LeaveWorld());
_actor.closeNetConnection();
break;
case PUNISH_KICKBAN:
+ _actor.sendPacket(new LeaveWorld());
_actor.setAccessLevel(-100);
_actor.setAccountAccesslevel(-100);
- _actor.deleteMe();
- _actor.store();
_actor.closeNetConnection();
break;
case PUNISH_JAIL: