Jump to content

[SHARE]L2Walker Command Restriction


Intrepid

Recommended Posts

I've a few minutes of free time so i made this little patch to kill L2Walker :)

The idea came from L2JOfficial i just searched on the internet for Gracia Final Walker Commands :P

 

Credits to me Please give test results :)

 

V2.: after more research as i see all commands are uppercase so i changed them to uppercase

 

### Eclipse Workspace Patch 1.0
#P l2emu-game
Index: src/main/java/com/l2emu/gameserver/network/clientpackets/Say2.java
===================================================================
--- src/main/java/com/l2emu/gameserver/network/clientpackets/Say2.java	(revision 2030)
+++ src/main/java/com/l2emu/gameserver/network/clientpackets/Say2.java	(working copy)
@@ -15,6 +15,7 @@
package com.l2emu.gameserver.network.clientpackets;

import java.nio.BufferUnderflowException;
+import java.util.HashSet;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
@@ -29,11 +30,6 @@
import com.l2emu.gameserver.util.IllegalPlayerAction;
import com.l2emu.gameserver.util.Util;

-/**
- * This class ...
- * 
- * @version $Revision: 1.16.2.12.2.7 $ $Date: 2005/04/11 10:06:11 $
- */
public final class Say2 extends L2GameClientPacket
{
	private static final String _C__38_SAY2 = "[C] 38 Say2";
@@ -56,10 +52,19 @@
	public final static int BATTLEFIELD = 20;
	private final static String[] CHAT_NAMES = { "ALL  ", "SHOUT", "TELL ", "PARTY", "CLAN ", "GM   ", "PETITION_PLAYER", "PETITION_GM", "TRADE", "ALLIANCE", "ANNOUNCEMENT", // 10
			"WILLCRASHCLIENT:)", "FAKEALL?", "FAKEALL?", "FAKEALL?", "PARTYROOM_ALL", "PARTYROOM_COMMANDER", "HERO_VOICE", "UNKNOWN", "UNKNOWN", "BATTLEFIELD" };
+	private static final String[] WALKER_COMMAND_LIST = { "USESKILL", "USEITEM", "BUYITEM", "SELLITEM", "SAVEITEM", "LOADITEM", "MSG", "SET", "DELAY", "LABEL", "JMP", "CALL",
+			"RETURN", "MOVETO", "NPCSEL", "NPCDLG", "DLGSEL", "CHARSTATUS", "POSOUTRANGE", "POSINRANGE", "GOHOME", "SAY", "EXIT", "PAUSE", "STRINDLG", "STRNOTINDLG", "CHANGEWAITTYPE",
+			"FORCEATTACK", "ISMEMBER", "REQUESTJOINPARTY", "REQUESTOUTPARTY", "QUITPARTY", "MEMBERSTATUS", "CHARBUFFS", "ITEMCOUNT", "FOLLOWTELEPORT" };
+	private final static HashSet<String> WALKER_COMMAND_LIST_SET = new HashSet<String>(301);
	private String _text;
	private int _type;
	private String _target;
-
+	static
+	{
+		for (String WalkerCmdlist : WALKER_COMMAND_LIST)
+			WALKER_COMMAND_LIST_SET.add(WalkerCmdlist);
+	}
+	
	@Override
	protected void readImpl()
	{
@@ -105,7 +110,9 @@
			activeChar.sendPacket(new SystemMessage(SystemMessageId.DONT_SPAM));
			return;
		}
-		if (Config.BAN_CLIENT_EMULATORS && _type == TELL && _text.startsWith("FOLLOWTELEPORT"))
+		
+		String WalkerCmdlist = "";
+		if (Config.BAN_CLIENT_EMULATORS && _type == TELL && WALKER_COMMAND_LIST_SET.contains(WalkerCmdlist))
		{
			Util.handleIllegalPlayerAction(activeChar, "Client Emulator Detect: Player " + activeChar.getName() + " using l2walker.", IllegalPlayerAction.PUNISH_JAIL);
			// Todo : punish also target (?)

Link to comment
Share on other sites

by using this code it means that its a protection against walker?

 

L2Walker use commands these commands get used in the ALL chat channel(the white one)but you dont see it thats why its a bot that share if its working ofc i shared it for testing restrict these commands so when the walker try to use them the system punish him with a jail by default if you want to change it change that value IllegalPlayerAction.PUNISH_JAIL to another that you want.

Link to comment
Share on other sites

I try apply code to l2jsever but not work player on l2walker can auto accept party but can't FOLLOWTELEPORT

 

 

can you tell me whats the command of the auto accept party?

Link to comment
Share on other sites

Mmm.. good share.

 

I tried to use it on L2jserver, and i did some modification.

 

After This:

 

 "PARTYROOM_ALL",
                                          "PARTYROOM_COMMANDER",
                                          "HERO_VOICE",
                                          "UNKNOWN",
                                          "UNKNOWN",
                                          "BATTLEFIELD"
};

 

add this:

 

		private static final String[] WALKER_COMMAND_LIST = { "USESKILL", "USEITEM", "BUYITEM", "SELLITEM", "SAVEITEM", "LOADITEM", "MSG", "SET", "DELAY", "LABEL", "JMP", "CALL",
				"RETURN", "MOVETO", "NPCSEL", "NPCDLG", "DLGSEL", "CHARSTATUS", "POSOUTRANGE", "POSINRANGE", "GOHOME", "SAY", "EXIT", "PAUSE", "STRINDLG", "STRNOTINDLG", "CHANGEWAITTYPE",
				"FORCEATTACK", "ISMEMBER", "REQUESTJOINPARTY", "REQUESTOUTPARTY", "QUITPARTY", "MEMBERSTATUS", "CHARBUFFS", "ITEMCOUNT", "FOLLOWTELEPORT" };
		private final static HashSet<String> WALKER_COMMAND_LIST_SET = new HashSet<String>(301);

 

After this:

 

	private String _text;
private int _type;
private String _target;

 

Add this:

 

			static
	{
		for (String WalkerCmdlist : WALKER_COMMAND_LIST)
			WALKER_COMMAND_LIST_SET.add(WalkerCmdlist);
	}

 

After this:

 

if (_text.length() > 105)
	{
		activeChar.sendPacket(new SystemMessage(SystemMessageId.DONT_SPAM));
		return;
	}

 

Add This:

 

String WalkerCmdlist = "";
			if (_type == TELL && WALKER_COMMAND_LIST_SET.contains(WalkerCmdlist))
			{
	 			Util.handleIllegalPlayerAction(activeChar, "Client Emulator Detect: Player " + activeChar.getName() + " using l2walker.", IllegalPlayerAction.PUNISH_KICK);
	 			// Todo : punish also target (?)
			}

 

The last part in L2j server there isn't.

 

With this change, does the protection work?

Link to comment
Share on other sites

Mmm.. good share.

 

I tried to use it on L2jserver, and i did some modification.

 

After This:

 

 "PARTYROOM_ALL",
                                          "PARTYROOM_COMMANDER",
                                          "HERO_VOICE",
                                          "UNKNOWN",
                                          "UNKNOWN",
                                          "BATTLEFIELD"
};

 

add this:

 

		private static final String[] WALKER_COMMAND_LIST = { "USESKILL", "USEITEM", "BUYITEM", "SELLITEM", "SAVEITEM", "LOADITEM", "MSG", "SET", "DELAY", "LABEL", "JMP", "CALL",
				"RETURN", "MOVETO", "NPCSEL", "NPCDLG", "DLGSEL", "CHARSTATUS", "POSOUTRANGE", "POSINRANGE", "GOHOME", "SAY", "EXIT", "PAUSE", "STRINDLG", "STRNOTINDLG", "CHANGEWAITTYPE",
				"FORCEATTACK", "ISMEMBER", "REQUESTJOINPARTY", "REQUESTOUTPARTY", "QUITPARTY", "MEMBERSTATUS", "CHARBUFFS", "ITEMCOUNT", "FOLLOWTELEPORT" };
		private final static HashSet<String> WALKER_COMMAND_LIST_SET = new HashSet<String>(301);

 

After this:

 

	private String _text;
private int _type;
private String _target;

 

Add this:

 

			static
	{
		for (String WalkerCmdlist : WALKER_COMMAND_LIST)
			WALKER_COMMAND_LIST_SET.add(WalkerCmdlist);
	}

 

After this:

 

if (_text.length() > 105)
	{
		activeChar.sendPacket(new SystemMessage(SystemMessageId.DONT_SPAM));
		return;
	}

 

Add This:

 

String WalkerCmdlist = "";
			if (_type == TELL && WALKER_COMMAND_LIST_SET.contains(WalkerCmdlist))
			{
	 			Util.handleIllegalPlayerAction(activeChar, "Client Emulator Detect: Player " + activeChar.getName() + " using l2walker.", IllegalPlayerAction.PUNISH_KICK);
	 			// Todo : punish also target (?)
			}

 

The last part in L2j server there isn't.

 

With this change, does the protection work?

 

yes works

Link to comment
Share on other sites

Smart one, i've done the same with another exploit.

 

I didn't know that someone can find the commands of walker. Gj. Any luck with l2net?

Link to comment
Share on other sites

Smart one, i've done the same with another exploit.

 

I didn't know that someone can find the commands of walker. Gj. Any luck with l2net?

 

L2Net dont use commands

Link to comment
Share on other sites

How easily walker can be tracked like in this share... come on, such a simple way to get l2walker caught...

This share killed the only thing that walker was still good at...

So, you cant autocombat with it (cuz most servers have such protection now), nor use scripts, and u have to pay to use it (Means it needs cracking :D)

 

Summary:

You pay or struggling to crack something that lacks of basic bot options(autocombat/scripting).

 

GZ Intrepid you just killed L2Walker...

L2Net winz ftw

 

Link to comment
Share on other sites

How easily walker can be tracked like in this share... come on, such a simple way to get l2walker caught...

This share killed the only thing that walker was still good at...

So, you cant autocombat with it (cuz most servers have such protection now), nor use scripts, and u have to pay to use it (Means it needs cracking :D)

 

Summary:

You pay or struggling to crack something that lacks of basic bot options(autocombat/scripting).

 

GZ Intrepid you just killed L2Walker...

L2Net winz ftw

 

 

should i start to read about L2Net too ? :D

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • need to change it from database. Find the item with ID, and check the square stackable. After that need to find the item from txt file (maybe etcitem.grp) and make this <set name="consume_type" val="stackable" />.
    • Hello, please tell me how I can do this so that when I buy 10 D weapons, they will be in one stack. that's how there are 100 pieces in one nipple I already tried putting 10 pieces in one weapon in the store, but when I clicked on the TAB. they are purchased separately, 1 piece each, etc. Giran  Shop Galladucci  <npc>30097</npc> <!-- Galladucci (Weapon Merchant) --> <item>         <!-- Adena -->         <ingredient count="6680500" id="57" />         <!-- Heavy War Axe -->         <production count="10" id="91" />     </item> When I press TAB-Inventar weapons <!-- Heavy War Ax --> one each, and I need them to be in place x10
    • Is there a way to make it work on L2j Sunrise?  Is it possible to use other items to increse clan level like only donation coin as an alternate to the existing one.  Like this Clan lvl 1: 100coin, lvl2 200, lvl3 300 .... lvl 10 10000coin.   My base idea was, the clan members can buy a clan support coin from donation coin and auto deposited to the caln wh, and the leader leader can use this coint to level up the clan. Should i just forget it, maybe its possible? Im not great in programing, so I looking for help and, I hope some one like this idea.
    • Imbadon Essence server with the new High Elves update, don't miss the opening on April 19.   Grand Opening: April 19 Website: https://imbadon.com Discord Community: https://discord.gg/imbadon General Information and Features Rates: EXP x1, Adena x1 Update: High Elves Gearscore System Guaranteed Enchant System Custom Farm Zones: Imperial Tomb and Fafurion Temple Reworked Class balance Custom Solo, Clan and Party Instances Balanced stages with dynamic experience   Many players and clans are waiting for you on imbadon.com
    • Are you yearning for a connection that's both stimulating and intimate? Look no further than our premium live sex chat platform, where you'll encounter a diverse array of captivating women eager to engage in meaningful conversations and explore your deepest desires. Join our community today and discover the excitement of forging genuine connections with stunning individuals from around the globe.
  • Topics

×
×
  • Create New...