Firebug protection
Firebug is a debugging tool which provides viewing, monitoring and editing JavaScript/DOM web applications at runtime. This allows on-line manipulation of JavaScript run time variables, which can be used for cheating.
The only way to prevent doing so, is the so-called obscufating. Tools like YUIcompressor, Stunnix JavaScript Obfuscator or Jasob JavaScript and CSS Obfuscator turn the JavaScript code into a human-unreadable, but valid JavaScript code, preventing it to be hacked at run time.
The second thing is that you have to prevent that the user connects with a custom (or a modded) client to the Showdown server. To do so, let the client calculate a hash with its own source code and a randomized token which is provided by the server. Let the server check whether this hash is valid, if not, the client will be rejected.
However, you can still provide the open source client code, so that Showdown remains an open source software project.
Firebug is a debugging tool which provides viewing, monitoring and editing JavaScript/DOM web applications at runtime. This allows on-line manipulation of JavaScript run time variables, which can be used for cheating.
The only way to prevent doing so, is the so-called obscufating. Tools like YUIcompressor, Stunnix JavaScript Obfuscator or Jasob JavaScript and CSS Obfuscator turn the JavaScript code into a human-unreadable, but valid JavaScript code, preventing it to be hacked at run time.
The second thing is that you have to prevent that the user connects with a custom (or a modded) client to the Showdown server. To do so, let the client calculate a hash with its own source code and a randomized token which is provided by the server. Let the server check whether this hash is valid, if not, the client will be rejected.
However, you can still provide the open source client code, so that Showdown remains an open source software project.