Jump to content

Recommended Posts

Posted

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.

Posted

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.

Posted

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 )

Posted

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

Posted

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

Posted

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

Posted

# ServerBypass - server bypass flooding

FloodProtectorServerBypassInterval = 5

FloodProtectorServerBypassLogFlooding = False

FloodProtectorServerBypassPunishmentLimit = 0

FloodProtectorServerBypassPunishmentType = none

FloodProtectorServerBypassPunishmentTime = 0

Posted

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

Posted

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

Posted

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.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • I’ve worked with teams spread across a few regions, and having a group that actually connects tech, security, and digital assets made things smoother for us, especially during cross‑city projects. I liked how straightforward their setup was, and tapping into their digital assets side helped us speed up a couple of integrations. If you’re scaling across different markets, it might be a handy option to look into.
    • Hello guys, I’m Morientes, owner of the servers you might know: L2Lionna / L2Pandora / L2Ramona / L2ERA / L2Zaken / L2Classic / L2Peri / L2Alice / L2EVA / L2Dragon and more. Over the years I’ve been developing Lineage II projects starting from High Five, then Classic, and later Essence. I started with High Five, which I turned into a very well-tested server with over 100 openings. My peak was around 2800 players online, and the server was stable (no crashes). With every opening there was always something to improve, fix, or optimize, and over time it became more and more stable. I still have all SVN commits from all those years, I can show everything via screen share if needed. The reason I’m selling is not because of the quality. The files are solid and ready to run any type of server (any rates). The problem was on our side;  we didn’t have a good long-term strategy for reopening servers as a team. About Classic: I started from 2.0 (Zaken version) and gradually upgraded it up to 4.7 Kamael. Each chronicle upgrade came with a lot of improvements, especially in terms of stability. About Essence: I started from the very first version and developed it up to High Elf (Protocol 464). Starting from Protocol 286 (Secrets of Empire), I worked with PTS files and extracted a lot of deep fixes. I unpacked AI.obj with full functionality, used official sniffers, and whenever something wasn’t clear, I checked directly on official servers and sniffed packets or data. For every chronicle update, I basically sniffed the entire official server, zones, monsters, events, mechanics, everything. From Chronicle 388, Reborn approached us to buy our files. The current L2Reborn Essence is based on my work! I can prove everything. I also have their updates integrated into my pack. I stopped development after High Elf mainly because my main developer was constantly looking for other opportunities. It became difficult to maintain a stable team, especially with everything going on (including the situation in Ukraine at that time). Eventually, I couldn’t find a reliable dev to continue working on Essence, so I decided to step away from this market last year. Now I’ve decided to sell everything. What I’m selling: All necessary tools (sniffing, geodata build, pack upgrade tools, game client parsers, L2Wiki parser, interfaces etc.) Full SVN repositories with all commits (Essence / Classic / High Five) All edited clients I still have All my data I can also include on sell an official character that is active daily, ranked, end up gear, and has access to end-game zones!!! useful for deep sniffing where normal players don’t have access. If someone wants to buy everything, I prefer a full deal and I will transfer full ownership. If needed, I can also sell parts separately, but honestly I’d prefer to sell everything to one team that can continue this project — this has been my work, my hobby, my baby. Important: I don’t offer further updates. The files are sold exactly as they are. I will, of course, explain everything you need to know to continue working on them. Contact: Telegram: @AlexAlexey Discord: .primsl2
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..