Steam games will need to disclose kernel-level anti-cheat on store pages
gamingonlinux.com
gamingonlinux.com
They had the balls to add a mandatory kernel extension into a game that I've bought 10 years ago and that I wish to play in single player only.
I find it utterly ridiculous. As usual, piracy would have been the superior experience.
(Rockstar really should’ve made this a separate launch option like other games do)
This is what happens when a producer's/product manager's cherished KPIs come before UX.
In their mind, adding a toggle in the launcher would lead to lower engagement and player acquisition.
We, the players, fail to recognize how our gaming experience can be enhanced by using social features like leader boards, guilds, or in game chat. We are not enlightened.
Think about all the fun and exciting connections you'd miss out on if all the social crap was off by default or in an easily accessible place.
I'm honestly surprised it's a command line option. My guess is that the requirement originated externally.
I did get GTA V for playstation, and indeed you can play single player without the rockstar account. Probably Sony forcing them to allow that, I don't think they did it out of the goodness of their hearts.
However, every time you start the game you get a screen pushing you towards multiplayer. And the single time I did click on some multiplayer related options, they spammed my playstation system notifications with 'there are new events in GTA online' even in weeks I didn't start their title at all.
So... good bye, rockstar. Your games are getting too big for their own good anyway.
> These companies are all run by CEOs who got their MBAs at Darth Vader University, where the first lesson is “I have altered the deal, pray I don’t alter it further.”
Option 1: subscribe to 7 streaming services which each have some unpredictable subset of games
Option 2: go to some website that has all the games
(At least while they stay indie… Not long ago I was reinstalling Minecraft after a long break and found out that Microsoft has the balls to demand that I verify a phone number to play a game I bought more than 10 years ago. Like with GTA V’s rootkit, they don’t care if you want to play single-player—once you’re locked out of the loader, you’re locked out and no human will help you.)
AFAIK, there's fewer cheaters on PlayStation current-gen than on PC, and I don't have to worry about anti-cheat kludges corrupting my "rig".
Using a pirate copy now might avoid the rootkit, but it would not send a message to the publisher as they'll not see a difference between not getting any money for this new install and not getting any money for this new install. Any difference in a numbers-playing stat, if the pirate version doesn't call home to be counted in those, is likely not significant.
Would a Windows10-11 user be able to tell there are "rootkits" embedded in installations, without looking at the (optional) disclosures made available now on steam ?
In other words, what guarantee is there that if i'm buying a game from Steam, or say GOG, that there's no quasi-malware riding along with the game install ?
if you're worried about hidden stuff I'm not sure how you could tell
Surely this is foreshadowing the future of GTA VI and will have the same problems of being unplayable.
This won’t provide all the same capabilities as cheats that hook into the game process, such as wall hacks, but it would be possible to build a super human aimbot with such an approach.
We already have external “radar” cheats that use the game stereo sound to give the direction that a certain sound(such as footsteps) came from.
This already exists. You can stream your screen to another machine running image recognition and pass your mouse input through a controller that injects auxiliary input (there are off-the-shelf products like kmbox, you can make your own as well).
However, it is very important to understand that only a tiny percentage of cheaters in games end up being determined enough to go through hoops to purchase hardware for it (it's much more expensive and not as simple as getting instant gratification by double clicking on an executable). It's basically considered a win to push people into needing go to such lengths to cheat without getting banned.
Yes. But, it's a game of cat and mouse. Anticheat always is. There's not been a need go to the level of "there are X players who report having a Razer deathadder, which we've validated as having a DPI range of Y-Z. With your OS settings, it's not possible to have achieved that with that mouse therefore we suspect you of cheating". But we're probably there now.
> More likely they work with heuristics that try to detect super-human mouse movements, precision/speed-wise.
It's heurestics all the way down. You're unlikely to be banned for AHK+OBS, but a heurestic on what you're doing with the combo might ban you.
Today. That will change when it's a cheap off-the-shelf product sold on Amazon. I almost wish we were there already to get rid of this KLA nonsense.
Not to mention, every KLA game I've played has had cheaters regardless. Circumventing the software seems to become a game unto itself for those people.
The card then sends memory data to a second computer (dirty) which has the cheat software installed but no rootkit anticheat. The dirty computer can then read all the memory it wants, look through walls, shows enemy health, etc. but on a second computer and monitor. Pretty sure there’s hardware to blend both monitor outputs, though most people do two monitors I believe.
I thought about something like this before, but its non-trivial to train an image recognition system to do this, let alone the commands to mimic it through hardware, its quite an engineering feat in itself.
Nobody really cares because most players are honest and play to have fun.
Far easier to do a MiTM on the network traffic and recreate state in another process.
Still easier to clone memory pages used by the target app, or use hardware that allows dma.
Did you just imply my headphones are a cheating device?
More seriously, I've heard these type of devices already exist.
They hushed me all the time because "someone's coming". Still a fun experience - to win for a change. Don't have to add that my role was more as a decoy then anything else.
Second step?
Ban games with kernel-level anti-cheat.
It is not acceptable on Linux. Apple will also not accept that shit further, that said Apple lost relevance in gaming with Mantle and the M-Processors (both mean a lot of incompatibility). And Microsoft is regretting every choice in this regard:
https://www.theverge.com/2024/9/12/24242947/microsoft-window...
But that is a usual pattern. Microsoft makes bad decisions and everyone suffers. Even Linux. Their is a reason why closed-source kernel modules mark Linux as tainted, the system is not trustworthy.
It is the duty of game developers to secure their games themselves. Not manipulating user devices. Forcefully doing stupid and dangerous things because you cannot achieve your task in a safe why is not a reason.
Games companies don't turn to KLA out of laziness, it's out of absolute necessity, especially for games like FPS' where it's impossible to fully secure the game using pure server-side methods. Machine learning has been tried, it's too prone to false positives and misses more subtle cheats that still negativel impact the the player experience. Anti-Cheat used to exist purely in user mode and then, guess what?, cheats moved into the kernel where they couldn't be detected or stopped. Anti-cheat had to follow in order to remain effective.
The alternative was conceding the space to cheaters and watching games that players love, and that required massive resources to develop and maintain, degenerate into a hellscape of cheating that real players refuse to play.
Note that I like matchmaking, specifically skill based matchmaking, in some games and at some times but completely ending server browsers and community run dedicated servers was a mistake.
Another example: I was an anti-cheat admin in a major league about 20 years ago. I am quite confident a lower double digit percentage of banned players were innocent - it was simply too hard to get enough competent people for doing manual checks (you'd have to be really good at the game yourself to confidently tell what might be intuition and what cant while evaluating pro players with money-prizes on the line).
So while I appreciate that sentiment, and maybe you found THE one community where all that really worked out for you, but it was by no means the "best alternative" from where I am standing.
This was a key reason for Valorant's success. Anti-cheat is a necessary evil to make online games fair. I think if someone wants to suggest otherwise, they would need to demonstrate a superior solution. Companies truly do not want to be in the business of messing with your kernel, so if another solution exists—one that is actually superior in cheat detection and prevention—without a kernel extension, they'll do it.
I'll provide another example of why companies would rather not do it unless they have to. Kernel extensions usually require a system restart. Requiring a restart adds a huge drop off point to a conversion funnel and costs the game some amount of players who may have stuck around, and some players, like the ones here who are upset about it, won't even bother because they are outright opposed. Games would gobble up a solution that worked and didn't have that baggage.
It may be required for anonymous online matchmaking. That is only one possible type of online gaming model even if the gaming industry wants to pretend that community run servers were never a thing.
I refuse to believe there is only one simple honorable objective when it comes to KLA. I simply do not care if companies can't figure out how to stop cheaters without it. What about our experience? You might complain about cheaters, but what if I can't even play the game because of KLA?
Played plenty of recent MP games on Linux just fine and cheating was never experience breaking.
If hackers have to limit themselves to behaviour that looks like real skill, it's kind of unimportant to the games community if they're cheating. Cheaters only ruin the experience if they're obvious to the player.
Finally, something like Overwatch in CS, together with paid employees and PUBLIC bans of high paying cheater accounts (including hardware bans) would create a chilling effect, further forcing cheaters into hiding.
> "Ban games with kernel-level anti-cheat."
> "It is the duty of game developers"
It's hilarious that people actually think the publishers will ever have two hoots to give about notions like that. FWIW I agree we'd all be better off without those things but the entitlement to believe private businesses should run on your personal whims and that developers have a "duty" to make things only as you prefer is gobsmacking. I am always left in wonder what commenters like this think about themselves.
I don't think, however, that "publishers would use disabled children slave labor if they could" is really an argument you ought to make.
Every publisher that's greedily taken their products off Steam in an attempt to recuperate Valve's fee has sooner or later come crawling back because they weren't able to make a half usable platform to sell their stuff on. Valve holds a really large influence over the industry.
While KLA is fundamentally flawed (DMA and even CV based cheats are becoming more popular as a result of KLA and they still give cheaters a significant (but now even harder to detect) advantage) it solves the problem of obvious and even most kinds of subtle cheating.
Attempting to detect cheating once inputs are being sent to your server (which is within your domain of control and on which you can implement non-intrusive anti-cheat) is very difficult to do reliably. An inexperienced player will make slow, delayed inputs. A highly experienced player will have reactions which are an order of magnitude faster (and in many cases faster than the speed of thought because of muscle memory). If you want to make a working but no longer detectable cheat, all you need to do is spend a bit of time and effort programming in human limits of reaction time into all your code and making sure all inputs look realistic (again, more limits).
At the end of the day, you can make a cheat which gives you a significant advantage without it being actually detectable by any statistical methods on the server.
At this point you might attempt to reach for AI but undoubtedly that will require human oversight or you will get false positives.
So, in summary, even if you were to design your game around server-side rendering and server-side input processing, forcing your players to effectively play over a remote desktop connection (which is impractical for any fast paced competitive multiplayer game due to latency issues but let's pretend those don't exist for a minute), you will still get cheaters with snap-to-head or recoil compensation or auto-fire making a significant impact on games. Heck, there's even the idea of using sounds (which need to be pretty accurate so human players can utilise them to determine where enemy players are) to implement a rudimentary wallhack.
This is just the nature of FPS games and why games companies end up implementing KLA for these games. The way to make an FPS game un-cheatable is to make a different game where cheating is more difficult or impossible just by nature of the format.
Want FPS without cheaters? Encourage people to do DIY matchmaking again, DIY server hosting and DIY administration. Except that "this doesn't scale". Neither does human review. Neither does server side rendering. The core reasons why game companies do KLA is that players will pay for games with KLA but won't pay for games without it. As much as I think Microsoft is one of the worst companies in existence, in this case I don't think they or KLA developers are to blame. KLA developers are simply doing what players want them to do and Microsoft is only allowing what their end-users want them to allow. If Microsoft removes KLA, it will be by replacing it with userspace code with hardware attestation support, it won't be by killing the concept of intrusive anti-cheat. All Microsoft is doing is trying to re-design the tools to cover their own ass.
Fundamentally, KLA has pushed cheating further into DMA and CV territory. This means that more obvious and annoying forms of cheating, undetectable by KLA are probably going to soon become more common. At this point the options are to have these games be console-only with blessed hardware and hardware attestation. And even that has flaws (as described). Eventually it will just be impossible to play a game in a public server without cheating. Maybe this will force people away from these types of games, or towards private lobbies. I don't know what the future holds here.
- hardware breakpoints on memory latch to logical, not physical addresses - one can map the same area of physical memory to different logical addresses thus allowing arbitrary memory reads - simulating inputs through the PnP stack can be made indetectible with polymorphic code doing the injections - detecting the aimbot's core code can be prevented via at least two methods: triggering (and capturing) page faults on memory hosting the bot or, again, with polymorphic code generation
One could create a fully open source cheat engine relying on memory reads and input injection via the pnp stavk and it would be undetectable deterministically (with heuristics, sure).
Games - unless streamed - need to know a bit more about the world they display than the player is allowed to see. Some engines I analysed (years ago) tried to limit propagating data to the local client to only a portion of the map and close proximity (the more recent battlefield games, if memory serves), while lots still have all enemy coordinates at all times in memory, some even with debug symbols to help the poor aimbot community reverse memory structures that more easily.
Its hopeless. The only winning move is not to play :-)
Yes. This is the answer. There is no solution that relies only on technology that will fix human problems at scale. You can make it harder, but once one person figures it out, everyone has access to it. You need to break it into pieces and let people deal with it on the community level, where communities are small enough that people can deal with individuals.
The main issue is that 'at scale' you have the fact that a certain percentage of people are sociopaths, a certain percentage of people are really smart, and a certain percentage of people have the time and motivation to do something, and when they all cross you end up with a person who breaks your system.
The issue is that the players themselves seem to think that the convenience of KLA (over running your own community, paying for your own servers, etc) outweighs the privacy risks.
Voting to kick/ban and sharing ban lists only works for ragehacking, but the most joy stealing form of cheating is people using hacks and cheats subtly enough to beat an average player, but not strongly enough to guarantee they'll be caught by the community.
I wonder what is worth more: the median installation of a free-to-play multiplayer game, or access to everything they do on that PC?
I won't be the first one to wonder this.
I have a dedicated laptop for gaming that I do absolutely nothing else on, not even logging into email accounts. Just steam + games + whatever video software I might need. This is my sane compromise as someone who participates in a lot of competitive games. it sucks, but I see no better solution than to disclose it (insane this wasn't the standard already). Even that is hard, because if you disclose too much, cheaters can take advantage.
Cheating is downstream of the trust problem with an anonymous global "community". Anti-cheat is just an arms race, but there are other avenues to addressing it (weak "KYC", like requiring a phone number to play ranked modes).
Deadlock is potentially doing something interesting with its invite-only EA system. They're essentially building a social graph of players, which could be leveraged to identify "cheating rings"/compromised accounts and seed some kind of social reputation system within the community.
Behavior AI-driven anti-cheat system running on the server side.
I never understood this.
As I mentioned in another thread, maybe I’m just old or something now, but I’ve never given a fuck if another player was cheating.
Back in the day it was pretty normal to run into someone using aimbot or wall hack or whatever shit.
You would just change server or join a different lobby or whatever if it was really bothering your enjoyment.
There's no concept of "server" or "Change lobby" on Apex or other Battle royales.
You just queue up for a game, which lasts ~20 minutes. As you are in a 3 player team if you disconnect from the game you get a temp ban penalty, since that also degrades other players experience. So there's no disconnecting freely once a game has started. Now imagine you're playing for 10-15 minutes just to die without really having any chance. That gets frustrating, really quickly, since winning is close to the only "reward" you get from playing the game.
It's not like a classic COD or Battlefield game, where you can feely leave or join any game/server. Once you're in you're somewhat committed, and you have no control over where or with whom you're playing against.
client inputs have to be trusted, and there is no provenance. the kernel has no visibility of inputs.
i’m shipping a 100 player matchmaking game now. clients tick at 360hz, server ticks at 120hz. fair up to 60 ping, which covers entire continents. servers are metal, not vms. epyc 4244p with 2Gbps egress, 1 server per 15 minute game. mitigations=off and nosmt on all clients and the server.
i love steam, but won’t be releasing this there.
it’s reboot-to-play, a modified archlinux iso that boots directly into the game from a usb drive.
i control not only the kernel, but the os, and every running program. you don’t get cortana. you don’t get discord. you don’t get spotify. you get the game. for the duration of play, your pc becomes an arcade machine.
still, this is not enough.
to play ranked, you’re going to have to get a handcam over your left shoulder. it will see head orientation, both hands, full mousepad, and screen. you’re also going to use fixed mouse speed, mousepad size, and monitor size. reviewing any players inputs will look familiar, since everyone is playing with identical settings and setup.
kernel anticheat is not enough. we need a reproducible full os setup, down to running programs and network connections.
even that is not enough. we need provenance of user inputs hooked right up to the game replay system, so you or anyone can review engagements from any parties perspective.
obviously this should all be opt in. not everyone wants to play ranked, and whole-os anticheat should help even without input provenance.
have you ever wondered if you died to a cheater or a god? do you wish you could never wonder again? i do. soon, i won’t.
But to be really honest: it's impossible to prevent cheaters. The only way is to play with friends, or to change the incentives of the game where it becomes less interesting to cheat.
For example, a game like counter strike will have a lot of cheaters because you can earn skins and sell them. There are also a lot of players who will buy cheats, because the game is just so popular.
The game design and engine design can also help to prevent cheating.
Honestly, you cannot solve corruption, you need to change the game or the players.
In my view, the Counter strike community is quite toxic, but very profitable for valve, which is why they don't care if their players behave poorly. CS is a nice game but human nature is what it is. You don't find recommendable people playing CS, most gamers play something else because that community is just so terrible to interact with.
yet cheaters will still cheat.
non-human inputs IS cheating. period. there is no information cheating possible in this game.
input provenance is the only anti cheat that has a chance.
full fidelity 120hz server replays with handcam seems a good place to start.
we’ll see how it goes!
I would like to try your game, sir. But my problem is the people trying to take over my computer. I am not going to solve that by letting you take over my computer.
Let's talk system requirements- could I get away with running it on an old junker laptop?
spite was definitely a part of it. at a certain point while playing and watching fortnite solo build, i wondered why there are so many bugs and if i could fix them. i wanted to understand why ping advantage and storm surge have to exist. this game was my journey to find out. it has been a privilege and a joy every single day.
as far as security, you’re asking the right questions. the typical gamer showing up in my discord doesn’t, so i guide them to them.
if you boot my game, you’ve booted an archlinux iso. what could i do? i could read/wipe your disks, so you should make sure they are encrypted/backedup. i could probe your network. i could maybe even install bios level persistent malware. i could do anything a userspace app with admin can do.
none of this is different from a windows app as soon as you click yes on the admin popup thingy which every multiplayer game needs.
reboot-to-play is better, because assuming you use bitlocker, i can't read every file on you c drive, unlike every game you've installed from steam. i also can't mess up your windows registry, or any other os config.
the reboot-to-play build process is not yet open, but soon will be. even then, the game binary it will download and run is not open.
this and more is explored in the faq on the games site, let me know if you want more answers up there!
the purpose of reboot-to-play is not to corrupt your disks. its purpose is to get all players into an identical state, for fairness, and to avoid finicky windows tweaking for performance. everyone’s pc is a special snowflake. what we want for multiplayer is identical arcade machines. every time you boot, you're in the correct state.
running software is ultimately about trust. you can trust epic, or riot. you can trust steam or apple to vet user provide apps. you can trust me.
do you want to trust me? that's up to you. i would say, wait for launch, watch some streams and videos, and see if it looks fun!
launching soon. working through final matchmaking issues now.
i sympathize with their pain, and i have the solution.
if this is a challenge, consider it accepted.
link in bio.
Kudos to your insane game plan. Gonna be hard to get any marketing from Twitch streamers though.
ps5 can’t play 360hz and can’t use performance mode graphics. consoles are great, but esports will always be on pc.
input cheats are common on pc and console, there isn’t a difference anymore.
dual pc streaming will work fine. maybe we include obs in the iso at some point, but probably not.
also, this game is mnk only. next game will be controller only. gotta keep inputs standardized or fair play isn’t possible.
This is the only reason you need to keep going.
> ps5 can’t play 360hz and can’t use performance mode graphics. This [0] is your game. Without running it (because I'm not installing your OS on my machine, no offence) there's no reason that wouldn't run at 360Hz on a PS5. A PS5 is an 8 core machine with a dedicated GPU; it's going to be vastly more powerful (and has the advantage of being standardised hardware) than the random beater laptops your players are going to run. If you're talking about rendering at 360Hz - How many people realistically have that sort of monitor? And if they need to splash out £250 for it, we're getting close to the price of a console _anyway_ where you can play other games too.
> consoles are great, but esports will always be on pc.
Except for fighting games, sports games, and most importantly CoD.
> input cheats are common on pc and console, there isn’t a difference anymore.
Theoretically, yes. Practically speaking, input cheats are widespread on PC, and non-existant on console. (that's not to say XIM and co don't exist, but they're nowhere near the adoption level that's seen on PC).
[x670e][~/repos/WickedEngine/Protoverse/reboot-to-play][better-game][us-west-2][-][master]
>> bash flash.sh /dev/sda 1224736768 bytes (1.2 GB, 1.1 GiB) copied, 52 s, 23.3 MB/s
Yes there's a discord for this.
very well, ranked will then require specific hardware. i’m gonna have to build more test pcs. 9800x3d 7700xt b650m looking pretty clean.
Can you stop them from using DMA hacks?
Can I boot the image in a VM?
handcam anti-cheat and replays will handle provenance of inputs. non-human inputs are cheating.
you could try to boot in vm, but performance will suffer. the server moved off vms for the same reason.
the only thing i really care about is non-human inputs. if you get really creative with booting the game, and aren’t nefarious, i’ll set phasers to stun.
That said, you can win that arms race for a while by doing something sufficiently innovative, different and specialized and you may have that here. I doubt this approach offers a permanent solution though.
Edit: I do think there is a lot to the idea of not trying to put all players through the same level of anti-cheat security. The anti-cheat needs of competitive players is very different from casuals and offering different levels of anti-cheat based on those levels. How amazing would it be if other games did the same and let players choose the level of anti-cheat to use and to require.
I will not be playing games that make me feel like a prisoner. The experience taking standardized tests is enough for one life.
there are however legions of fortnite players who would mortgage their lives for a better game. a handcam without audio during gameplay seems a more reasonable and low price to pay. time will tell what gamers think! very exciting.
People generally hate this though because for one it makes most games into way too serious sweat fest with everyone so closely matched. And for two it doesn’t even stop the entire reason it was built which was to protect the noobs. The elite players can just tank like an nfl team for a few rounds and go back to stomping noobs.
what does fix this is handcam anti-cheat, which makes it trivial to identify the operator by their hand movement patterns, arm size, etc.
you can review not only the match you are in, but all previous matches. full fidelity replays + handcam = a brave new world.
account sharing is not allowed in ranked. in pubs, go crazy.
then you will be banned from ranked, unless you have a clever way to synthesize perfect handcam video.
in which case, you get the entire bounty pool and 10% profit for 6 months.
then you will be banned from ranked.
the bugs won’t discover themselves. i salute you.
maybe a generic steamos image with console-level isolation, and make the game steamos-only perhaps?
no offense, but there might be a sliver of the pie that don't like cheaters but also don't mind running something as invasive.
the goal is to be minimally invasive. you don’t have to install anything!
i don’t fight your misconfigured pc, you don’t worry about me scanning your c drive.
nothing to install, configure, save, or lose.
anyone playing fortnite ranked already has the needed hardware, and the motivation.
if you haven’t won a solo build game on 1440p 360hz, you haven’t ever actually played a video game.
I think this is the most insane thing you've written here today, the one thing I truly disagree with. I'm not sure you even agree with it, given you seem to already understand well the difference between casual, competitive, and hardcore competitive play. But are you aware of solo play?
I feel if this were the case literally anything I install on my PC would be suspect. Installing ssh would be a much more scary thing than a random steam game.
https://www.bleepingcomputer.com/news/security/steam-game-mo...
"Downfall, a fan expansion for the popular Slay the Spire indie strategy game, was breached on Christmas Day to push Epsilon information stealer malware using the Steam update system.
Once installed on a compromised computer, the malware will collect cookies and saved passwords and credit cards from web browsers (Google Chrome, Yandex, Microsoft Edge, Mozilla Firefox, Brave, Vivaldi), as well as Steam and Discord info.
It will also look for documents containing 'password' in the filenames and for more credentials, including the local Windows login and Telegram."
This is no different to downloading a random binary off the internet and being surprised it's malicious.
See: https://www.trendmicro.com/en_us/research/22/h/ransomware-ac...
Yes. I truly believe some janky random anti-cheat kernel module could very well capture telemetry about my keystrokes to a log and then send that log off to a server.
At the very least I don't trust that it's secure enough to be in the kernel of a machine for which I require any degree of trust in its integrity.
Kerbal Space Program comes to mind, I recall it had adware that did this.
https://unity.com/legal/game-player-and-app-user-privacy-pol...
https://unity.com/legal/game-player-and-app-user-privacy-faq
So it's not exactly a reasonable place to put something like that.
Have anyone seen games that request root privileges?
EDIT: I'm gathering from this[1] and the fact that no wine-related package have kernel modules included and no executable from any of those packages have setuid nor capabilities set, that this isn't really a problem in Linux, just in Windows.
[1] https://www.reddit.com/r/linux_gaming/comments/gjzkzk/will_w...
They do this because Steam was originally designed in the XP era when you could write whatever you want to Program Files without escalating to admin, and instead of refactoring where they put their files when Vista made the permissions more strict they started installing that backdoor service which lets them keep putting everything in Program Files without triggering UAC prompts all the time. It's a pretty gross and unnecessary hack, but I doubt they're ever going to fix it at this point.
I would love for Valve to prove it is possible but so far they haven't shown it can be done without leaving a bad experience for legit players (due to delayed ban waves, etc) despite the repeated claims.
At the end of the day someone could be using hardware "cheats" but you can get down to a pretty good spot to stop or disincentivize cheaters without running rootkits on their devices.
They even claim to be able to fingerprint players according their playstyle, thwarting all methods of ban evasion. Skepticism should be abundant here, but this one of the oldest tricks in ML: categorization/clustering. I'm cautiously hopeful.
This would be server-side by nature.
Also if your guns aren't _perfectly_ accurate then the aimbot can't actually predict much of anything.
The problem of cheating in games does not weigh more than the users ultimate ownership of and control over their own property.
No one has a right to a business model.
They can do plenty enough server-side. It's not a blocking problem at all, it's just easier to take over all control of the users pc for your own convenience.
Everything, including all valid goals, is easier if you could just have the power to control whatever you want instead of having to cooperate and respect others and respect boundaries. It's no more valid than saying "Everything would be so much better if everyone would just do what I say.". Using that argument is invalid even if supposedly applied in service to some otherwise valid goal.
Also, there's hardware cheats, so I don't need a rootkit on my machine, but a server side thing that properly weeds bad players out through reports/trust and automated bans.
No. No no no.
Automated bans via the report system is very well-known to be abused.
Even if you implement a "trust" system where initially, all your reports are manually verified by game staff until its determined your reports are correct until your reports are acted on automatically, all it takes is a player to just be "good" until their trust is high enough, then start reporting people who don't actually deserve it.
And I'm not convinced that server-side anti-cheat can be effective. You have to rely entirely on heuristics. Sure, a simple aim-bot that instantly snaps someone's aim right on someone's head might be detectable, but one that simply lets you see through walls certainly won't be if the player doesn't make it stupidly obvious by pre-aiming around every corner.
If you're "not sure if someones cheating or just good", maybe that's a mental problem with you? Put differently, if all cheaters were perfectly hidden (aka looked exactly like a real player of that skill level), would you still care? If yes, you seem more interested in a morality than actually enjoying the game.
They worked pretty well for pub matches back in CSS and 1.6, where it was pretty trivial for anyone to cheat or bot for free with minimal effort. I wonder what changed.
Do you have some examples of good anti-cheats that are not kernel-level? Do you have any that are as good as Riot's Vanguard? I'd prefer examples of FPS games since these are the most mechanically skill based compared to other genres that have more strategy, but would like to hear any examples you are thinking of. Lastly, if you say server-side, that may work, but many companies don't seem interested in it due to the cost, at least IIUC.
Vanguard hasn't been effective for a while now. The cheating situation is a lot worse than CS in my experience, but every discussion gets shutdown because... well... it's Vanguard.
With CS2 I have talked to many players about this and everyone says the same thing: "There's a very noticeable decline in cheaters above 10k Elo."... personally I have pushed beyond 15k and briefly above 20k Elo and the amount of cheaters have steadily declined (although less obvious cheats, eg. wallhack, are probably more common at that level) - for Valorant it has pretty much stayed at a constant amount of "cheatiness" across the ranks.
CS actually has a rich history of features, functions, services?... that aren't strictly anti-cheat...
Overwatch gave players the option to "police" others players replays - this wasn't only against cheating, but also griefing.
Prime? Is it still even a thing? It was great when CSGO went F2P... all the cheaters just annoyed the non-prime players (F2P).
The ominous Trust factor which is probably the single most effective piece in making my personal experience great. But there's no real way to tell?
Also, VacNet - which is running? is AI based? banning players? lowering their trust factor?... with Valve there's no real way to tell most of the time, but it's probably existent in some shape, way or form.
Not to say that CS2 has solved cheating, it's far from it - but neither has Valorant.
https://youtube.com/watch?v=x-EbjGSRyKA
There’s a lot of other stuff in the video but if you skip the robot building parts at the beginning he talks about an anti cheat system he developed with another person.
Nobody's using complicated stuff like this in practice though, as there are easier methods. But of course this path can be taken, and it's not possible to block easily.
https://github.com/Babyhamsta/Aimmy
And it's likely that most detection systems can be trivially fooled by me ChatGPTing the code around the way mouse movements are implemented to act slightly different / use a different compiler or something to get different file hashes on the core tool.
faceit for the longest time has had their own way around this. so did esea, before they ruined the trust forever (https://news.ycombinator.com/item?id=5636233). some highly-motivated players still found ways around it (https://news.ycombinator.com/item?id=39352331).
The secondary effect is that business will stop using processes and chemicals which require them to carry this warning. You've effectively created a new market segment.
Are the labels annoying to the point of comedy? Sure, but it's not /your/ behavior we were trying to modify.
Add UEFI on your PC and DRM in your browser.
And next, your governement will ask you to add its anti pedo-pornography tools.
And then we have a new episode of Black Mirror...
Wishful thinking. That government hasn't asked anyone yet (at least in public information) is a miracle in itself.
What if online games track how well people do and sort them into tiers based on skill level? And then put people who are roughly evenly matched together. I am guessing that cheaters will naturally end up clumping together with each other, and maybe a smattering of elite players who are good enough that they can hold their own, and maybe even benefit from the added challenge. And also, casual and less-skilled players can play together and not get dominated so much.
I don't think it would end cheating. But perhaps it would mitigate it by reducing a lot of the potential upside. Assuming the upside for many cheaters is that they enjoy feeling like they can dominate a server full of non-cheaters.
Ideally, this would lead to people having a 50% win rate which is just unacceptable to some. Those people resort to smurfing or cheating to get their fix--they don't really want a fair and equal match. Just look to the Call of Duty community crying about SBMM. Those people want to farm clips and play with those worse than them--not people at or above their skill level.
Additionally, many multiplayer games at all but the highest skill levels have most matches determined by the side that plays the fewest number of mistakes. This is especially true of team based games. At most skill levels, both teams will be making many obvious (and less obvious) mistakes. This can frustrate some who believe that they're held back by their team and just need to play with higher ranked teammates. So people will boost or buy accounts or resort to cheating.
Cheaters will also easily adapt to ranking systems by creating new accounts or intentionally de-ranking themselves.
Cheating happens regardless.
If that's so, then do we typically only see KLA on games that are mostly funded by microtransactions or live service models?
In short, we typically see KLA on games with in-game currencies whose servers are controlled by the vendors.
Inasmuch as KLA is actually used as anti-cheat software, it's usually a proxy for actual moderation (i.e. labor). Community-hosted servers generally develop their own processes and customs for handling bad actors, but vendors generally don't want to hand that kind of power to internet strangers.
> What if online games track how well people do and sort them into tiers based on skill level?
Games have been already doing this for at least a decade. Games that do this are exactly the games where cheating is rampant.
This is the war. It's always been the war. It will always be the war. Digital changed the medium but war, war never changes.
The war in unwinnable in any real sense of the word win. However, security does not need to be impenetrable security only needs to dissuade the attacker.
Kernel level, blah-blah-blah, doesn't dissuade cheaters. Those things dissuade legitimate users. It's never the ideology that dissuades those users though as they don't know or care. What dissuades these users are the difficulties that these systems present to the uninformed user.
The typical end user doesn't know how to 'fix-it' when things go wrong. PC vendors won't support the issue. The game publisher won't support the issue. The game developer rarely supports the issue. Kernel level blah-blah-blah causes a blah-blah-blah. Nobody wants to hear it. Nobody wants to fix it.
And, to top off this defecation-confection, the user is left with software that they paid for and cannot use or access. No refunds. Sorry. And, and, and!!! There are still cheaters on the platform. Every platform. There's your f'n cherry.
This is bad for the entire industry.
This is Microsoft continuing to demonize free software and Linux. If they actually cared, they would support an open source solution to the problem. SOMETHING THEY ABSOLUTELY OPPOSE. That is the core issue. Say it over and over, Microsoft _DOES NOT WANT A SOLUTION TO THESE PROBLEMS_.
1. More games are trying to cut costs with ad-hoc P2P servers, meaning that sometimes important logic is occurring on a not-so-trusted machine.
2. More games are using a revenue model which may be threatened by consumer-side tinkering.
For example, imagine a cooperative game that uses a P2P server, and the host has done something to make it much easier for the squad to get a drop of the Super Special Loot (#1) and the rarity of the loot through gameplay drives many players to purchase it though an in-game store.
And that reasonable range isn't that small. It is enough to make every bullet that was supposed to shoot on air shoot on the enemies' heads.
I'm familiar with FPS networking, however I'm talking about a trend where a customer-machine is designated to act as a game-server, so that the company can avoid paying to host one in a dedicated but more-secure fashion.
If that machines happens to be the attacker's, then their scope for chicanery is so much greater than just wallhacks or aimbots.
For example, they might temporarily or permanently grant everyone equipment that is otherwise locked behind some grind-wall, where the company hopes to make money selling a "level boost". While not totally malicious, it's definitely a "hack" the company will oppose.
This whole thing anti-cheat thing is just a separate problem entirely, but it's so painfully exacerbated by the first.
I'm just hoping this entire business model dies, along with the anti-cheat and everything else with it.
Does not mean:
Using anti-cheat -> poor networking
Ops comment is absolutely true. Engineers in games who are good have high incentive to 5x their salary and lifestyle by doing anything else.
This was not true in 1997. The industry also just attracts a different crowd, more adjacent to film and entertainment than it used to.
Your developers have just built and demonstrated a functioning multiplayer prototype. They want to spend 3 months to rewrite some of it for better security, and 3 months to implement the missing features and make it fully functioning. You just got off a call from a sales person for an anticheat vendor who gave you a strong pitch, so you say no to the first 3 months because it's cheaper to just add anticheat than to pay 3 months of salary on this.
Why anti-cheat software utilizes kernel drivers (2020) - https://news.ycombinator.com/item?id=42001030 - Oct 2024 (50 comments)
If you want games that you can re-sell, you will have to keep buying them on physical media (or on appstores that don't have DRM like GOG)
Note that I wouldn't very much welcome such a law but I wouldn't bet on it happening any time soon
- you are a tiny minority and not the target customer
- online multiplayer games are an absurdly big business (i.e. there are huge incentives here)
- no, you can't completely solve this server side
- elite players are insanely good - they are by definition outliers, so looking for statistical outliers is not in itself a solution
- game companies are highly incentivized to work with (or at least not antagonize) the elite players (so just throwing them in matches with cheaters is not a solution)
- the stakes are high both for the devs and their users, so "pretty good" anti-cheat is usually insufficient
You can sum things up by saying that kernel-level anti-cheat DRM is the worst solution, except for all of the other solutions.I hope to see more discussion on possible solutions and tradeoffs - this is a challenging technical problem whose solution (if there is one) is fairly valuable.
[edit: hopefully fixed the tone, per feedback]
And yes, servers would often kick out people who were too outside of the general skill level, even if they weren't cheating. As (say) a p80 player, playing against a p99 player feels roughly as bad as playing against a cheater. (But of course the p99 player is doing so honestly.)
Yes and no.
I lived through that era too, and there are serious scaling problems: at some point, trying to banhammer griefers with rotating IPs becomes a full time job, and then the public servers turn into a dumpster fire.
The games that have the most cheating either:
1. don't do account bans
2. don't limit account creation
You can trivially limit account creation by just charging money for the games.
* Microsoft makes piles of money from Gaming * Microsoft got involved with Gaming to damage Linux adoption and corporate support (Sony/Linux/Playstation) * Microsoft spends massive amounts of attention on gaming to lock in the general public to Windows * Microsoft continues to lose to Linux * Microsoft uses cheating to lie about open source being 'something something' cheaters
The fact of the matter is that Microsoft has absolutely no interest in an open source solution to these problems and are using these issues to lie, mislead and spread FUD in some absurd fantasy world where only some superior microsoft driven closed source solution is the only possible way this can be solved. All of that is a complete lie. Nothing more.
A smart linux and free software lawyer would be wise to file a class action lawsuit for discovery documents inside Microsoft where one would undoubtedly find piles of emails between the executives hell bent on doing everything to damage Linux adoption have stupidly wielded this unidentified axe which is actually a -4 cursed boat anchor.
Anyone that tells you that computer security or trust can only be done with proprietary software is lying to you for their own benefit.
Actually, this is generally untrue. Companies BELIEVE this but often times, these players are a vocal minority put on pedastal and they often end up making the game worse for the general player base.
It's not uncommon now for popular professional streamers to get early access to new features/modes because the game companies know that those players can help build or retain the player base.
These kinds of sweeping comments are as frequent as they are tiring. There are other comments like yours in this thread and yours is currently at the top. It has nothing to do with a lack of curiosity, you’re simply seeing the contrarian dynamic at play.
Thought: If they expect a console level of lockdown, why do they bother writing for the PC? If I wanted a $game_console, I’d buy the console.
Esps are purely client side, they read actors from game's memory and draw a client side overlay. It's impossible to protect against these on the server. Even if you had perfect culling from the server (didn't send players behind walls for example) you'd still have semitransparent surfaces like foliage and smoke. There are people making good money in PUBG just making enemy textures that are easier to see. You need kernel anticheat to prevent the cheat reading the memory. Also you want to take screenshots periodically and detect overlays.
Aimbots in the olden days could be detected on the server because their movements were instant, precise, unnatural snaps. But these days cheat developers have wisened up. Again the best protection is to prevent the cheat from reading the games memory in the first place, some anticheats go as far as to try to prevent input from any artificial device (so the cheat can't create mouse movement)
There are also movement hacks, but I don't think that these are really common these days. You can detect protect against these on the server side
You also need active human involvement, both as moderators and evolving the anti-cheat technology over time.
This is what every dev who can't be bothered to implement relevancy filters says when their server broadcasts the locations of every hidden player to every other player every tick and wallhacks drop a week later
Exactly what can't be fixed server side? Are you just talking about aimbots and other situations where script kiddies can trivially author bots that generate optimal inputs? Because at a certain point that's more a problem with shitty, boring game design that got stale 20 years ago; if the top of your game's execution ceiling is "can the player click on heads perfectly" you have bigger problems
But taking a step back, for fast games (like an FPS), the latency requirements drive you to send semi-secret info to the client (like the positions of other players), and so that's where things start to break down. But the traffic in the other direction is a problem too, as you have all of the scenarios in which the messages to the server (e.g. aim info, timing of weapon of firing) can be spoofed or engineered.
The motivation for the client-side anti-cheat systems is to extend as far as possible the envelope of what is considered trustworthy - i.e. if they can't solve the latency problem, then they try to make the client more trusted.
It's impossible to completely solve the problem, so it's about finding a solution that solves as much of the problem as possible. Unfortunately the main thing going for kernel anti-cheat is that most users don't care that they have to let someone root their machines to play a game, though the tide would likely turn if there were a high publicity exploit.
I'd love to see more curiosity from developers - the disappointment is mutual. Instead of attempting to systematically stop all forms of cheating through innovative or competitive methods, it would appear the industry is converging on dangerous half-measures and excusing it with evidence from a clearly failing system.
What should we, the users, expect? Perfect, cheat-free software that surveils us endlessly, or "good enough" security that lets users decide for themselves which servers are suitable? Let me cast my vote, and I know which ideal I consider realistic and attainable.
Developers spent millions on Anti-Cheat. It's why entire products like EasyAntiCheat and BattleEye exists.
Valve spent a LOT of time and effort on VACNet, a server side machine learning based Anti-Cheat primarily trained only on CS:GO verdicts and it was awful still.
Developers know the common methods used by cheaters. That includes exploiting known vulnerable kernel drivers to run code in the kernel. The only way to monitor for this is to utilize a kernel module loaded before that of the cheater. That's why the current state of Anti-Cheat is the way it is.
The developers of various anti-cheats like Vanguard have been very transparent about this.[1]
[1]: https://www.leagueoflegends.com/en-us/news/dev/dev-null-anti...
* GUI
* managing installations, including things like Proton to run Win32 games on Linux, and Fossilize to precompile shaders
* bandwidth-saving stuff like being able to transfer games locally
* being able to play remotely in a variety of configurations: LAN, WAN, or having a friend connect to your local session ("Remote Play Together")
* pretty good support for mapping any controller you have to any controller inputs a game wants
* cloud saves
* a bunch of community features like forums and broadcasting
* family sharing
* a VR runtime
* marketing for devs (regular sales, algorithmic recommendations etc)
* an API for devs with various services
* the backend infrastructure for all of the above
It's been around for a long time so it's quite feature-rich at this point. Lots of things that generally make sense to have.
Ultimately, I sympathize with game developers trying to create a good, _consistent_ experience for players across multiplayer titles. The reason players accept anticheat software in large mp games is because the alternative is worse.
Why should I ever trust a gaming company to take security seriously? There was a story a few years ago about how one guy at home debugged GTA5’s atrocious loading times without any resources. Loading times which were notoriously bad and surely had a negative impact on revenue, yet nobody in the company could be bothered.
*Never verified it, but I recall the new owners of Kernel Space Program were accused of reporting personal data files to the cloud.
Related to this it may be worth installing something that does checksum snapshots of the filesystems to see if a game has tampered with system files. OSSEC, chkrootkit or even a cron job that just does this manually and runs diffs. While some package managers have this functionality they will usually ignore files outside of the package manifest that may get picked up by the system. Immutable off-system backups are of course good too.
# do not put in /etc/sysctl.conf, instead use a startup script or a script that is run prior to starting Steam.
sysctl -w "kernel.modules_disabled=1"
sysctl -w "kernel.kexec_load_disabled=1"
[1] - https://linux-audit.com/increase-kernel-integrity-with-disab...I don't really like the status quo of installing random kernel-mode crap either, but nobody has a compelling answer for how to not make cheating absolutely trivial without it. Usermode anticheat barely does anything, serverside anticheat can only do so much, and the only other alternative is switching to console platforms which prevent cheating by giving the user zero freedom.
https://www.sciencedirect.com/science/article/abs/pii/S18759...
If you're running under proton, it can't work. Proton/wine are not virtualizing a windows kernel, they are intercepting syscalls/library calls and running the equivalent linux code.
And if that means more companies choose to avoid kernel anti-cheat, so much the better. I'm still mad that I can't play Helldivers 2 - a freaking co-op game where cheaters can't pose a problem - because of this nonsense.
Winning doesn't give you any permanent rewards?
Wanna hear my conspiracy theory?
Three letter agencies are using games as an intel gathering tool, and KLA is part of that. What if the CEOs are getting NSLs, etc?
Valve knows this, kernel-level anti-cheat is simply not practical for use with Linux as a consideration. Most game companies care zero for Linux in the first place, which means for us, we just end up inadvertently boycotting those games and bad-mouthing them regardless, but hey, it's only 1%.
Games publishers have been bad actors in this space for a long time now. The genshin impact anticheat was used in a malware campaign. Rockstar was very misleading trying to imply their kernel driver not being compatible with the steam deck was valves fault.
I mean, nothing of this is new. ESEA, one of the most influential esports leagues, was caught using its anticheat to mine Bitcoin in 2013. [1] This is long out of control, probably since the days BattlEye switched to ring0 in 2012 due to chronic cheating in the DayZ mod, or maybe earlier. Modern anticheats are full-fledged rootkits with extremely complex and targeted payloads siphoning customer data and hijacking all sorts of stuff, and that's not a theory, they actively abuse players' trust and indifference.
If you care about your data and the control of your devices, you should probably avoid them entirely, or at least use them on dedicated gaming PCs on a clean identity, and keep them separate from your LAN and your non-gaming digital life.
You have a closed source rootkit designed for finding data in raw memory (like passwords from an unlocked password manager), loaded into many gamer's machines, which many software engineers are. Some anti cheat explicitly support's arbitrary remote code execution by design. Many people mix their personal password vaults with their company's, which means that if you successfully hack an anticheat company and you can read the raw memory of an opened password manager with a program that is already designed to scan all processes memory, you now potentially have extremely valuable credentials. A small portion will even do things like add their 2fac keys into their vaults.
Here is Gabe Newell's thoughts on AntiCheat that are very relevant to this thread: https://www.reddit.com/r/gaming/comments/1y70ej/valve_vac_an...
Of course the other problem is the 23andMe problem and enshitification. Even if the data uploaded by anti-cheat isn't used right now, the storage of data alone creates incentive for abuse.
One could argue that a game isn't critical but one could say it's critical to stop hackers.
If you were to take the stance that gaming isn't critical than with that logic you're then claiming multiplayer hacking is a feature of the game.
Doesn't do well for the community or the company. But nor do the rootkits do good for the consumer.