SySt3MGaM3RFr3aKs Posted December 9, 2009 Share Posted December 9, 2009 Hello Everybody, here is a simple Code. to Avoid Quest stucking and LAGS And more more Shits :) Bypass Flood Protection: ### Eclipse Workspace Patch 1.0 #P L2_GameServer_It Index: java/net/sf/l2j/gameserver/util/FloodProtector.java =================================================================== --- java/net/sf/l2j/gameserver/util/FloodProtector.java (revision 3695) +++ java/net/sf/l2j/gameserver/util/FloodProtector.java (working copy) @@ -50,7 +50,7 @@ // ========================================================= // reuse delays for protected actions (in game ticks 1 tick = 100ms) - private static final int[] REUSEDELAY = new int[]{ 4, 42, 42, 16, 100 }; + private static final int[] REUSEDELAY = new int[]{ 4, 42, 42, 16, 100, Config.PROTECTED_BYPASS }; // protected actions public static final int PROTECTED_USEITEM = 0; @@ -58,6 +58,7 @@ public static final int PROTECTED_FIREWORK = 2; public static final int PROTECTED_ITEMPETSUMMON = 3; public static final int PROTECTED_HEROVOICE = 4; + public static final int PROTECTED_BYPASS = 5; // ========================================================= // Constructor Index: java/config/options.properties =================================================================== --- java/config/options.properties (revision 3695) +++ java/config/options.properties (working copy) @@ -16,6 +16,9 @@ # If next switch is set to true every newly created character will have access level 200. EverybodyHasAdminRights = False +# Protected Server Bypass. +ProtectedBypass = 4 + # Setting for serverList # Displays [] in front of server name ServerListBrackets = False Index: java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (revision 3695) +++ java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (working copy) @@ -32,6 +32,7 @@ import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.L2Event; +import net.sf.l2j.gameserver.util.FloodProtector; import net.sf.l2j.gameserver.serverpackets.ActionFailed; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; @@ -64,6 +65,13 @@ if (activeChar == null) return; + + if (!FloodProtector.getInstance().tryPerformAction(activeChar.getObjectId(), FloodProtector.PROTECTED_BYPASS)) + { + activeChar.sendMessage("You cannot bypass so fast."); + activeChar.sendPacket(new ActionFailed()); + return; + } try { if (_command.startsWith("admin_")) //&& activeChar.getAccessLevel() >= Config.GM_ACCESSLEVEL) Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 3695) +++ java/net/sf/l2j/Config.java (working copy) @@ -588,6 +588,8 @@ /** FloodProtector initial capacity */ public static int FLOODPROTECTOR_INITIALSIZE; + + public static int PROTECTED_BYPASS; /** Allow Discard item ?*/ public static boolean ALLOW_DISCARDITEM; @@ -1259,6 +1261,8 @@ ONLY_GM_ITEMS_FREE = Boolean.valueOf(optionsSettings.getProperty("OnlyGMItemsFree", "True")); + PROTECTED_BYPASS = Integer.parseInt(optionsSettings.getProperty("ProtectedBypass", "4")); + ALLOW_WAREHOUSE = Boolean.valueOf(optionsSettings.getProperty("AllowWarehouse", "True")); WAREHOUSE_CACHE = Boolean.valueOf(optionsSettings.getProperty("WarehouseCache", "False")); WAREHOUSE_CACHE_TIME = Integer.parseInt(optionsSettings.getProperty("WarehouseCacheTime", "15")); 1Thousent -beep-ing Sorrys is is already Shared. Quote Link to comment Share on other sites More sharing options...
Coyote™ Posted December 9, 2009 Share Posted December 9, 2009 But won't this affect every single type of bypass in the server? :s I mean, you'll try to buff, and if you do it fast you'll get pwned ;s Anyway, added at the list. Quote Link to comment Share on other sites More sharing options...
SySt3MGaM3RFr3aKs Posted December 9, 2009 Author Share Posted December 9, 2009 But won't this affect every single type of bypass in the server? :s I mean, you'll try to buff, and if you do it fast you'll get pwned ;s Anyway, added at the list. Heheh i can't understand you.. When you Buff fast you mean? ?? You will get a message you Cannot Bypass So Fast. and the action will fail ( You won't take the effect ) Quote Link to comment Share on other sites More sharing options...
Coyote™ Posted December 9, 2009 Share Posted December 9, 2009 Heheh i can't understand you.. When you Buff fast you mean? ?? You will get a message you Cannot Bypass So Fast. and the action will fail ( You won't take the effect ) That's what I mean.. Look at this: if (!FloodProtector.getInstance().------------>tryPerformAction<---------------(activeChar.getObjectId(), FloodProtector.PROTECTED_BYPASS)) { activeChar.sendMessage("You cannot bypass so fast."); activeChar.sendPacket(new ActionFailed()); return; } It won't affect just quests to reduce the lag, it will affect every single action xD And it can become annoying :P But since it's a protection, it may be useful to provent a few bugs.. Quote Link to comment Share on other sites More sharing options...
SySt3MGaM3RFr3aKs Posted December 9, 2009 Author Share Posted December 9, 2009 lol, soz but This is Absolutely Needed for all server ( it won't fail every action you do, the fast actions :) ) With this you can Avoid SERVER POWN :( Quote Link to comment Share on other sites More sharing options...
Coyote™ Posted December 9, 2009 Share Posted December 9, 2009 lol, soz but This is Absolutely Needed for all server ( it won't fail every action you do, the fast actions :) ) With this you can Avoid SERVER POWN :( naaaah every single client packet can be used to right a script and pwn a server, but anyway :P Quote Link to comment Share on other sites More sharing options...
SySt3MGaM3RFr3aKs Posted December 9, 2009 Author Share Posted December 9, 2009 :@ :) You Don't Understand ::) This is a simple flood for Bypass ( Anti-Lag ) If i have time later i will share a FULL Flood Protection :) Quote Link to comment Share on other sites More sharing options...
Coyote™ Posted December 9, 2009 Share Posted December 9, 2009 :@ :) You Don't Understand ::) This is a simple flood for Bypass ( Anti-Lag ) If i have time later i will share a FULL Flood Protection :) Nah I know what this shit is, lol.. Half of IT + Gracia projects use this.. My point is that it may become quite annoying for other people, if the value is set to a number > 1 But as I told previously, it can become quite useful to prevent server crashes and other little exploits and bugs. Quote Link to comment Share on other sites More sharing options...
Sweetyass Posted December 9, 2009 Share Posted December 9, 2009 Very usefull thanks alot i added to :P Quote Link to comment Share on other sites More sharing options...
streamss Posted December 16, 2009 Share Posted December 16, 2009 # ServerBypass - server bypass flooding FloodProtectorServerBypassInterval = 5 FloodProtectorServerBypassLogFlooding = False FloodProtectorServerBypassPunishmentLimit = 0 FloodProtectorServerBypassPunishmentType = none FloodProtectorServerBypassPunishmentTime = 0 Quote Link to comment Share on other sites More sharing options...
SySt3MGaM3RFr3aKs Posted December 16, 2009 Author Share Posted December 16, 2009 # ServerBypass - server bypass flooding FloodProtectorServerBypassInterval = 5 FloodProtectorServerBypassLogFlooding = False FloodProtectorServerBypassPunishmentLimit = 0 FloodProtectorServerBypassPunishmentType = none FloodProtectorServerBypassPunishmentTime = 0 My Share, is for L2J - IL With no rework on FloodProtection. And is simple. Quote Link to comment Share on other sites More sharing options...
Coyote™ Posted December 16, 2009 Share Posted December 16, 2009 # ServerBypass - server bypass flooding FloodProtectorServerBypassInterval = 5 FloodProtectorServerBypassLogFlooding = False FloodProtectorServerBypassPunishmentLimit = 0 FloodProtectorServerBypassPunishmentType = none FloodProtectorServerBypassPunishmentTime = 0 L2jCT2.3 files have a few floodprotectors ready and of course reworked. So you can't compare IT fps and ct2.3 ones. Quote Link to comment Share on other sites More sharing options...
SySt3MGaM3RFr3aKs Posted December 16, 2009 Author Share Posted December 16, 2009 Agree. Quote Link to comment Share on other sites More sharing options...
Vago Posted December 18, 2009 Share Posted December 18, 2009 Fail, fail fail. It stops just the requestbypasstoserver packet. Not every single packet, rofl. For that you need a flood protector in every packet file. Nubz! that tryPerformAction is just the timer. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.