15 comments

[ 1.7 ms ] story [ 20.5 ms ] thread
The missing perspective here is Overwatch isn't very effective. Blantant cheaters are easy to find but anyone with half a brain can use certain types of cheats to remain easily undetected. The only solution valve has to stop cheaters is automatic detection through software which they do with VAC. However, "private" cheats (essentially paid for and only shared with small few, likely never advertised publicly) are notorious for never being detected.

Both may reduce some cheating but overall CSGO remains one of the most cheater infested games. The latest approach by valve is something called Prime matchmaking, where you must verify your identity with a phone number in an attempt to reduce throw away cheating accounts. This further divides the user base into smaller groups.

Many of the problems with cheating stem from the data passed between client and server. Though many of these design choices have advantages for other client performance/features, they allow cheating to prosper.

As a side note, third party match making such as ESEA use a more extensive and supposedly more effective anti cheat software. These services are usually paid as well.

> Many of the problems with cheating stem from the data passed between client and server. Though many of these design choices have advantages for other client performance/features, they allow cheating to prosper.

Could you tell us more? What is one of these design choices?

Not the OP, but I assume they mean that it sends things like the other players' locations, which can be found by cheaters to be seen with map hacks and such.
Yes. This sort of cheating is mitigated in DOTA 2 by not sending players' locations until they actually leave the fog of war.
It got a little better a while ago, where they only distribute player locations to clients that have to be aware of that player due to either line of sight or being able to hear them. Faceit has a more aggressive system where player locations are only sent once you see them, which sometimes, in high-latency scenarios mean you suddenly see then appear somewhere without having them seen moving there. It's all a trade-off, I guess.
Doesn't this also mess with tactics such as being able to hear someone coming? I don't play CS:GO, but I do play Enemy Territory (id Software, 2003) and hearing when an enemy is coming is a crucial part of being able to get the first shot and kill someone.

Of course you could expand the limit of when to send data to the point where you can hear someone, but that wouldn't defeat short-range wallhacking, which is just about the only kind of wallhacking that's useful.

engines build on top of Quake/idTech3 (valve source,CoD) send only location of players in PVS (potentially visible set) and PHS (potentially hearable set, basically one leaf over from PVS). This means Wallhack will see everyone you can hear, that means every player on small maps like cod4 Showdown.

World of Tanks BigWorld on the other hand (python!!!lol, they finally started porting it to C after >6 years ..) only sends location of players that are in your direct cone of view. Combined with low server tick time(10Hz? for comparison Battlefield now has 120Hz servers), parts of client still in python and sub par graphical stack results in enemy tanks popping in the middle of open field, or 1 second after you peek over the corner.

They even had forced delayed spotting because game client didnt cache enemy tank models and displaying it immediately would result in engine stall/fps drop. It only took 6 years to go from terrible to bad:

http://worldoftanks.eu/en/news/pc-browser/46/version-916-spo...

So much junk seems to go into games to make sure people don't cheat. I wonder how much faster/responsive a network based game could be if it was just assumed no one is cheating. I'm sure more things could be done client side, like all player vs AI engagements.
Every player could use the same pseudo random number generators with the same seed and predict the same random result instead of downloading it from the server.
Sure, until any player gave any input whatsoever. How are you going to predict player actions?
Cheating is prevalent in some kinds of games precisely because you cannot send everything over the network and have the server be the only truth of the game. For things like Civilization is trivial to have the server verify everything every player does, since latency is fairly irrelevant. For shooters where you get only 16 ms of processing (and data sending) time per frame, or even less (for 128 tick), this approach couldn't work. So they kinda already assume no one cheats because they have to. CSGO validates bullet hits server-side but that's about it (which means the client cannot just say 'the bullet hit there', something which in the past allowed cheaters to ignore bullet spread and recoil).
CS:GO is the most tragically neglected of the major e-sports. It succeeds due to its source material.

Case in point: Overwatch is neutered. CS:GO competitive servers have a tick rate of 64 (that is, per second), which is already considered too low by many players, given that CS is a twitch shooter. Overwatch halves that tick rate to 32. So - investigators use footage at half the resolution (so to speak) of the actual game. This can both make cases harder to prove and make split-second decisions look like cheating, since half the data is missing.

I heard overwatch is 20.8 tick rate
Overwatch isn't really meant to catch those cheats where your unsure at all. It is really only for the blatant cases which presumably make up most of the cheats players encounter in games as well. Things like slightly better aim would be pretty impossible to prove even with the same tick rate as the game. Look at the reddit witch hunts against professional players when they are thought to be cheating. Those accusations are usually false, and also often based on the raw replay data from the game.

Besides, it can already be hard to detect certain forms of cheating, e.g. if one player wallhacks and just relays info to their team. Even when watching the whole team in overwatch, instead of only a single player, this sort of thing is hard to see. Tick rate won't change that either.

I spend a lot of time going through Overwatch cases. Simply put, unless the case is obvious, you really cannot say anything other than innocent.

Also, games where a team has a "full stack" or a lobby of 5 friends all communicating, a player could easily look like they're wallhacking when actually their team just has great communication. But, this information is not conveyed to the reviewer.

But one thing that Overwatch does have is the ability to convict someone of griefing. I have fallen foul of these once and faced a 6 week ban from the game. Overwatch does work but the person must be very blatant with their cheats/griefing.

Personally, I think the single most effective action Valve took against cheaters was the introduction of "Prime accounts". Players who link their mobile number to their account can choose to only queue into games with other players that have done the same.

This almost creates a "low priority" queue. If you find yourself part of this, it's generally accepted that you may be against hackers and griefers.