Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 556
Jeremy L Avatar asked Apr 26 '10 03:04

Jeremy L


2 Answers

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.

like image 178
ambertch Avatar answered Nov 19 '22 01:11

ambertch


Instead of sending scores from user, send actions to server side everytime and calculate scores at server side

like image 32
YOU Avatar answered Nov 19 '22 02:11

YOU