I switched from Windows to Linux during the whole Vista debacle back in 2008. For basically ten years I was out of the PC gaming scene. I fucking love Proton and what its done for Linux as a gaming platform. Now I play (almost) everything on Linux, no sweat. The only things I ever need my Windows partition for anymore are things with those shitty anticheat platforms that just assume you’re a cheater if you use Linux. Cause, you know, Linux scary.
those shitty anticheat platforms that just assume you’re a cheater if you use Linux. Cause, you know, Linux scary.
To be fair, the people at the cutting edge of modern computing are statistically very likely to be Linux users. Therefore it’s not entirely unreasonable to have some prejudice against Linux users.
But as a sweeping measure these anti-cheat measures are absolutely unacceptable. The only other explanation is that they just don’t want to bother with the market share still being low compared to Windows.
Personally, if a game requires anti-cheat, it’s probably not a game I’d enjoy playing. Not a big fan of competitive gameplay. But for those that are, this needs to stop. Especially with all the new bullshit Microsoft has been pulling in Windows lately.
@KrokanteBamischijf @hperrin But it needs to stop in a way that keeps those competitive games fun...
- Trusted Computing-based solutions
- Don't tell the game anything-based solutions...
- ??
Trusted-Computing requires a more locked down system than any distro provides, and also (effectively) everyone going along with some MS-controlled standards for TPMs and so forth.
Ignorant-Games approaches perform terribly.
What else ya got?
A few options in my personal order of priority:
@sugar_in_your_tea Private servers exclude MMOs as a class of game. That works well for death-match style (or BG3 style) 4-player games, but doesn't work for 30-300-3000 people games.
Anti-cheat server-only allows too many cheats. There's already enough trouble distinguishing someone using wall-hacks from someone with good headphones in a game that does 3d-spacial-sound... trying to do that on the server side ... just won't work. Same applies for other ways of increasing the costs if detected
Private servers exclude MMOs as a class of game
Why? There are some massive Minecraft servers (thousands of players), and Palworld is self-hostable (closer to other MMOs), so I honestly don’t see the issue. You’d have a different set of characters on each server, but that just increases the risk for cheaters who get booted.
wall-hacks
Part of anti-cheat is not sending the data cheaters use to cheat in the first place. A wall hack is possible because the client is aware of what’s beyond the wall, and that doesn’t need to be sent for anything that’s not visible. That increases computation on the server, so games tend to send more game state than is necessary for smoother gameplay.
Same applies for other ways of increasing the costs if detected
There should be a mix of elite players among the “tribunal” for determining whether someone is hacking. Players report other players, and the server should log enough to recreate the play session so moderators can review the gameplay to make a determination. A lot of cheating is pretty obvious to detect algorithmically, so this would be in a “review” scenario where it’s not so cut-and-dry.
But this takes a lot of resources, which cuts into profits, so I think studios tend to just throw on anti-cheat so they can shift blame (hey, anti-cheat didn’t catch it, we’ll forward your report). But I do sincerely believe it’s feasible for serious competitive games where real money is on the line (e.g. tournaments for prize money and whatnot) without clientside anti-cheat. For more casual games, a higher error rate is probably fine.
@sugar_in_your_tea Your response about wall-hacks is my "don't tell the game anything" comment. It's really really damn slow. You typically don't want to do frame-by-frame determination of if an opponent is just in view or not (because that's a full render), so you send the info to the client once it's possible... at which point the client knows.
Even if the game isn't hacked, the video pipeline "knows", and hacks have moved to be outside of the game space (thus the move to kernel-based)
@sugar_in_your_tea FWIW, my biases here are "competitive games only on consoles, effectively (console may be a linux box with full TPM lockdown). Everything else lives w/o anti-cheat, because no YOU CAN NOT HACK MY COMPUTER"
I'm just aware that there is some nuance here, and the problem is actually a hard one.
Yup, “don’t tell the game anything” is slow, I’ll give you that. But anything that exists on the client can be hacked, even on a completely locked down console. People still cheat all the time with anti-cheat enabled, and I don’t expect that to change just because they put it in the kernel.
frame-by-frame determination
A couple thoughts:
The data would need to be sent a few frames ahead of time for performance reasons, so there’s risk there, but if someone can wall-hack within a few frames, that’s a good indicator that they’re cheating anyway. I’m no game dev, so I’m probably missing some significant considerations here, but it seems like this is feasible, just expensive when the alternative is a much less expensive anti-cheat service.
And I agree with your reply, this is a hard problem to solve. I just think game companies are pushing the problem onto anti-cheat devs instead of really trying to solve it themselves in a privacy and security respecting way because it’s cheaper and easier to offload a large share of that liability.
@sugar_in_your_tea PvP, some modern shooter ... someone's hiding behind a wall across a plaza. Depending on the exact geometry of the wall, they may or may not be visible... that will be more than a few frames.
The predictions/etc in use today to handle on-line latency already make players feel like someone's cheating (and are already used to cheat. Cause the server to miss the updates where you moved through enemies line-of-fire and only get the ones where you shot them).
@sugar_in_your_tea (Agreed that kernel-level anti-cheat is a giant "no dawg" from me. And completely ignoring standard "never trust the client" security considerations by placing a rootkit on the players system? Shouldn't that be literally illegal?)