If I was trying to prevent cheating, I’d hash the relevant game files, encrypt the values, and hard-code them into the executable. Then when the game is launched, calculated the hash of the existing files and compare to the saved values.
What is gained by running anti-cheat in kernel mode? I only play single-player games, so I assume I’m missing something.
They can prevent you from running cheats that other anti-cheats can’t detect. For instance, they could modify the value in memory so that your calculated hash always succeeds even when it’s modified. This doesn’t stop cheating though; it just means cheaters have to use cheat hardware that exists at a layer that even kernel anti-cheat can’t detect.
And then a game gets updated so the hashes don’t match and uh oh, everything is fucked. Oh, but we can change the hashes of the files in the executable! Yeah, so can they. People modding shit into the executable is basically a given. Let alone the fact that you’d need to sit through a steam “validation of files” length of time every time you’d need to launch a game (because validation works exactly as you have described).
What is gained is that it has access to more information. Some cheats use an entirely different program / process that reads memory and outputs info that is available to the game but hidden from the player. Like a client needs to know where a person on the other team is to be able to draw their model. So you read that, you put a little box over where they are, and bang you have wallhacks.
What you proposed can very easily be bypassed without even needing kernel access by just editing the executable code that checks hashes to always return true
It’s not like there are so many other ways to cheat, actually used in many games with anticheats.
We should all stop pretending it’s necessary to put malware into your computer just so some company can claim they have no cheaters, which is never even true.
The point of anti-cheat is to create a substantial barrier for cheating. If you have to go the extra mile to run an external hardware cheat so as to be "undetected" then surely this means the anti-cheat is working. If it were as ineffective as you are imply, cheaters would be cheating on their main accounts.
Which means that you still have to end up relying on reviewing a player’s performance and actions as recorded by the game servers statistically via complex statistical algorithms or machine learning to detect impossibly abnormal activity.
… Which is what VAC has been doing, without kernel level, for over a decade.
All that is gained from pushing AC to the kernel level is you ruin the privacy and system stability of everyone using it.
You don’t actually stop cheating.
It is not possible to have a 100% full proof anti cheat system.
There will always be new, cleverer exploitation methods, just as there are with literally all other kinds of computer software, which all have new exploits that are detected and triaged basically every day.
But you do have a choice between using an anti cheat method that is insanely invasive and potentially dangerous to all your users, and one that is not.
Modern cheats for multiplayer games don't modify local files (or attribute values in memory), since the server validates everything anyway. They're about giving you information that's available but not shown in the game (like see-through walls, or exact skill ranges), or manipulate input (dodge enemy damage, easy combos). Those cheat can run in kernel mode (or at least evade detection from user mode), so the anti-cheat needs kernel mode to be more effective.
The server doesn’t validate shit, because that takes up CPU cycles on THEIR hardware, which costs them money. A huge part of kernel level anticheat is forcing YOU to pay the cost for anticheat, so they can squeeze a few more pennies out of it. And if your computer gets owned because they installed insecure, buggy malware on your system…? Well, they’ll just deny. After all, it’s kernel-level, how are YOU going to prove anything?
If server validation was still a common practice (as it should be) then cheats wouldn’t come in the form of speed hacks, teleportation hacks, or invincibility. The traditional thing in CS that was hard to prevent is aimhacks and wallhacks. I respect that those are hard to prevent, but they can be much less impactful in modern hero shooters.
The steam deck is also amazing, such a nice piece of hardware. I’ve been gaming on Linux for years and I’m surprised how well it works. Feels like a console.
Full agree. I do want some kind of policy for games that introduce anti-cheat both during early access and after release. Bricking a game you paid for should offer some sort of recourse.
I’d really like Valve to take an official policy on post-release changes that break games, but for what it’s worth they have not given me any hassle with refunds in these scenarios.
Yup. If it’s important enough that devs now have to add a disclaimer on the store page, surely devs shouldn’t be allowed to circumvent that by adding it later. Since SteamDeck customers are affected by this the most, it’s weird that this isn’t already a rule, particularly for games that are SteamDeck verified.
That’s a bit much… It’s just not possible to guarantee that as a developer
Software is a living thing, and anything useful is made up of layer after layer of ever shifting sand. We do our best, but we are all at the mercy of our dependencies. There are trade-offs, there are bugs we can do nothing about, and sometimes moving forward means dropping support for platforms that are no longer “cheap” enough to afford while also working on the game
I love this though. I also like the idea of requiring access to earlier builds.
These mitigate anti consumer practices - dropping support for a platform is more likely to be a technical trade-off or unintentional consequence though
I do agree with the part where software moves, dependencies yada, yada… I’m a developer myself.
But… this is different. They eliminated a perfectly working game, where they didn’t have to invest a minute of labor to get it working on Linux. The only thing they had to provide was the .so-file (for EAC) when publishing to Steam… Valve did all the work to make EAC compatible on Linux, yes, on user-level… but still… it fucking worked.
Punishing an entire userbase, because other assholes (assumably) used Linux for cheating is discrimination. Even if there were no cheaters at all… it’s still discrimination… because it used to fucking work.
Oh no, I totally agree with you that this is gross behavior - I just think your rule is too broad.
So we need more focused rules and mechanisms. I think disclosing anti-cheat on the store is a good mechanism, I think forcing them to provide previous releases is a good rule. That obviously doesn’t cover nearly enough, but in the current gaming environment I think it’s a good start
I don’t think that’s fair. I “own” GTA5 and don’t really care for the last… 8 years? what they add. I had the full content of my purchase. Why should I be able to gain money for this?
That’s exactly what Valve did. The automated refund system wasn’t available, but you could request a manual review and cite the added anti cheat; Valve was refunding those who did so.
To add to this, the owner of this site, gamingonlinux, was a mod on the !linux_gaming community until they were caught abusing their moderator powers. Then they deleted their account and complained on mastodon that it’s stupid design that mod logs are public. [Screenshot]
I sent email to oxenfree@nightschoolstudio.com and told them in no uncertain words that what they are doing is illegal, and asked how they are going to fix the situation.
If I can find time to, I’ll see about contacting the local consumer protection organisation.
I only own the game through itch.io, which I got through one of those charity bundles, and they contacted me by e-mail. Then people contacted GamingOnLinux about it, and at least right now, it seems to only be limited to itch.io.
EDIT: I actually do have the game via GOG as well, which is news to me, and I did not receive a similar notification about it.
No announcement or confirmation from Night School Studio regarding GOG, Steam, the Playstation Store, or the Nintendo eShop as of yet. My guess is they would give a decent warning announcement if it were to leave those outlets as well, but regardless I did download my copy from GOG to my backup drive just in case.
No reason has actually been given as to why. Most likely, this is coming from Netflix, who actually acquired Night School Studio back in 2021. Probably as they’re trying to pull in more people to play games under their umbrella directly on Netflix.
It’s sad that digital subscription services reserve the right to remove your subscription. If you are in EU, consider signing the Stop Killing Games Petition
gamingonlinux.com
Najnowsze