If you are writing a game you should think about cheaters and how to prevent them from cheating.
I don't think only the mmo multiplayer games but also singleplayer or "home-brewed" p2p mp games too.
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.
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.
Most speedhacks hooks gettickcount. I sorted out speedhackers by the following simple trick. I just tracking the time()-GetTickCount()
value and if the difference changes there is cheating.
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.
To sort out Cheat Engine at all, just check:
if (OpenFileMapping(FILE_MAP_READ,false,'CEHYPERSCANSETTINGS')!=0)
{
// Cheat Engine runs.
}
(a friend told me this, I haven't tested it yet.)
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.