I was actually a developer on openKore and a certain Lineage 2 bot and I have helped with anti-bot measures too. This game currently fails at the most basic of measure’s though which is ensuring that content can actually kill a fully afk person who is just auto attacking. I’ve seen archer’s in kneel shot with a macro pushing “z” (while tanking 10+ mobs no less cuz mobs do no damage in this game) and there is no way that can be against the ToS (afk farming can be but macro use in keyboards/mice is common and punishing it’s use is just a big no).
My immediate strategy would be:
-
Reworking companions completely. Firstly they go away when dead or out of stamina. Secondly they should require player input to attack, even if it’s pushing an “aggressive mode” button.
-
Addition of a second type of “stamina tree” which gives a 100% attack/matk debuff when killed, respawns in the exact same spot unless it goes unkilled for 10+ minutes. It’s also super important that this “mob’s” data is randomized (such as mobid and whatnot).
-
Some solution to the games auto targeting. I can’t provide a good suggestion here but auto targeting/tab targeting is the biggest enabler of simple macro/autohotkey bots.
-
A right click report system which places a non-intrusive captcha on the side of the screen with a 2 minute timer (does not interrupt combat or controls, cannot be triggered more than once per hour. Obviously this system needs to detect if the person in question has input any commands 10s or so prior to the report so afk people can’t be trolled. Could also have a report weighting where as multiple false reports compared to positive reports effect the value of the report. Usually the effect of this method is being put on a watch list with your naming going up the list as you fail more captcha.
-
Server and Client side anti-cheat. Specifically .dll injection detection
-
Actively search for and create anti-bot methods for popular bots and yes pay the damn $10 to download that paid bot and see how it ticks.
These are all common methods of prevention that curb macro/autohotkey use but won’t stop any real bots. Actual bots have to be stopped proactively by searching for them and programming active countermeasures. This is actually seldom done and often the bot programmer can same day patch around it anyways (in openkore we dealt with this pretty much every patch).
The other problem is Free2Play. Banning botters use to be a great deterrent at $30-$75 a pop but nowadays you just bot 8-16 accounts with VPN/Winbox and keep your main on a separate IP.
In the end you won’t stop the best botters using private bots but you can make it extremely unsavory to the general population as well as keeping high level bots at bay since those running mass bots will have to deal with them constantly getting banned.
TL;DR: The only real way to stop botting is to create gameplay that cannot be botted. 90% of bots can be dettered with the above suggestions though and fear of ban is a huge detterent which is why I strongly support publicizing your bans. (Not names just numbers and when it happens).