Jump to content

[Share] Server Bypass Protection.


Recommended Posts

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 )

Link to comment
Share on other sites

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..

Link to comment
Share on other sites

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

Link to comment
Share on other sites

:@ :) 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.

Link to comment
Share on other sites

# ServerBypass - server bypass flooding

FloodProtectorServerBypassInterval = 5

FloodProtectorServerBypassLogFlooding = False

FloodProtectorServerBypassPunishmentLimit = 0

FloodProtectorServerBypassPunishmentType = none

FloodProtectorServerBypassPunishmentTime = 0

Link to comment
Share on other sites

# 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.

Link to comment
Share on other sites

# 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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock