Bots are hard to counter from the start. Hack prevention tools, all that won’t stop them. They are companies and they come prepared.
However they are easy to spot by players. All you need to do as a developer / admin / game master is actively ban them. You could even make it into a spectacle.
For instance you find a bot that’s stuck and roaming around. You file a report with a video, since the game has a one button record. Just filming this bot walking around like a nut case having default looks etc.
Game master sees it, comes to find bot, jails them.
RO was funny how they dealt with bots. They had an actual jail map. In this jail map no skills worked. Even back then the developers realized botting is impossible to stop, so what did they do? They jailed the bots. The bot wouldn’t know it was jailed and would basically stand idle for weeks in a jail cell with no way out.
Eventually the bots grew smarter and would just logout / delete their accounts as soon as they detected they got into the jail. The devs countered this by ever changing the maps name in patches.
In some games like ArcheAge when a GM found a bot they would publicly toy with them with global messages saying how they drowned 5 bots in the ocean before banning them.
But yeah, I think what devs need to do is not constrict the base game so it’s an inconvenience to the players, that’s really bad. You need to get some active game masters banning bots on sight. It’s all about PR. Bots hurt games, but are an evil that can’t be fully purged. Just make sure you never allow bots to get to the max level. It’s really annoying for someone who has spent months of their lives playing legit with restrictions caused by bots to see a bot higher level than they are leveling in their zones.