All pastes #451334 Raw Edit

1144-diff (CPU 100%)

public text v1 · immutable
·published 2007-04-21 12:49 UTC
rendered paste body
Index: 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: