Search code examples
javascripthtmlanti-cheat

Does HTML 5 Gaming use Canvas and Javascript? How to prevent cheating in this case?


Does HTML 5 Gaming use Canvas and Javascript? How to prevent cheating in this case?

For instance, what if a user uses GreaseMonkey or some tool to alter the script so that it just reports a perfect game score to the server every time?


Solution

  • I'll answer your question with a question of my own: Why don't we see rampant cheating in World of Warcraft? Or any other MMORPG for that matter?

    The answer is because the game manufacturer keeps all game state serverside.

    • If I'm the client and I'm in charge of reporting damage done to the enemy, or my location, yeah of course I can cheat and tell the server I did 1 million damage.

    • On the other hand if the server keeps track of state and I only inform the server of changes to state, all I can do is tell the server "I moved left" or "I fired my gun" <-- anti-cheating is built into the architecture of the game

    Of course, you did bring up the point of "perfect actions" - the case would be an action game, a shooter, etc. where objects could be identified and the "perfect action" send. And to that I'd say: this sort of cheating already exists, really. And it's existed for many years. So I don't see how anything changes just because these are javascript games.