Valve's Battle Against Cheaters
wjousts writes "IEEE Spectrum takes a look behind the scenes at Valve's on-going efforts to battle cheaters in online games: 'Cheating is a superserious threat,' says [Steam's lead engineer, John] Cook. 'Cheating is more of a serious threat than piracy.' The company combats this with its own Valve Anti-Cheat System, which a user consents to install in the Steam subscriber agreement. Cook says the software gets around anti-virus programs by handling all the operations that require administrator access to the user's machine. So, how important is preventing cheating? How much privacy are you willing to sacrifice in the interests of a level playing field? 'Valve also looks for changes within the player's computer processor's memory, which might indicate that cheat code is running.'"
Team Fortress is overrun with cheaters and Valve seems completely unable to do anything about it.
Women are like electronics: you don't know how damaged they are until you try to turn them on.
I don't know that doing anything client-side will work, for the same reason that DRM doesn't work. I guess it might deter the casual cheater, but then there's also the possibility that raising the bar will entice people to break the anti-cheating code just for the challenge.
The long-term solution I think is to design the game in such a way that the server can verify clients are playing by the rules. If wallhacks are a problem, the server could send fake data to the client telling it there's an enemy hidden behind a wall (when it's really not). Legitimate players won't be aware of this, but it would alter the behaviour of cheaters and thus they could be found out. Aimbots could perhaps be detected by supplying an invisible model that a legitimate player wouldn't be shooting at. Essentially, give the client bogus data that won't affect the experience of legit players, but will out cheaters.
Maybe it's easier to keep changing the client-side checks fast enough that it's not worth the time to work around, but I don't know if that kind of strategy is working in practice. Who will pay for the constant development?
Then you made a poor platform choice.
The PC in general is an open platform because you can easily and trivially run whatever code on it you want and peak and poke the memory as you see fit, even if the OS itself is closed.
If you want a gaming platform where cheating is not an issue, you need a closed platform, like a console, where it is much easier for the developers to detect and prevent cheating, if there is even any in the first place. Despite being 5 years old this year, whilst it has suffered some game logic cheats which are easily patched, the Xbox 360 has yet to be prone to a single aimbot or radar cheat for example.
PC's are great for general usage and single player/cooperative gaming, but not for competitive gaming where cheating is largely an unsolveable problem without closing the platform, which goes against what PCs are great at. Even assuming in a few years you move everything server side and just pass images to the client there's still the possibility that people will write pattern recognition apps, to recognise enemies and send control messages to aim at them like any other aimbot.
Despite what the league players would have you think Valve's games are not generally played with (or designed for) less than 16-24 people, and 32 is not remotely uncommon. What your suggesting effectively doubles the load on the server AND each affected player.
Plus most cheaters would not readily be detectable this way. Aimbots tend to be activated by the player right before firing after the player manually gets pretty close to the target on their own, and wallhacks are generally used as an advantage in information rather than open combat.
A bullet may have your name on it but splash damage is addressed "To whom it may concern."