Zake Posted April 29, 2011 Posted April 29, 2011 Hello Mxc forum, In my attempt to correct l2jattackers and other packet flooding sh***s i tried to rework the mmocore, i didn't find the way so i made a code for packethandler debug, Anyway here we are: Index: java/config/server.properties =================================================================== --- java/config/server.properties (revision 3695) +++ java/config/server.properties (working copy) @@ -64,6 +64,8 @@ # Define how many players are allowed to play simultaneously on your server. MaximumOnlineUsers=100 +# Packet Handler Debug +PacketHandlerDebug = False # Minimum and maximum protocol revision that server allow to connect. # You must keep MinProtocolRevision <= MaxProtocolRevision. Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 3695) +++ java/net/sf/l2j/Config.java (working copy) @@ -728,7 +728,8 @@ public static int SELECTED_NODE_ID; public static int LINKED_NODE_ID; public static String NEW_NODE_TYPE; - + public static boolean PACKET_HANDLER_DEBUG; + /** Show "data/html/servnews.htm" whenever a character enters world.*/ public static boolean SERVER_NEWS; /** Show L2Monster level and aggro ? */ @@ -1185,7 +1186,7 @@ EXTERNAL_HOSTNAME = serverSettings.getProperty("ExternalHostname", "*"); INTERNAL_HOSTNAME = serverSettings.getProperty("InternalHostname", "*"); - + PACKET_HANDLER_DEBUG = Boolean.parseBoolean(serverSettings.getProperty("PacketHandlerDebug", "False")); GAME_SERVER_LOGIN_PORT = Integer.parseInt(serverSettings.getProperty("LoginPort","9014")); GAME_SERVER_LOGIN_HOST = serverSettings.getProperty("LoginHost","127.0.0.1"); Index: java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java (revision 3695) +++ java/net/sf/l2j/gameserver/clientpackets/L2GameClientPacket.java (working copy) @@ -46,6 +46,9 @@ } catch (Throwable t) { + if (!Config.PACKET_HANDLER_DEBUG) + return; + _log.severe("Client: "+getClient().toString()+" - Failed reading: "+getType()+" - L2J Server Version: "+Config.SERVER_VERSION+" - DP Revision: "+Config.DATAPACK_VERSION); t.printStackTrace(); } @@ -90,6 +93,9 @@ } catch (Throwable t) { + if (!Config.PACKET_HANDLER_DEBUG) + return false; + _log.severe("Client: "+getClient().toString()+" - Failed running: "+getType()+" - L2J Server Version: "+Config.SERVER_VERSION+" - DP Revision: "+Config.DATAPACK_VERSION); t.printStackTrace(); } Index: java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java =================================================================== --- java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (revision 3695) +++ java/net/sf/l2j/gameserver/network/L2GamePacketHandler.java (working copy) @@ -813,6 +813,9 @@ private void printDebug(int opcode, ByteBuffer buf, GameClientState state, L2GameClient client) { + if (!Config.PACKET_HANDLER_DEBUG) + return false; + int size = buf.remaining(); _log.warning("Unknown Packet: "+Integer.toHexString(opcode)+" on State: "+state.name()+" Client: "+client.toString()); byte[] array = new byte; @@ -822,6 +825,9 @@ private void printDebugDoubleOpcode(int opcode, int id2, ByteBuffer buf, GameClientState state, L2GameClient client) { + if (!Config.PACKET_HANDLER_DEBUG) + return false; + int size = buf.remaining(); _log.warning("Unknown Packet: "+Integer.toHexString(opcode)+":" + Integer.toHexString(id2)+" on State: "+state.name()+" Client: "+client.toString()); byte[] array = new byte; Index: java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java =================================================================== --- java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java (revision 3695) +++ java/net/sf/l2j/gameserver/serverpackets/L2GameServerPacket.java (working copy) @@ -44,6 +44,9 @@ } catch (Throwable t) { + if (Config.PACKET_HANDLER_DEBUG) + return false; + _log.severe("Client: "+getClient().toString()+" - Failed writing: "+getType()+" - L2J Server Version: "+Config.SERVER_VERSION+" - DP Revision: "+Config.DATAPACK_VERSION); t.printStackTrace(); } Index: java/net/sf/l2j/loginserver/L2LoginPacketHandler.java =================================================================== --- java/net/sf/l2j/loginserver/L2LoginPacketHandler.java (revision 3695) +++ java/net/sf/l2j/loginserver/L2LoginPacketHandler.java (working copy) @@ -19,6 +19,7 @@ import java.nio.ByteBuffer; +import net.sf.l2j.Config; import net.sf.l2j.loginserver.L2LoginClient.LoginClientState; import net.sf.l2j.loginserver.clientpackets.AuthGameGuard; import net.sf.l2j.loginserver.clientpackets.RequestAuthLogin; @@ -87,6 +88,9 @@ private void debugOpcode(int opcode, LoginClientState state) { + if (!Config.PACKET_HANDLER_DEBUG) + return false; + System.out.println("Unknown Opcode: "+opcode+" for state: "+state.name()); } } Index: java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java =================================================================== --- java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java (revision 3695) +++ java/net/sf/l2j/loginserver/clientpackets/L2LoginClientPacket.java (working copy) @@ -19,6 +19,7 @@ import java.util.logging.Logger; +import net.sf.l2j.Config; import net.sf.l2j.loginserver.L2LoginClient; import com.l2jserver.mmocore.network.ReceivablePacket; @@ -43,6 +44,8 @@ } catch (Exception e) { + if (!Config.PACKET_HANDLER_DEBUG) + return; _log.severe("ERROR READING: "+this.getClass().getSimpleName()); e.printStackTrace(); return false; Credits: me, Hope you enjoy this.
Zake Posted April 29, 2011 Author Posted April 29, 2011 Amazing Share zake . keep up :) Thanks, - Updated, Hidden for less than 4 karma.
Setekh Posted May 22, 2011 Posted May 22, 2011 are u kidding me? DS commited that on l2js timeline 1 year ago >.> at least when u copy someone change ur variable name >.> Also what u did is a boolean check, which is not such a big deal to acct so lame and point out credits xD
pipiou21 Posted May 22, 2011 Posted May 22, 2011 are u kidding me? DS commited that on l2js timeline 1 year ago >.> at least when u copy someone change ur variable name >.> Also what u did is a boolean check, which is not such a big deal to acct so lame and point out credits xD I knew it :P!!! Already fixed :)!
maximilion2 Posted May 22, 2011 Posted May 22, 2011 Hi it says to me [Hidden post: This post has been hidden by a moderator.] Why i can't see that??
BlOodDeviL Posted May 22, 2011 Posted May 22, 2011 Hi it says to me [Hidden post: This post has been hidden by a moderator.] Why i can't see that?? you must be VIP or Donator member to see it
maximilion2 Posted May 22, 2011 Posted May 22, 2011 you must be VIP or Donator member to see it aaaah oks i will donate soon thanx :D
mfausb Posted May 25, 2011 Posted May 25, 2011 you must be VIP or Donator member to see it lol, just lol. I wonder how long this forum will exist with this kind of attitude. And especially for a simple copied fix I guess.
bobzih Posted May 27, 2011 Posted May 27, 2011 [Hidden post: This post has been hidden by a moderator.] For his government which appears here in this house is! So do not question me saw Scuttle
pietras909 Posted June 2, 2011 Posted June 2, 2011 [Hidden post: This post has been hidden by a moderator.] For his government which appears here in this house is! So do not question me saw Scuttle :/ aff
bubulinas Posted June 24, 2011 Posted June 24, 2011 That is fixet thill in all interlude server so that dont work sry cuz i say it but you dont deserve Karma FOr 1thing what dont work!! Karma Fixet!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now