Could you explain why this is, please?
Could you explain why this is, please?
To understand the state of anti-cheat, first you need the context that cheaters are perhaps the most prolific customers of popular online games. They are constantly buying (selling, and trading) accounts. Many developers are happy to employ weak anti cheat techniques like memory profile hashing (EAC, VAC) because they result in ban waves and buy waves, both of which can be controlled and planned. In the case of CS:GO, a ban wave is almost always immediately succeeded by a discounted sale on the game. There are perverse incentives to maintain the status quo in the cheat/anti-cheat war, and this is but one of them.
Take AimTux for instance: https://github.com/AimTuxOfficial/AimTux
This type of cheat, the techniques it uses to scan and alter memory, have been used in CS as early as 2001. This specific project has been open source since early 2016. Looking at the timeline of development in Counter-Strike history, extensive work and outsourcing has gone into improving the graphics, sound, and maps, with almost nothing being done to improve the game's immutability. Hacking is more prevalent, more trivial than it has ever been in the history of Counter-Strike.
The same fate is now true for the history of Quake. QC is likely to launch as a beta with NO anti-cheat, as there only have been vague announcements regarding a third-party partnership (aka, EAC) to achieve it. It is hard to understand if this is incompetence or on purpose, but either way, QC will be seen as a greenfield for competitive cheats, especially as Bethesda has no reputation for defeating hackers.
The truth is that it would take a complete rethinking of game engines to ensure competitive online play is fair. But developers know they would be preventing a line of reoccurring revenue. CS:GO has dealt with the proliferation of hackers by isolating them (offering "Prime" matchmaking that requires grinding to a certain level and tying your account to your phone number), but at the consequence of a lot of new/low-level players getting stuck with hackers.
This specific project has been open source since early 2016. Looking at the timeline of development in Counter-Strike history, extensive work and outsourcing has gone into improving the graphics, sound, and maps, with almost nothing being done to improve the game's immutability. Hacking is more prevalent, more trivial than it has ever been in the history of Counter-Strike.
Oh, come on, nothing was done and cheating is as easy as ever? And what do you mean by game's immutability other than that you can't cheat when looking at a screenshot?
Oh, come on, nothing was done and cheating is as easy as ever? And what do you mean by game's immutability other than that you can't cheat when looking at a screenshot?
Yes, this is exactly my point. Cheating is easier on CS:GO than it has ever been. There is currently no anti-cheat implementation for the CS:GO Linux client. Cheating on Ubuntu is as easy as `git clone aimtux.` No other counter-measures are needed.
More so, the client-server model CS:GO uses for their game networking is inherently insecure, and VAC (memory profile hashing) has proven so ineffective that Valve has tried to complement it with a crowd-sourced cheating detection (Overwatch) that lets players review and vote on suspicious players. That would be a good supplement to an otherwise effective anti-cheating system, but google "Overwatch bypass" and you will see that this is just as easily defeated. You could say that "Prime Matchmaking" (described in a comment elsewhere) is another concession by Valve that their software-based anti-cheat is completely ineffective, and that they are resorting to psychological measures and gameplay changes to curb cheating.
When I say "nothing has been done to improve game state immutability", I am saying that the same memory scanning hacks/techniques have existed in online FPS for 20 years. The client has too much control over their game state, and there is very little signing or checking of the client's game state.