Quote: "This, to me, is the mark of a broken game. Has anyone experienced something like this in BF2 or any other multiplayer FPS? "
Counter-Strike it's where AimBot originated from, before that there were other programs; but nothing could really compensate for 56k lag. Most of the time that made it more challenging to fight with, so much so that many people who were crap at games just didn't bother playing.
Remember back in my Quake days, used to add to the script +MLOOK for playing online yet most didn't. It made a WORLD of difference playing, and often was on by default at competitions.
best way around aimbot is to basically keep ducking and jumping; go from one extreme to the other. atleast that was how to beat it back in the last 90s. probably become more sophisticated now.
Another popular cheat/hack was called ShatterBot. It was a complimentary one to AimBot and just as popular, basically what it did was sent fake positional data out where your player model would shift between several positions very very quickly. (i.e. each data packet = different position), most games still compensate for lag by taking position every quater of a section.. the rest of the time the position updates are literally just to server side.
So on the server their character would be basically randomly moving around in a circle; so if someone tried to shoot them a shot would have to be damn lucky to hit them. Yet client side, it would look like they were standing still or moving normally.
You could offload an entire clip in to someone and nothing. People still use this quite a bit on Counter-Strike which is why I only play against those I trust are playing fairly.
I don't mind getting owned by a camper, but when some bastard is cheating just to get kills the game becomes unenjoyable.
Another variant of ShatterBot, is some artificial lag program. As you might know in some games if it doesn't recieve an update for a while it considers someone "lagging" as such makes them pretty much invunerable. That app takes advantage of that so again you could offload a clip into them, when you're reloading they'll then take their hand off the key that stops the updating (usually long before the timeout) and bam. Headshot .. Dead!
Anyone who can't play these games based on their own skill, should not be playing online period.
Best way around these cheats and hacks often is to actually have each client play the games seperate as if they were single player; then have the server simply pass the data between, but also act as an referree or onbudsman. By this I mean if someoe was shot one end - it then checks with the other player if this is what really happened. If they don't match up, then it declares it a cheat.
Basically it's like an incident happening, and the police getting two stories. They have to match up for it to be true, otherwise one of them bastards is lying
To my knowledge there are no games that really employ this method, which is a shame because now broadband of 2Mb+ is the standard; there is enough speed to achieve this quite easily.