One day a colleague of mine found he could use Cheat Engine to scan the memory of the Flash application and change some values in order to get an upper hand and win PvP matches. Turns out the devs neither did nor verified the PvP battles server-side. It was all done client-side and after the battle the client was sending the server info about who won. A fix would require a complete rewrite of the game logic.
We had several weeks of "fun" beating the shit of everyone in our game world. The devs attempted to make some fixes - make it harder to load the flash file, obfuscated (Base64-encoded) the JSON data sent to the client - this was a funny one, since it was irrelevant. In the end, as the author here says, it was no longer fun, so eventually we stopped playing.
It turned out that when you queried the map it returned a ton more data than it displayed (data you would normally need to scout for). Also a ton of endpoints, like the one to load your own town's info, would also work if you used an enemy's town id (but with your auth key still). There was little to no verification/authentication blocks that I ran into.
I spent the next 2-3 weeks writing little CLI tools to talk to the API cultivating in a small suite of web-based tools that used assets I ripped from the game to display info (using the currency icons, using the building sprites, etc) until I got bored of the game and the reverse engineering and just walked away. It was fun for a little bit operating with perfect knowledge and using some of that info to put my thumb on the scales for myself and my clan but in the end it become more work than fun and so I stopped.
The engineering aspect of exploits has always been fascinating to me, and I sometimes mess with singleplayer games. But given how competitive and serious games get these days the idea of exploiting online feels a bit more than just silly fun.
I can see how this might read as a veiled dig but it's not. As one tinkerer to another, it's a rare opportunity to ask.
My friends would bring their computers to my house and we'd hack/cheat online games not because we were interested in the games, but because we were interested in the social experience of what we were doing. We weren't focused on the game; instead, we were focused on teasing & laughing with & at each other.
Actually super effective
but for most people, its because it provides some nice quality of life improvements, example:
- improved inventory management
- auto loot
- quest tracker
- enhanced HUD
I've never been a fan of "banning" users, make your server authoritative if you care about that kind of things, or better, listen to your players feedback
The process of modding a game and using cheats is the exact same: DLL injection, or MITM proxy for packets manipulation, so don't assume everyone has evil intentions only because of a open port ;)
Example of well intentioned modding community for Online games:
TrackMania: https://openplanet.dev/plugins
2. There are some cultures where cheating and bullying aren't considered bad things per se, but rather as demonstration of cleverness and power.
3. Some people develop proper sense of empathy later in their lives, later than when learn how to interact with the world, which is one of the reasons why teenagers in general are such pain in the ass. Some people never actually feel empathy, and simply don't care about other people.
BTW in real, physical sports, there's little room for "sportsmanship". It's all about winning, it doesn't matter how, and people with most medals are people who understand this the best. You can especially see this in sports where raw muscle power is more important than skill and technique, for example cycling. What makes you think that gaming would be any different?
the hunter becomes the hunter
With online games making things not fun for others is not as good. Unless it's really funny.
Cheating in those is fine. In fact, I think single player games should have cheats built in.
I got stuck on The Legend of Zelda: Skyward Sword because I just couldn't quite get the timing right to pull off some move needed to get past on of the bosses. I would have been able to do it when I was younger but apparently slowed down a little when I got older. I tried many times then gave up and never finished the game.
It would have been great to have a way to tell the game that I just cannot get past that point and have it then provide some other way to continue the game. Maybe nerf that boss so I could kill them. Maybe reveal a quest that will get me something equivalent to whatever I'm supposed to get for killing the boss.
It's competitive multiplayer games where cheating can be questionable.
If I wanted a job, I'd get one.
About this particular story - I didn’t care too much back then, honestly. Neither the devs I assume, because they knew there was cheating going on. I think they kept our accounts because we were spending handsome money buying ingame upgrades, boosts etc.