title: How to prevent cheating in our (multiplayer) games?
body: <p>If you are writing a game you should think about cheaters and how to prevent them from cheating.</p>
  
  <p>I don't think only the mmo multiplayer games but also singleplayer or "home-brewed" p2p mp games too.</p>
  
  <p>When the game is based on completely a server-client architechture, the job is almost done I think, but there is also wall hacks or something else.</p>
  
  <p>I made my own p2p game and some time later cheaters appeared. They were only scriptkiddies who used cheat engine and tried speedhacks and memory hacks.</p>
  
  <p>Most speedhacks hooks gettickcount. I sorted out speedhackers by the following simple trick. I just tracking the <code>time()-GetTickCount()</code> value and if the difference changes there is cheating.</p>
  
  <p>Memory corruptions can be sorted out by keeping a hashed copy somewhere and moving it always and always rehashing it by a random value. Mismatching causes crash.</p>
  
  <p>To sort out Cheat Engine at all, just check:</p>
  
  <pre><code>if (OpenFileMapping(FILE_MAP_READ,false,'CEHYPERSCANSETTINGS')!=0)
  {
     // Cheat Engine runs.
  }
  </code></pre>
  
  <p>(a friend told me this, I haven't tested it yet.)</p>
  
  <p>These tricks sorted out the most cheaters. But there is of course more cheating techniques. 
  I opened this wiki, to discuss more another cheating techniques and the way to avoid them.</p>