Creating a Game Bot using PyAutoGUI, OpenCV, and Pytesseract — Part 3
I learned a lot about automation with Python and how the game works, but I didn't want to end it yet. I lost access to all my previous characters, so I had to start from the beginning. But it wasn't a complete beginning.
I knew that fully relying on a dungeon bot wasn't enough. I wasn't really profitable using just one character. I wanted to fully utilize the fact that I was using a bot, so I was partially okay with low profits. Still, I wanted to fly under the radar. That meant finding another aspect of the game to automate.
So I got to work. First, I wanted to check how I was banned. I heard about IP bans, and the game didn't allow VPNs (probably because they anticipated that banned players would try to use them). I was prepared to set up a proxy server using a friend's internet to have a more "natural" IP address.
I also read about HWID (hardware ID) bans, where specific components like the motherboard are targeted. There were at least two ways to deal with that: use another computer or use a HWID spoofer that fakes your hardware signature.
To my surprise, when I checked, I found out only my account was banned. So I registered a new account — and the final act began.
A big part of the game was destroying Metin stones and killing bosses. Most players did this to complete quests, but some focused entirely on this to win weekly prizes. I thought about automating stone destruction. The idea was for the bot to behave like a human, and since this wasn't the most profitable activity, I hoped to avoid admin detection. I didn’t aim for top 3 rankings — that felt too risky.
Automating this was hard. I had to account for randomness and create a plan for the bot's behavior. Prototyping was quick, but fine-tuning took time. Eventually, the bot could detect logout, read messages, send WhatsApp alerts for errors, and more.
At some point, I decided it was good enough. Then I tried scaling up. I managed to get two older PCs to run the game and bot. To simplify setup, I created executable files instead of installing Python and all libraries on each machine.
By then, there wasn't much left to automate. I decided to create a new character and play just for fun. I stopped flying under the radar and started competing weekly for top ranks. I managed to keep two characters in the top 3 almost every week. I also ran dungeons when it was profitable.
Admins didn’t check me at all. My message-checking system was useful when players messaged me, usually to ask if I was selling the weekly title. Sometimes, players sent messages to try and demoralize me — but they didn’t know it wasn’t me grinding 30 hours a week. I’d just log out to avoid accusations and come back later, often between 20:00–04:00.
Eventually, I got bored. There was no challenge left. "Completing the game" just meant keeping my PC on — so I didn’t bother anymore.