But, in practice, it usually doesn't result in any new cheaters. There is a myriad of reasons for this, but I won't go over them here.
One thing that comes to mind for me is that most cheaters probably don't code the cheats themselves but buy them off telegram channels or whatever (just a guess), and probably wouldn't want to install a whole operating system for them
Cheating is a market, and most cheaters are not programmers themselves. But it goes deeper than that. Most players, and players who intend to cheat are already using Windows. Any portion of a game's player base that intends to cheat is usually small, any the portion of a game's player base that is also running Linux at the same time, is even smaller. So programming cheats for Linux (however easy it may be), is a nil-some game. Though I'm not going to claim it's never happen, there are cheats for CS2 on Linux for example, but this is an outlier and exception to the rule.
> Could I persuade you to reconsider going over them? I'm not expecting an essay or anything but it would be interesting.
Sorry, I didn't say that because I was trying to withhold this information, I just didn't want to spoil my future blog post. If you don't want to wait for the post and just want to hear it, I'm down to just giving a overview of the reasonings.
[0]: https://bphilip.uk/blog/2024-07-29-evaluating-kernel-level-a...
That's why even community server owners want additional anti-cheat rather than spending their own time doing it. All those CS ones are examples too, running on community servers. I also remember back in the day community server ICCUP for Starcraft Brood War had their own anti-hack.
There's also the shift of games to the mainstream; more casual players who do not want to be mods. As well as the shift from 16v16 matches to smaller 5v5 matches, making more outliers to check.
Not sure about KVM-like hardware cheats, specifically. You could obviously use an AI to simulate mouse movements, but I don't think that's particularly common.
I don’t think any system will stop someone truly dedicated, but the general idea is that each thing that adds a little more friction to cheating makes it less likely that the average player will encounter a cheater.
There's also hardware aimbot/triggerbot that reads your video output then sends input to a device connected to your mouse.
Its not what your everyday cheater has in free to play games like cs or cod but there are games where it matters more if you're banned, and when cheat subscriptions can be $100-200 a month the hardware cost isn't much.
Anything that's plugged into the machine can be poked, prodded, and logged to a central database by anticheat software.
> the types of dongles used for this are likely detectable in some way by kernel-level anticheat, and computer vision based cheats probably work better when you can inject contrasting color textures into the game
If you've ever worked in broadcast or volunteered for conference, lecture or house of worship broadcasting, you'll know there's an entire industry of cheap undetectable HDCP-removing HDMI splitters and capture cards. It's an open secret that conference AV relies on shitty $10 chinese HDMI splitters to make HDCP "work".
Similarly, there's a countless number of devices that can present themselves as any other USB device. You can MitM e.g. a keyboard or controller and inject packets that are impossible to distinguish from the users' own inputs.
Some consoles only allow wireless controllers with encrypted protocols, but that can be circumvented too. Replacing the joysticks in controllers with hall-effect ones is a common mod. It's possible to attach another chip inbetween at this point to inject custom inputs.
You can use these injected inputs to e.g. compensate for recoil. But you can also run a simple classifier on the HDMI video to identify objects and players.
Now sure, an anti-cheat could use statistical analysis to measure how quickly a player reacts, which would allow detecting such cheats. At this point it won't matter whether you're using kernel, userland or server-side anticheat though, as they've all got the same information available to them.
I think it's not about "solving" cheating, so much as making it sufficiently annoying to maintain working cheats that fewer people try. Just as in cybersecurity, no individual security measure will "solve" hacking, but in concert they reduce the impact by making it more difficult: the "Swiss Cheese Method" / defense-in-depth.
Reading through game cheating boards, it seems many hardware devices have been detected over time. It's an arms race. Here's a discussion of how anticheat started to detect people using HID-emulating devices by forcing a disconnection event: https://www.unknowncheats.me/forum/valorant/615373-vanguard-...
That's a hack which only works for some devices in some specific state. At that point you're playing whack-a-mole, and you'll always lose.
> I think it's not about "solving" cheating, so much as making it sufficiently annoying to maintain working cheats that fewer people try
Annoying? I don't think you understand the hacker mentality. Breaking anticheat or DRM tickles the same nerv as CTFs or puzzle games. What you consider "annoying" is an activity others do for fun.
It's fun to break a system that's intentionally trying to keep you out. That's why I reverse engineer proprietary, obfuscated file formats and protocols. Whether that's brother plotters, blackmagic's input devices (which also function as license dongles), apple video codecs (actually still WIP) or my landlord's wireless water meter so I can add homeassistant support for it.
When kernel-level anticheat became a thing, I actually built a custom hardware aimbot out of an HDMI capture card and a custom Sandisk wireless clone that I was working on at the time. I've only used it once or twice, as I'm not a competitive gamer and don't actually have any use for it. The entire fun was in breaking the system.
That's just sort of fundamental to society at some level though, we play whack a mole with all sorts of misbehavior until we reach some sort of acceptable equilibrium.
I totally get the hacker mentality, I have a fully disassembled HP printer under my desk with some bullshit DRM that I've been desperate to break for some time, but I think your last line is really the key: breaking the system is fun for a small portion of people who are able to do it, but it's their users/customers who will be annoyed when their accounts keep getting banned and they need to buy new hardware.
With my brother printers it turned out I could just remove the chips from the genuine toner cartridges, reset the counters, and hot glue them to the refurbished toner. Maybe that works for HP ink as well?
I don’t agree. Instead, a lot of people allow the install because they have no say in the matter if they wish to continue playing the game. Even if it weren’t effective, I’m pretty sure most people would allow the installation of some form of not-yet-proven-to-be-dangerous malware if the alternative is cutting ties and accepting the sunk cost (be it in terms of in-game purchases, proprietary file format, etc).
As a serious player of many multiplayer games I disagree. All it takes is one cheat to circumvent the protections and soon enough every cheater will use that circumvention.
Meanwhile, I, the legitimate player suffer from degraded performance, disconnections (looking at you Amazon Games - you've not been able to fix your (most likely) Easy Anticheat disconnection issue in 2 years!), or outright inability to play.
Perhaps the cheating situation would be worse without anticheats, but considering how rampant it seems to be in fast-paced or grindy games I play, I kind of doubt it.
Take the analogy of enabling better police work by granting unlimited access to our private communications. No one doubts it would be effective, but the cost and the threat is too much.
This is the line we draw in the sand: get out of the kernel, anti-cheat has no business being there. The cost and threat are too great.
This acceptance is the same situation that brought us the Crowdstrike incident. It's unacceptable.
We fail as an industry and as a society when we accept these compromises.
The best anti cheat is proper net code. Games rarely do this because it's expensive and difficult. Consumers will buy it anyways.
Anti cheat overtop is like calling an open window with a loud Weiner dog guarding it "defense in depth".
I presume it's also your point, netcode is irrelevant when the cheat is manipulating inputs.
Believe it or not, most people don't play video games against strangers. Anti-cheat is not of any value to them. Even for people who do play video games against strangers even uncompromised anti-cheat doesn't stop many forms of cheating like macro-mouses. Especially now with all the success being shown at machine learning playing video games with nothing more than a video feed and the button inputs, the amount that anti-cheat can help is clearly quite bounded and getting worse over time.
And the cost? Anti-cheat comes at the cost of general purpose computing, at the cost of being able to control the computers with which you trust your most intimate secrets. It's a civil liberties nightmare, or at least a per-requisite technology for many such nightmares. Opposition to anti-cheat is opposition to RMS's Right to read dystopia (https://www.gnu.org/philosophy/right-to-read.en.html).
I don't think it's too far a leap that saying that anti-cheat or DRM technology that comes at the expense of the availability of general purpose computing is more of a problem for human rights than the farcical bedroom cameras I started with.
So when you advocate anti-cheating technology that locks users out of controlling their own computers, you're favoring an at-best incremental improvement which can still be evaded for a narrow application that most people don't care about... and this comes at the expense of imperiling the human rights of others.
Like with many things there is an asymmetry to the costs: Anti-cheat and DRM substantially fail if even a moderate amount of dedicated people still have a way to cheat. Yet the damage to people's freedom from the loss of general purpose computing is still substantial even when the lockdowns can be evaded.
If anti-cheat came at no meaningful cost the fact that it could be evaded wouldn't be a meaningful argument against it. But it's expensive to develop, intrusive, disruptive, and the more successful it is the more effective it'll be at being abused to deny people control of their computers in anti-social ways.
I originally created the site as a way to track which games would be supported on Linux, since at the time the Steam Deck was releasing, and some games were turning to support it. And it has since blossomed into a larger project, which some other tools even pull from! I would have never even imagined that when I first started making this.
I do want to address something I see being talked about in the comments, which is the fact people say that anti-cheats are snake oil, or useless. This is a big misunderstanding, and I feel like those more technically inclined should understand that anti-cheat is a "defense-in-depth" type of approach. Where it is just one of many lines of defense. Some anti-cheats are pretty useless, and don't do much, but some actually do try and protect the game you're playing. But, just like DRM, it can be cracked, and that's why it's more of a constant arms race, rather than a one and done thing.
I'm writing out a longer post about this for the future, but just know that without anti-cheat clientside, it would be far too easy for an attacker to cheat in these games. We're still ways out from letting AI (see VACnet [1] and and Anybrain [2]) determine if someone is cheating server-side, so for now we have to rely on heavier client-side techniques and server-side decision making.
Also if anyone has questions about the site (or for me), I'll try to answer them here when I see them. If not, have a nice day!
[1] https://youtu.be/kTiP0zKF9bc
[2] https://www.anybrain.gg/