Now if only they could more clearly communicate when games are playable offline.
Nice.
deleted by creator
I bought Sea of Thieves about 5 years ago. Recently, they added kernal-level anticheat (which does precisely fuck-all to actually stop cheating). While that is annoying, I’m not particularly worried because the studio that makes that game is owned by Microsoft, and like all Microsoft products, it was banished to my windows partition with the rest of the spyware.
Well… kernel level software can access everything on your computer. That includes other partitions and unmounted drives
Only if those other partitions are not encrypted. Sure, it could still wipe them - but that’s something that backups are good for, and something you would certainly notice immediately :)
Meanwhile at Epic…
“Uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh”
That’s quite a generous interpretation. If we’re being real about it, it’s going to be another “you assholes” email from Timmy.
That’s awesome! GTA V just screwed everyone on Linux! What a rug pull.
Adding kernel malware after the fact should entitle every single owner who requests one to a full refund no matter how long has passed.
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.
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.
That should be any update if you can’t play the previous one
Valve was giving refund when riot added the anticheat
Are there Riot games on Steam?
They publish their single player games to steam. Don’t know about any of their multiplayer ones though.
I believe those are games made by other studios with the League IP and published by Riot. AFAIK there’s no reason for them to have anticheat.
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.
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?
Don’t be pieces of shit and you won’t owe refunds.
In a just world people would be going to prison for it.
Not to be annoying, but can someone please ELI5 how kernel level anti-cheat software actually works, or link good resources where I can read about it.
It runs with higher priveleges than you have and can see anything that happens on your computer.
It also creates a giant additional attack vector.
Eli5: your PC has different access levels a program can run at. This prevents a malicious or badly coded program from completely fucking your computer. Kernel level anti cheat runs at the lowest level access that exists under windows. It can do basically whatever it wants to your PC, and if a backdoor is coded in (happens way more than you’d think), it gives malware basically total access to your PC.
I feel like they’re doing this because they are going so hard with steam deck. Regardless, good on Valve for doing this.
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.
Why is kernel-level anti-cheat even a thing?
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.
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.
I think the popular thing now is to mod your mouse so it clicks on the enemy player’s head.
You don’t need to modify the files to modify data in memory.
Because there are kernel-level cheats
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
Boo freaking hoo.
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 imply, cheaters would be cheating on their main accounts.
… Buuut you can still defeat Kernel level Anti Cheats.
https://m.youtube.com/watch?v=RwzIq04vd0M&t=2s&pp=2AECkAIB
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.
since the server validates everything anyway
Oh you sweet summer child.
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.
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.
I do everything important like banking etc on a separate device that isn’t my gaming PC. This has been quite liberating since I worry less things about invasive anti-cheat, drm etc. I realize not everyone wants to do this but it’s been a nice compromise.
That’s one way to do it, but I worry less about those things by not supporting them with my time and money.
I imagine the alternative way to combat kernel-level cheats would be asking player for all his game state data, validating it on a server?
Wouldn’t work on peer-to-peer and you’d have to do a bunch of unnecessary compute(recalculating every tick if player-generated data is possible according to game rules) but its the only way I can think of.
Most games already do this lol Cheats usually don’t do anything that is technically impossible to do on a vanilla client, just highly improbable
True, can’t think of how would you combat a cleverly written aim-bot.
That does not detect things like wall hack and aim-bots that don’t modify the game state directly.
Don’t tell the client what’s going on outside its vision, I suppose? Add a small buffer to compensate for latency, so wall hack would be more of a “corner hack”.
I mean sure, that is how some (mostly strategy and tactical) games do it, but for an FPS, figuring out where the buffer should be would be a programmers nightmare. I guess you would have to try to calculate all possible lines of sights a player could have within some buffer time (100-1000ms) and then all players that could in theory enter them… Add physics and it is practically impossible.
Also, corner hack is useful enough and it does not address aimbot. IMO the answer is some combination of human moderation and ability to play with “friends” instead of randos. E.g. you could ask people to like or dislike a player at the end of a match and try to pair players that liked each other in the past.
Or bring server browsers back and let server mods handle it.
I’ve rarely, if ever, had a bad time using a server browser.
A more modern idea. Put all the chesters into the same lobbies through matchmaking
Or bring server browsers back and let server mods handle it.
How will you handle competitive matchmaking? I agree for casual matchmaking though
A more modern idea. Put all the chesters into the same lobbies through matchmaking
Maybe moderm in relative termy but notnreally. One of the articles I could find on the quick is from 4 years ago: https://www.ign.com/articles/cod-warzone-cheaters-are-being-matched-up-together-as-punishment
Common valve W
I wish Valve would just ban them. It’s weird to have something that looks like pure malware in a Game store.
Luckily Valve seems to believe in freedom of decision for their users so they won’t do this. There are kernel level cheats so there are kernel level anticheats. Obviously anticheats are mostly lame in what they do so it would probably be better for them to not be kernel level. Still there are “pure malware” anticheats and Valve thinks it’s up to the user to decide if they want one, their job is to inform the user. And that’s the best approach here in my opinion.
This will be helpful for discerning if a game can run on the Steam Deck. There’s not many games that don’t have verification (Either by Valve or ProtonDB) but for newer games with anticheat it will serve as a good rule of thumb i imagine
I think that’s the main goal behind,
To avoid frustration for steamD owners and avoid a bad reputation of “all games are unplayable on it”Lots of games with anti cheat auto work under wine/proton. The most on top of my head example is Elden ring. Runs fine on my desktop with arch, as well as my steam deck.
Any program having kernel level access is spyware. This is getting ridiculous.
Vanguard anticheat…
However, it’s only being forced for kernel-level anti-cheat. If it’s only client-side or server-side, it’s optional, but Valve say “we generally think that any game that makes use of anti-cheat technology would benefit from letting players know”.
I will always love Valve for their ability to use corpospeak against corpos.
Your game has anti-cheat?
Wonderful!
I’m sure that always only results in an improved experience for all gamers, lets let them all know!
=D
How does vac play into all of this then …
VAC is not kernel level, because surprise you don’t actually need kernel level to do anti cheat well.
VAC games would just get the standard AC message banner, not the scary yellow kernel level warning banner.
… I am pretty sure VAC games have indicated on their store page that they use VAC for well over a decade.
you don’t actually need kernel level to do anti cheat well.
I’m sure you’re right, but VAC is one of the worst examples for that… I think whatever Blizzard does with Overwatch 2 is a better example.
I would love to see any kind of documentation that can somehow prove OW2’s AC is better than VAC, something that isn’t based on vibes or immediacy bias.
I sure wish there was some empirical study regarding the same too. I’m very much going by anecdotal evidence from myself and others right now
So … your previous assertion that OW2’s AC is superior to VAC was in fact just based on vibes.
Anti Cheat developers typically do not like to explain how exactly they work, how effective they actually are.
Their data is proprietary, trade secrets.
There will almost certainly never be a way to actually conduct the empirical study you wish for, save for (ironically) someone hacking into the corporate servers of a bunch of different anti cheat developers to grab their own internal metrics.
But that should be obvious to anyone with basic knowledge of how Anti Cheats work, both technically and as a business.
… None of that matters to you though, you have completely vibes based anecdotes that you confidently state as fact.
Please stop doing that.
When someone has no clue what they’re talking about, but confidently makes a claim about a situation because it feels right, this is typically called misinformation.
I mean, anybody could verify it by spending a few hours each on the respective games… But yes, any empirical data would be nice. For example, a study on the amount of blatant hackers found on lobbies joined in comparable ranks. Anyway, this isn’t exactly misinformation to anybody who has played both games at any decent rank. It’s unproved but immediately discernible information. Take that how you will, i don’t really intend to argue about this here. This kind of pointless argument is the worst thing about Lemmy.
It doesn’t run at the kernel level?