| Not 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. |