24 ms·
Forgive my ignorance, but why do game servers ban Linux players in pvp games? Fear of some sort of modding only available on Linux?
by marchenko 6y ago
Forgive my ignorance, but why do game servers ban Linux players in pvp games? Fear of some sort of modding only available on Linux?
- sethhochberg 6y agoModern anti-cheat platforms can be pretty invasive and tie very closely into the operating system - ie, if designed for Windows, they often simply won't work at all through some other layer like Proton/Wine. This is interpreted by many game companies as an attempt to cheat, rather than simply an unsupported use case.
- xahrepap 6y agoIt’s basically an anti-cheat “feature”. The assumption is that if you’re running a windows game on Linux you’re probably cheating.
- fishtacos 6y agoI'd say there's some basis there. Discussed here prior: https://news.ycombinator.com/item?id=20445748 https://news.ycombinator.com/item?id=20445748
- izacus 6y agoModern anticheats are basically kernel rootkits which go even to the point of trying to checksum your drivers and inspect how they work. They're basically as invasive as they get. They obviously can't hook into Linux kernel so they react by just banning the player.
- invokestatic 6y agoNow I'm biased because I'm an anti-cheat developer, but I really can't see how checking the integrity of your installed kernel device drivers is at all invasive.
- jasonjayr 6y agoIt's none of the game's business what other software my computer is running. These checks have in the past been notoriously buggy, and can interfere with other operations. This kind of crud is what remote attestation is for, and Microsoft should be responsible for developing it, not every different gaming company competing with each other for kernel access.
- invokestatic 6y agoFwiw, my solution does actually take advantage of remote attestation, and if that is validated, a large part of kernel integrity checks are skipped. The problem is that many “gaming” consumer motherboards don’t ship with TPMv2 or secure boot, and we still have to support those computers.
- devwastaken 6y agoHow does tpm or secureboot assist in anti cheat?
- invokestatic 6y agoWhen you can remotely prove that the entire boot chain has not been tampered with, it’s much harder to load cheat software in the kernel layer. Of course, still possible, just harder and easier to detect.
- deleted 6y ago[deleted]
- google234123 6y agoHow does this address the fact that windows has 100s of badly written drivers that allow r/w to kernel? This seems to only stop the most advance cheats that actually execute at or before boot.
- idiot900 6y agoThis is why I have a separate Windows PC for gaming, that I do not ever put personal information into, or use even to sign into my personal, non-gaming accounts (e.g. Gmail). Perhaps not a good solution for everyone, but I think that's what the world has come to.
- adamc 6y agoAt one point I built a "Steam Box" that ran Windows (because, at the time anyway, lots of things didn't run on Linux), and hooked it up to the TV. The only problem I ran into was that lots of games don't do controllers well, either.
- izacus 6y agoI have the same setup and controllers aren't really issue on modern games anymore - they're all released for consoles as well so they usually feature good controller support.
- bregma 6y agoI did the same thing. It ended up being used mostly for watching streaming services instead of gaming for social reasons (the TV is in a shared area). I ended up buying an even bigger more powerful gaming PC with dedicated gaming keyboard and mouse and no controller. Linux for work, Windows for streaming TV, Windows for gaming.
- rational_indian 6y agoI have installed Windows in a dual boot configuration with Linux. I now have a better time separating work and play, win-win!
- 495636483 6y agoThis is why I settled with a PS4 last year. Even on a Linux PC, I would feel "dirty" with games and steam installed, and I can't afford a PC exclusively for gaming. A PS4 costs 300€ and runs Skyrim, so I am quite happy. I am also speculating that the PS4 will become completely owned by the community and ultimately runs Linux without anything missing.
- mdtusz 6y agoThis would be an interesting use case for eBPF.
- mhh__ 6y agoGiven that the JIT may or may not have to be turned off for security reasons, you'd have to be very careful i.e. eBPF-ing userspace code is quite slow
- throw_a_say 6y agoCapitalism at its finest. Harmful measures to ensure profits, and mostly getting a pass because.. shiny things.
- Google234 6y agoWhat are you talking about? Game makers are trying to make fun games for people to spend time on and enjoy
- dmos62 6y agoSomething that I find interesting is that anti-cheats are needed when either 1) the input can be somehow enhanced (think fps aim hacks) or 2) more information than the player should have is being sent to client (think fog of war or wall hacks). That's hard to avoid in shooters, where you need that behind-the-scenes information to reduce perceived latency. But games that don't have that low-latency-hungry "twitch" element, like strategy games, turn-based, etc., can make do without information that would enable hacking (and they usually don't benefit from input hacking either). I'm currently working on a pvp strategy game that uses an exaggerated input delay as a game mechanic, which also gets rid of the need to send information that the player shouldn't have: ground-truth is computed server-side and after pruning and transforming according to each player's perception, streamed to the clients. That's unhackable in the game hacking sense.
- b0rsuk 6y agoWhile technically correct, first person shooters might be the most popular multiplayer genre. In practice it's more accurate to says special cases are the games which do no qualify to the categories you outlined above. As for turn-based games, they work better as board games unless you have a pandemic going on. In theory simultaneous turn games are possible but rarely observed in practice. Dominions games, Laser Squad Nemesis, etc. Sequential turns (A/B/C/D) scale very badly and human face to face contact makes up for that.
- Macha 6y agoAlso, if you're going to automate bots on a large scale (for resource farming or just interfering with other players), Linux makes more sense for the same reasons it makes sense for other server based software. Combined with a lower player count, devs decide actual Linux gamers are acceptable collateral damage sometimes. Or anti-cheats looking for unusual factors of the execution environment that might indicate cheats using DLL hooking, or just something wine does differently to windows.
- BatteryMountain 6y agoNot just about anti-cheat software. Typically people who write bots will host them on linux servers, so it's easy to blanket ban linux as a whole, that will catch most bots. Also, some multiplayer games's servers trust their game client's inputs - if that game client suddenly runs on a system that has full control over the game (like linux and the kind of tech savvy people that knows how to use linux to it's fullest), it makes it harder for them to trust that the 1000 players online are not exploiting the game by manipulating network requests right before it goes over the wire. This is a compromise that devs have to make when integrating network code with their game: if you click the mouse, does it immediately update the server in a synchronous fashion and introduce latency but having guaranteed consistency of your world (while the game state lives on the server and the client is "dumb") OR do you make the game client smart and hold some portion (or whole) of the game world on the client and just send small updates to the server. In the last case there will be less latency but you have an occasional glitch when packets drop and it is more susceptible to attack, since more work is done locally (Path of Exile have/use to have this setting and you could choose which way you want the game to talk to the server - depending on your connection - I think it's automatic now, haven't played in a while). Why do I mention this? I'd argue it's easier to attack this compromise from a linux box or a compromised linux game client - so again, game devs just outright ban linux since that is the path of least resistance. Another thing with multiplayer: some games, esp older ones, have to have some minimum fps to keep the game world consistent for all connected players. So between fps and network latency and the mitigations/compromises that the devs have to make here, the code becomes realllly messy/complex and can easily turn into a blackbox - a blackbox that maybe only work on Windows, or a windows specific gfx stack or network stack to guarantee the minimum conditions to make multiplayer playable. I mention this because there are quite a few differences in the network and gfx stacks between Windows and linux, add on top of that different windowing systems and compositors (X11, Wayland etc).. the devs will spend triple the amount of work to get their game stable on both platforms. And again, easiest path is to just ban linux since it is harder to guarantee that the game client behaves in a specific way. This is a hard pill to swallow but its true. And this is why something like Proton exists: it is better in this case to emulate a Windows environment than it is for each game dev to write 2 implementations for their network/gfx stack in their game, and then hope that the two game clients have similar performance/behaviour traits that keeps the game stable (never mind safe against exploits). Luckily for us things are getting better, esp in the indie space and in some single player games. Some game engines has also made it waaay easier to build to linux so that has become a non-issue at this point. I'd argue the main stumbling block is in the game clients as described above - the compromise between a stable game world in multiplayer games and possible exploits that can originate from linux hosts. Anyone else have thoughts on this or want to correct me, please raise it. These are just off the top of my head, I'm not a game dev. edit: another silly thing that differs between Windows & Linux: font rendering. Your gfx might work fine and when you start rendering text you realize you need to rebuild some portion of your gfx stack, which then maybe breaks on linux... so easier to skip linux then you know your text renders correctly.