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.
Which part of this infers a threat to privacy? You need to think of this too- The system is running Windows, which is a black box and they could be doing whatever they want and you wouldn't know about it.
So the crazy idea is this: don't tell the client systems where the avatars are located. Maybe your system says "I'm here, looking this way", and all you get back is a bunch of data for drawing textured triangles. Triangles might be part of another player's avatar, or a wall, or who knows what; but your system doesn't know of what it is either, so there's nothing for an aimbot to go on to do its thing. It's more data, and more work for the server, but maybe it's not TOO MUCH more data or work for the server, and it'd be cheat-free.
(Unless you write some spiffy image recognition software, but hey, at least we get some advances in AI out of the deal that way...)
Those who fail to understand communication protocols, are doomed to repeat them over port 80.
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?
There are a class of problems that can most easily be solved by fundamental changes in human behaviour. This will never happen, unfortunately.
http://www.penny-arcade.com/comic/2004/03/19/
I am one of many. My idea is not unique, nor do I expect my voice alone to sway you. I speak in a chorus of opinion.
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.
Comment removed based on user account deletion
Y'know...I've seen some real STUPID responses before...YOU WIN!!
Cheating is NOT an integral part of the game. The playing field is always level? ROFLMAO go play against a 12 year old that has an Aim bot....tell me how level that is. You just wanted to use the word aggregate in a sentence didn't you? You didn't care the entire sentence was horse crap.
Superior technology...what a load of crap that is...setting it so the aim is always deadly and that it cycles through every weapon you own and fires them all within a nanosecond? How do you combat that? MORE CHEATING.
Your ignorant.
Take your "aggregate" and shove it kid.
Superior players don't MIND the rules.....its the rules that they have to make because of idiots like you...that we mind.
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."
Amen brother.
I still hope they will squash cheaters because in my personal view they are scum comparable to child molesters. I would not want to have the "open platform" PC abandoned for games because of them.
It would be a shame to see more platform balkanization or a joypad-only environment for all the games. The moment a closed platform is exclusively established, running fees will come running, I know that. And I actually like to have one notebook for everything, gaming, working and internet. It's extremely convenient not to forget very portable.
This is Valve we're talking about here, who has the least-intrusive DRM scheme on the market short of not having any at all. Any of their games can be played in Offline Mode on Steam (and since it's a digital download, no disc required), and you can install your games as many times as you want. They're also not the kind to "inflate the price of entertainment". They packaged Half-Life 2: Episode 2, Portal, and Team Fortress 2 (all brand new games at the time) with the original Half-Life 2 and Episode 1 and sold the whole thing for $50, and Steam also has fantastic sales fairly often. Finally, they've promised that should Valve ever go under, they'd shut off the DRM restrictions on all their games so the lack of Steam service wouldn't affect them (and Valve's privately traded, so no need to worry about shareholders or whatever putting a wrench in those plans).
Basically, Valve is the most reliable PC game developer out there.
"Hardware failures and software bugs."
What hardware "failure" looks like a wire grid and wallhack on screenshots? And why should I as a server admin care if you unknowingly or willfully used this bug?
What software "bugs" will have a detection signature like the latest aimbot? Which software bug will produce a registry entry and ..\system32-fallout like a wallhack?
We know how likely an md5 hash collision is with hack X and legitimate program Y. Not very. With an increasing number of wallhacks and legitimate programs, we will see hash collisions sooner or later, but I'm not really convinced unless you have dozens of very very rare but innocent programs on your system that no one else has AND anyone else having them is also banned.
Think of the online arena like a dance club: you paid for entry and yet the bouncers can throw you out at the first hint of trouble. And all other guests are cheering and complimenting them for doing so. A few dimwits, idjits and griefers can just cause so much fallout in such a short time that even drastic and unwarranted measures are usually applauded by the audience.
Face it: bouncers and anti-cheat admins don't have the resources to assess every single case pondering over preponderance of evidence. It would twentyfold the cost of operating a dance club or game server and most customers are not willing not pay for a Constitution-class jury system.
If the choice is having "1 collateral damage for 50 cheaters banned" or "0 collateral damage for 25 cheaters banned" - or a huge increase in paralegal costs for the server admin, I will opt for the collateral damage. War is not fair anyway.
Cheats such as Aimbots, Bunny-Hopping and Speed-hack are fairly obvious and easy to detect. The results of such cheats are visible within the game. Other cheats, such as Wall-hacks and Radar-hacks, are more difficult to discern and can only be detected by observing player actions over time. Such cheats, however, are enabled by the game engine itself. The engine provides the data of what is behind the wall, or what are all the player positions to each client. In normal mode, the game does not present this information to the player. The cheats utilize the available data and presents it to the player providing them an unfair advantage. If the engine did not provide this information to the end-client PC, these cheats would not be able to work. The engine needs to be designed so that this "extra" information is not made available to the end-player.
This is a very real problem.
When I used to play CounterStrike, I played nearly all the time on a server that was run as a demonstration of Qualcomm's CDMA wireless technology. (I plug them because it was hands-down the best server I ever played on.) I was probably only an average player, but was a bit below average on that server. There were about a dozen players (who were regulars) whose skill felt orders of magnitude better than mine. They would go several rounds without dying, and often rack up impressive kill:death ratios. I would often spectate them (after death or even for a whole round) so that I could learn what they did better than me, what mistakes they avoided, etc. They weren't cheaters. (or if they were, their cheats made lots of mistakes, and weren't reliably accurate ;))
Fairly frequently, some new (to the server) players would get beaten repeatedly, so soundly that they would accuse the person of cheating. I assert that it's human nature for people to want to believe that an opponent is a cheater, rather than simply that they are better than we are. There was even one evening where I was accused of cheating ... which was amusing because normally my scores were mediocre, but I had just had three rounds of never-before and never-since seen luck. (The CS_Rio gods were with me, I guess.) *I* know I wasn't cheating. :)
As a player, I want to play on a server with people who are just a bit better than me, that I can learn from and that challenge me to improve. I would not enjoy playing on a server with a cheater, and nor would I enjoy playing on servers where players are just So Much Better than me that I am no threat to them.
After MANY years (10+) of playing various FPS'es and being the victim of rampant cheating, I decided to pay for a one month subscription to callofdutyhacks.com for COD4 WAW2.
Essentially I had a schadenfreude-esque experience tormenting others with my rampant aimbotting for about 5 days. It didnt take long for the novelty to wear off and I completely stopped playing the game at the end of the 5 days.
Being the victim of cheating removed any enjoyment of playing FPS style games I had. Victimizing others for a brief period while I was using a cheat framework ended up being just as empty an experience.
You must be too young to remember the original Quake 3, then.
Learn how to adjust your FPS in the console to make yourself move faster than other players!
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.