Maphacking is impossible to prevent in a lockstep simulation. I would like the point out that you can sometimes find ways to reduce the risk though.
For example, in Warcraft 3, one popular way to defeat maphacks was to hide a malformed lighting event in the fog of war. If the client tries to render it, it would crash instead. Of course, this only worked for two reasons:
1) the client was proprietary and hence difficult to modify.
2) Most cheaters are not knowledgeable enough to make their own hacks, and hence don't know how to get around this
Of course this won't work at all in an open source game, since this is essentially exploting an easily fixed bug. In fact, once the method of maphack detection is known, hack authors can easily modify to get around it even if the client is difficult to modify, (for example in Wc3, one popular workaround is to only reveal the minimap).
Avoiding cheating in a multiplayer HTML5 game
20 replies to this topic