Do Anti-Cheat Systems For Online Games Work?
Mr Wriggle writes "There is nothing worse than playing your favorite game online game, only to have someone frag you and your teammates blatantly using cheats. As many of you are aware, there are various Anti-Cheat systems available i.e. Punkbuster and Cheating Death. PunkBuster comes bundled in some games and is mandatory to play certain games on certain servers. I would like to ask the Slashdot community whether you think these systems work well, or do they cause more problems than they solve? Or is there a solution that the anti-cheat developers have overlooked? Additionally, is the locking-out of CD keys of people caught cheating the reason why more and more viruses attempt to steal CD keys of such games?"
I only play on Enemy Territory servers that use Punkbuster. I have had no problems with them (except when my client refuses to update so I have to manually update it, no big deal)
I'd say the cheaters on these servers are few and far between, if one is discovered the admins are quick to remove them
"Some things have to be believed to be seen." - Ralph Hodgson
To a degree...
I play SOF2 on a PB enabled server... in fact, I search exclusively for those servers... I've noticed a couple of cheaters so far, but by far, it seems to work out quite well..
Same goes for Enemy territory - not very many cheaters, and generally makes the game 'funner' to play...
One thing I *did* notice was that when the 'sync gameplay' was enabled (I think thats what it's called) that it would slow everyones FPS down without really telling anyone about it... so people would have laglike issues on a BRAND NEW machine - but other than that no problems at all...
As far as bannign Invalid CD-Keys - what a waste of time....
Lately I've been playing Enemy Territory mostly, and only on PunkBusted servers. For a while, wallhacks were fairly common in ET (when you're spectating someone, detecting wallhackery is fairly easy) - but I haven't noticed a cheater for a long time now.
PB seems to work as advertised, and has never given me any problems. If it's letting some cheats through, it's not enough that it would affect my enjoyment of the game. If someone cares more about the outcome (or their performance), I suppose they may want a more foolproof tool - but PB is good enough for me.
Let's not stir that bag of worms...
bzflag already exists. There are in fact cheat servers out there. Pretty fun game too :-)
/* oops I accidentally made a comment, sorry */
The first goal of most games is to be 'playable' over broadband with moderate latency. In order to accomplish this certain tradeoffs must be made. These are not bugs.
The 'long' jump in Quake is hardly a 'cheat' that PunkBuster is designed for. PunkBuster purpose is to remove client mods that give you auto-aim, radar/enemy position info, and enemy texture/highlighting type cheats. All of these involve modifying the client.
Yes, the client knows where all the players are. Yes that is a weakness. No it can't be fixed easily, because we have to deal with 60ms-200ms one way latency. That requires some think ahead, which means giving the client more info than they should have. If this was any other type of software than a FPS game we could suffer performance for security.
Programs like Punkbuster use arms-race philosphy to try and stay ahead of the cheat makers. Far less time goes into defeating a specific cheat, then it does to build that cheat. One small change to the pb client and away goes 2weeks coding work of a cheat-maker. PB tries to guarantee the client environment, including memory, and what they see on screen. The pb screen captuing util is the best defeense for an admin.
Having said all that, it's logically impossible for them to do this 100% effectively. You can not control and audit access the the system memory and devices on modern day motherboards. Anything you have running to check this can be modified.
It will take technology such as Pallidum to make true 'anti-cheat' and balanced playing environments. I welcome the day game programmers can trust the client and leverage caching techniques that require pervasive knowledge of the game world. It will make games faster and more enjoyable for a broader range of peple in geographically disparate areas.
-Malakai
A Dragon Lives in my Garage
The issue is that you can just as easily use this trick to bypass protection methods like CD and PB. And, much like antivirus software, even small changes of existing cheats/viruses will usually elude the fingerprint checks of countermeasures.
punk busters is supposed to keep america's army players in line, and it pretty much does as much as it can.
however, it doesn't help that the developers decided to include a 'dev mode' or something that's basically providing a bunch of built-in cheats even in the latest 2.00a version.
Just yesterday I was playing AA, and PB kicked someone off the server for cheating. The message was something about a skin hack.
So I know that PB works, because I've seen it in action.
It does seem to have gotten better, but sometimes I can't tell if someone really is that good, or if they're cheating. Of course, I don't like being shot round corners by cheaters; bots can also look like cheating players - they are very accurate over long distances, which normal players generally aren't.
One giveaway is ping: it's fair to assume that if someone has got a significantly better ping than you, they are going to get the shots in better. I've noticed that my playing is much better with a ping of 80 than with one of 120 - somehow I miss less the faster my ping is. For many, changing from an old modem to isdn/cable/dsl has at least as big an effect as any cheat would. I therefore think it's fair to suspect someone of cheating when they keep on fragging you although they have a 200 ping and you have 100.
With that said, I don't play on many servers that require anti-cheat programs like punkbuster, although the newer (steam) versions of HL and co seem like they might now have anti-cheat stuff built in.
-- Steve
The only alternative is to use a hardware driven, trusted computing set of keys that validate that *the* hardware is there and that a real 'punkbuster' program is running. Although, in theory, if you can hack this key, you can get around even this, although the key can be made sufficiently difficult so that you will need centuries to crack it and you lack the ability to physically pull apart a CPU.
Working against any cheat is publicity. Most hackers do not make the cheat for their own purposes but because they WANT publicity (I am guessing about the 'most' part - I have no imperical evidence). And once a cheat is publicized, Punkbuster, etc. can break it.
Of course, we have a the hackers who only share with their clan or just use them themselves, but their impact on the average player should be limited.
ProQuake is a modification to the original Quake (NetQuake, not QuakeWorld) code to provide some client-to-server verification of maps and models.
I'm curious if anyone here has heard of any attacks on this cheat-free method?
Thanks
-molo
Using your sig line to advertise for friends is lame.
The main reason there are cheats is that the game clients know too much. In ideal world, the game clients would be completely stupid and would only know what's necessary (for example, in FPSes, the client would only know of the players that are in the player's view).
However, implementing things in "dumb" way is not efficient or particularly lag-friendly, so clients have to know a lot of things. The more secure you make the client protocol, the slower and more unreliable the game becomes.
In particular, the clients know where each player are, and where they're apparently moving to.
Also, some clients aren't too efficient what comes to drawing the picture; the client tells graphics card to draw whatever objects are nearby, whether they're hidden behind other objects or not.
So, now there's two ways to exploit it: Either mess with the client by analyzing what the client knows (calculate optimal firing direction and moment by analyzing at the player positions, etc etc) or mess with the display drivers (make all polygons on the screen translucent, enabling people to see behind walls).
That's some of the basics. =)