I think “king” may be overstating it somewhat. While it’s true that there are some big titles with anticheat that won’t work on Linux, there are quite a few major titles that work fine, and in practice I’ve been able to use Linux as a gaming system for awhile now without issue. I primarily play Overwatch, The Finals, ARC Raiders, Rocket League and Age of Empires.
I think the success of the Steam Deck has really helped the situation, and the titles that are broken because of anticheat are not important enough to me to keep a Windows system around.
Linux has working EAC. Any software not working on Linux is a Policy decision by the seller, not lacking features on the buyer.
Oh and rootkit level EAC? Expect that to go away on Windows too when MS finally gets sick of Crowdstrike and that ilk causing self inflicted Denial of Service attacks on whole economic sectors.
Good. Microsoft should have absolutely no legal right to stop people from fixing, breaking, or otherwise modifying their own computers, including by installing buggy "security" placebos.
The anticheat needs to be server-side to be credible, i.e. the game should be designed to only provide the information that client needs for fair play. I know this isn't easy, but it should be the goal.
Client still needs to know coordinates of opponents and other objects that could be in their view within the next 200ms, and once the client knows those, a cheating client can reveal opponent positions. You can't enforce that server side without adding huge mandatory lag to all clients.
~~No, with a correct implementation, the server will only send positions of clients actually visible (taking occlusion and view frustum into account). It's complex, but so are modern engines. It's totally doable.~~
EDIT: sorry, I completely misread your comment. You're right about the latency issue, but that's also an issue with client-side prediction implementations, which provide a small window in which all client packets are trusted, rather than just the latest ones (eg to be able to rewind when computing collision detection in a fast paced shooter)
The real challenge to solve is botting, which includes things like aimbots, macros the negate recoil, etc. It's basically impossible to solve this, regardless of operating system or hardware (eg external cheat peripherals)
I see it as a moderation issue, which is unavoidable. Just focus on building tools to help users report cheaters rather than try to automate the whole thing via flawed anticheat spyware, and missing out on potentially the next big PC gaming platform in the process.
> aimbots, macros the negate recoil, etc. It's basically impossible to solve this
It's not. But it is much more expensive on the server-side, i.e. paid by the company, so the real solution of mainframe + thin clients is not one that companies want to implement. Instead, they rely on computing on the client model, which is what opens up the door to cheats.
E.g. Aimbots and Recoil suppressors are non existent if it's the server calculating trajectories and telling the clients "your bullet hit exactly here (X, Y, Z), go draw an impact texture in there". But as said, that means a lot of computing done on the server. Not cheap, but given the $millions invested so far in anticheat tech over the years, one has to wonder if it wouldn't really be cheaper, after all...
But you can detect serverside (at least probabilistically) if a user is abusing it to their advantage.
Some Valve guy gave a great talk about their cheating detection a while back; I found it incredibly impressive: https://youtu.be/ObhK8lUfIlc (can't comment on their effectiveness these days, haven't played CS in a long time)
The problem with building a secret profile on players based on undisclosed metrics is that could be flagging legitimate programming tools as "risk". What if a programmer who likes to hack and mod other games decides to play a Valve game? You don't know how their "risk" score is calculated.
For example, I've seen other programs refuse to run if you had Sysinternals Procmon running, or various standalone debuggers. Would you be deemed a "risky" user if you used tools like that?
Having watched that video, their newer ML-based anti-cheat does not seem to rely on inspecting running processes. It is based on data surrounding when a gun is fired in the game (a certain number of ticks before and after), and the classifier is initially trained on human-reviewed "killcams." But the classifier probably takes into account other data too, for example new Steam accounts with only CS in it would probably be classified as "high risk." On the other hand someone who has had their account for a long time and has paid games in it is far less likely too cheat.
That video is a fraud as far as I can tell. Playing cs in high elo's is more than 50% of the matches with cheaters. I played with a team of cheaters one time that was even blackmailing the opposing team for real money, and they got it, and blackmailed again, than they disabled cheats. This is a whole industry. That was one of the last times I played. I actually encountered the same cheaters a few days later.
This is begging the question. Games on linux lack kernel anticheat because linux isn't very popular. Once linux is popular enough, then they will figure out a way to do anti cheat on it in a way that they consider acceptable. Valve already considers VAC good enough, because they want to support linux. Anti cheat on windows works the way it does because that's what's available on windows, on linux they'll figure out some other way.
Recent attacks on Ubisoft and Rainbow Six Siege have brought some interesting concern about the wisdom of having basically a kernel backdoor to the whole system installed and ready to be accessed in case of a company breach (not that this particular attack could allow that, but future scenarios might very well convert the user base into a botnet)
Not sure how much gamers with a modicum of awareness (already a minority) will care, but the risk is there. We could paraphrase that famous line to say that "The 'S' in 'Kernel anticheat' stands for Security".
Anticheat blocks Linux deliberately. Its whole point is to check if you're running an unmodified copy of Microsoft Windows. Linux is not one, so unless it gets really really good at deception, it won't pass those checks.
It doesn't just check if a cheat process is running, because obviously cheats know not to let themselves be discoverable that way. Heck, there are hardware cheats now that simulate various PCIe devices but with extra sneaky DMA operations. (I bought one because it's a cheap way to have an FPGA in my computer)
It's a political problem, though. They don't pass Linux because few people don't buy their games just because they refuse to run on Linux. If people did do that, they'd have to change the anticheat, no matter the consequences. Probably higher cheating, since there is no true official blessed unmodified Linux system to compare against.
And until Linux implements similar abstractions in the Kernel akin to Filter Drivers in Windows, Linux will never have a proper anticheat.