Live data from Hacker News

Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

areweanticheatyet.com

401–410 of 485 posts

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#401
post #397

Earlier quoted context omitted.

> Doing everything server side does prevent cheating. No. Server side only protects against some types of cheats, such as telling the server that your bullet in an FPS is actually a grenade. It cannot prevent snapping your aim to a target on screen.

I missed a *not

Obvious when rereading. Sorry :)

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#402

Earlier quoted context omitted.

From the top of my head: Rocket league, Splatoon. I'm sure there are others, but those are the 2 I play

Splatoon is a Nintendo game.

Sure, but it's still an esport and any discussion of anti cheat ought to apply regardless of publisher methinks

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#403
post #23

Between Windows being so unbearably bloated and no way to make anti-cheat really work on Linux, it looks like the consoles win!

No modding and higher prices of games on consoles though.

This is a big, missing piece for sure. I suppose for competitive games though, it's okay to not be able to mod, and for everything else, we have PC's.

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#404
post #41

kernel anti-cheat are notoriously inefficient and are weaponized by hackers.

Are they? Cheats for games like Fortnite, CS (Faceit), Rust, LoL have become very expensive (100 USD per month are not unheard of) or require you to purchase special hardware. And I have yet to come across an anti cheat driver of the big publishers (EAC, Faceit, Javelin, Vanguard) being exploited and allow access to r/w kernel memory. It is more likely that the driver of some hardware is being exploited for, rather t…

I remember the anti-cheat of Valorant being exploited where basically the hackers could turn a bug in the game code into full kernel-level root access via the anti-cheat.

Video games are not engineered to withstand sophisticated hacking attacks which is fine mostly since the bad guys can only use their access to cheat - in this case they could fully compromise your system thanks to the kernel access of anti cheat

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#405

Is there really no way to make anti-cheat on Linux that can't be bypassed? I don't know much about this, but it seems very difficult to make an anti-cheat for a platform where you can make changes in the kernel.

I did a pretty deep dive into this recently, although haven't yet started any implementation work. As far as I can tell, the best strategy that preserves Linux's open-source and user-empowering ideals as much as possible:

- The game obviously needs to run as root, at least until large amounts of this stuff gets upstreamed into the kernel.

- We're going to be leaving the kernel and boot as untrusted, but injecting a hypervisor underneath the running kernel that is responsible for protecting most pages of game memory. This allows users to still run whatever kernel they want.

- The hypervisor sets up two sets of page tables, one that's only active when the game's thread is running and in userspace, one that hides protected pages and is active when the kernel or other threads are running. Note that game code itself needs to get decrypted into protected ram.

- The TPM of the system gets involved when we jump into the hypervisor to attest that the hypervisor is actually running, and the hypervisor then provides attestations to userspace that certain memory regions are protected from kernel or other thread access.

- Any syscalls will fail if they require the kernel to read or write pages that are protected. The game needs to allocate data that should be shared with the kernel into non-protected pages.

- When the game is closed, we can remove the hypervisor and Linux will be back to bare metal operation. This should be unobservable to the rest of the system.

This architecture preserves the ability of users to run arbitrary kernel modules, but does mean a hypothetical attacker can observe data that passes through the kernel (like draw calls/pixels). It's likely that a more complete implementation would also want some way for the hypervisor to attest to the accuracy of keyboard/mouse input and interface with iommu configuration like Windows KAC does.

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#406

As most of you know, these anti-cheat systems are functionally equivalent to rootkits. There is zero visibility into how these privileges are used for targeted attacks. Due to geographic location of the large game companies this has a geopolitical angle. Fingerprinting of devices and the networks they are in provides a lot of metadata that is most definitely fed into their intelligence apparatus.

Unpopular opinion, but we would be better off with a single open trusted implementation of anti cheat (aka drm) which can attest whatever requirements are desired by the game is met. The only real problem is that it would likely be limited to approved kernel images and someone would need to own that validation and signing infrastructure, but you could imagine having multiple trusted entities have this role.

This way lies the death of general purpose computing.

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#407

Earlier quoted context omitted.

Do you work on community maps? Rust remains maybe the last true community game that's just solid all the way through where the studio is good to its players and doesn't patronize and betray them. I can have the sort of fun I would have had 20 years ago in Rust, and everything else feels like monocultural slop by comparison. I wish more of my friends wanted to play it, and wish I had more time for it.

No, I don't work on maps, I work for Facepunch. Thanks :)

Then I wish nothing but good fortune for you and the crew and hope the game continues forever!

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#408
post #185

Earlier quoted context omitted.

How do you stop a client-side wallhack with server side anti-cheat?

Don't send the client information about players they should not be able to see based on their current position.

How does it know what isn't visible? Can it handle glass? Frosted glass? Smoke? What if I can't see the player but I can see their shadow? What if I can't see them because they're behind me but I can hear their footsteps? What if I have 50ms ping and the player is invisible after turning a corner because the server hasn't realized I can see them yet?

To answer all those questions you either have to render the entire game on the server for every player (not possible) or make the checks conservative enough that cheaters still get a significant advantage.

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#409

At this point - you would think that cheaters could be detected on the server side by either training a model to flag abnormal behavior or do some type of statistics on the movement patterns over time - is a client-side anti-cheat really required?

Many forms of cheating revolve around modding the game locally so that certain textures can be seen through walls, so you always know where opponents are. So you aren't breaking any laws of physics, you are just able to make much better tactical decisions. The obvious solution would be, just don't send data to the player's client about enemies that are behind walls. But this is a surprisingly hard thing to engineer i…

That final video is recorded to look better than it is too: the delay is based on position, not time. In a real game you'd be moving slower and have the enemy's data on screen for longer.

Re: Games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton

#410

Earlier quoted context omitted.

Two reasons this doesn't work Most competitive games these days are free to play. A cheater gets banned, makes a new account, and gets placed on the competitive ladder level of a new player, and stomps their way up the ladder against unskilled players until they get banned, and repeat. For players that cheat less egregiously and don't get banned, it's still obvious many times when someone has no skill but is using ch…

The problem here appears to be the banning. If the cheaters are never banned then they will continue to only play with other cheaters, and everyone is happy. And in fact, to a normal player I doubt they care very much if the player is legit and smurfing or if they are not legit and cheating. That player ruins the game they are in. The ranking system needs to be a better determinate of skill, especially early in a new…

Cheaters don't want to play against other cheaters. If they end up against only cheaters that's a kind of soft-ban or shadow-ban and once they figure out that's the case they'll do the same steps as if you had actually banned them. It also angers legitimate players to know that the top ladder tier is for cheaters only. If you're 200th in the world and legitimate, other players will say you only got that rank through cheating.

And the very best cheaters are still good at the games they cheat in, they just want to use cheats to be even better. One famous example in a game I play is Riolu in Trackmania. He was probably one of the top 10 players in the world. But he wanted to be #1. When he was accused of cheating it took a mountain of evidence for anyone to believe the accusations because he could set a world record live in-person. He just used cheats to be able to do it with fewer attempts.

Post reply on HN