Amidst all the community/nationality drama, I’d like to bring up a more serious matter: (potential for) cheating.
So, first, a little bit of background:
I am one of the many players who ended up stuck in the quest “Release Goddess Salue”, wherein a barrier prevents players from talking to the NPC and thus progressing the main questline. Some players managed to bypass this obstacle through the use of Ice Walls, spamming buttons and luck. Eventually though you’re not allowed to teleport back to the Goddess and so it becomes much harder to progress.
While I know IMC is working on this bug, I decided to research it further and came upon an interesting discovery: a bloke managed to talk to the NPC by editting his in-game position using a hex editor.
This being a closed beta–combined with my passion for computer security, I felt obliged to test this out and to my horror and surprise it indeed works.
Your in-game coordinates are stored in your system’s memory, and with an hex editor and 5 minutes of your time you can find their specific addresses. These values can be modified and that’s instantly reflected in the game client: your character appears instantly at the specified coordinate values. What surprised me though was the fact that the server seemed to be OK with my character having instantly teleported 100 units of distance into a place that isn’t even supposed to be reachable by players (err technically it is supposed to, but it’s bugged so yeah). Furthermore, I was allowed to interact with the NPC there (I can finally resume my progress!) which means this isn’t just a “client-side” thing.
Now the reason for wanting to address this is simple: in its current state, it’s incredibly easy to write a program that interacts with the game client to allow cheatish things such as teleporting around, modifying your speed (I didn’t test this out specifically but if you can teleport around, you can move faster than usual, just use your brain…) and what not.
I’d like to share ideas with the IMC staff and the community. Of course there’s always the possibility of adding client-side security measures, including third-party software. But we know those can often be bypassed with little effort. A server-side implementation provides a more robust security against cheating, but can easily degrade user experience by requiring a tighter synchronization between client and server. In other words, lag would have brutal consequences on gameplay, which currently is not the case.
So, opinions?
