Currently, the Wine and Proton compatibility layers for Linux don't work with Easy Anti-Cheat and we have something of an update on the status for you.
Easy Anti-Cheat is one of the most widely used systems to reduce cheating in games, it's available in some form for actual Linux builds of games but it's something of a sore spot for Wine and Proton. Some time ago, it was confirmed that Valve and the Easy Anti-Cheat team were planning to work together to get the situation sorted, Epic Games later confirmed Easy Anti-Cheat was still supported on Linux for native builds too after it appeared that was stopping. Since then, we've not really heard anything officially on it.
However, over on Reddit, user Guy1524 who happens to work for CodeWeavers (who work on Wine / Proton) gave a personal update on their own clearly unofficial (EAC themselves are not involved) progress to get Easy Anti-Cheat working.
At this point, EAC will load, correctly process an IOCTL in which the loader sends an encrypted "internal dll", which it expects the driver to inject into the game process. EAC will then correctly map this dll when the process loads, and try to initialize it. This is the point where it is failing right now (the internal dll will yield an error), but we seem to be really close to the end of the initialization function, and once blitzcrank finishes devirtualizing it, we should be able to quickly get the function to succeed. In theory, if all goes to plan, the game should then launch, and be able to load the EAC library through the hooks setup by the internal DLL / kernel.
Wine (and so Proton) has always been a game of cat and mouse for Windows games on Linux, a constant game of catch-up as developers do new and different things and break compatibility. Anti-cheat tools add another layer of complexity that can cause more problems. The issue here, is that even if they manage to get it hooked up and working, EAC could end up doing something to block it if they don't like how it's operating. This is actually something that Epic Games Founder and CEO, Tim Sweeney, mentioned on Twitter when asked about it:
We'd be fully supportive of these efforts if confident they wouldn't lead to the worst-case scenario, which is a significant increase in cheating that we have no ability to detect.
If they manage to get Easy Anti-Cheat properly working with Wine and Proton, it would open up yet another big world of gaming on Linux. I think we can all agree that would be a great thing until the day our market share rises enough that more game developers support Linux directly.
although i dont think epic will use EAC on it.... its half a year now or longer, that they dropped linux support and it still works with proton
The LINUX memory hacking apps are about as vanilla as they can get, I just don't see how they can somehow think adding this to Linux will spawn a surge in cheating...
I hope this doesn't lead to some sort of "blame linux users for cheating" trend...
Last edited by TheRiddick on 21 June 2020 at 2:54 am UTC
Apex is by no means the only game to run into this or a similar problem, nor the software responsible the only one of concern, but Easy Anti-Cheat is at the moment the biggest impediment. Affecting many titles including popular AAA, it remains the most prominent aggressive anti-cheat (at least regarding Western titles) that has not to date embraced active support - or at least passive acceptance - of both native Linux and play via Wine/Proton. There are some developers who made this a priority long ago, from the expected such as Valve who's "VAC" and other Steam/Steamworks components are Linux and Wine/Proton friendly to those such as Blizzard. Despite Blizzard's lack of direct Linux support, even years before Proton the developer took the time to respond to concerns of their in-depth self built anti-cheat system, Warden, would negatively flag players of World of Warcraft and other Blizz titles. Updating Warden to be compatible with Wine made the Linux preferring WoW community (and later, other Blizz games using the same/similar system) able to have a parity experience again.
The frustration that Easy Anti-Cheat stands as such an impediment at this point is inflamed thanks to its current ownership - Epic Games. I stand in vehement opposition to just about all of their policies since the arrival of the Epic Store, especially bringing by-contract 3rd party exclusivity to PC gaming. However, their abysmal support of Linux has been another point of friction, made even worse by the fact they seem to do the bare minimum to claim to "support" in some cases such as their Unreal Engine, while at others appearing either openly (Sweeney's quotes) or tacitly hostile in others. Atop its considerable lit of other ills, Epic doesn't support Linux on its own games (ie Fortnite) nor on the Epic Store, neither the client itself nor the games within. Worse, some titles such as "Slime Rancher" that offer Linux support via Steam are not also granted that, even by direct download or some such, if purchased on Epic! Imagine if these games came first to EGS, much less if they signed a deal for timed/exclusivity , it would greatly diminish the chance that the titles would be developed in a Linux friendly manner and any port would come much later, if ever!
Thus, I can't feel too confident that Tim Sweeney would be "supportive" of efforts to help EAC become compatible with Linux , including via Wine/Proton. Positioning it as a hypothetical that "Well, we WOULD do it but don't ya know, it could lead to unchecked cheating everywhere!" isn't inspiring. At best it asks people to prove a negative with incredibly high burden, so if someone gets a workaround or whatnot they can clamp down easily with a "Well, see... we saw an increase in cheating attempts so we just can't allow this to continue"; any amount of hypothetical cheating they can see correlate somehow with Wine/Proton/Linux will be justification. Worse, it isn't like there's no data on this within the industry. Epic could ask Blizzard and Valve for instance, how they've been able to support Linux, including Proton/Wine, without it resulting in a massive influx of uncontrolled cheaters. Clearly, others have done it and continue to do so therefore seeing lots of Epic concern for the outcome could appear to be little more than excuse.
I admit that I am pessimistic regarding Epic's interest and sincerity with regard to Linux in any fashion, including EAC. There were numerous steps they could have taken since they bought the project to ensure that EAC would not treat Linux as potentially hostile, be it native or via Wine/Proton. Steps that would have improved the product itself, expanded potential player bases and make it a more attractive solution to developers. Steps that have been taken by other AAA anti-cheat developers before without making related games vulnerable to cheater incursions. But they haven't, and that doesn't surprise me one bit when it comes to Epic. I'd love to see a real change but even if they can just manage to let others work stand (such as developers from Codeweavers or Valve who find and implement compatibility workarounds/fixes) that would at least be pragmatically a step in the right direction.
Insurgency: Sandstorm is back on my wishlist!
Is the original still better?
Well, it's difficult for me to answer this question as I've never run Sandstorm! I love the Source Engine Insurgency for its tactical gameplay on coop (I don't play often on PvP) and I just suppose that I can have the same feeling on Sandstorm with better graphics (Source Insurgency looks good enough on urban maps and has nice skyboxes but there is often something that don't feel "organic" enough in the layout because everything seems to be too much aligned on a grid, not a problem on dense urban areas but that don't work that much on Peak or Panj maps for example), a bit of character customization (which is always fun and may lead to less "Hey X, is that you on the other side of the street?" when I play with friends and we are using Steam vocal chat for coordination) and more weapons / games mechanics variety (always nice to have)... and performance issues on Sandstorm seem to be a thing of the past now (from what I've heard)! Note that I will probably play Source Insurgency nonetheless as some of my friends don't have PC that can run Sandstorm (Source Insurgency has really a good "Looks good vs Hardware needed" ratio imho), but sometimes I wish to be able to play on an upgraded / more modern version of the game (and Sandstorm seems to run just fine on Proton outside of the obvious EAC problem)!
Last edited by riusma on 21 June 2020 at 9:22 am UTC
Totally implausible, I know. Let's keep building hacks around hacks to get their shit working for a month.
Don't think your point holds weight *because* cheating is easy on Windows. Almost all the cheating tools are built to work on Windows. It would be harder for me as a Linux gamer to find cheats to use on Linux. Sure, someone could make Linux better for cheating, but the status is that it isn't a great cheating platform unless you build the cheats yourself rather than take advantage of all the cheats already built for Windows.You are confusing cause and effect.
That you can find more cheats and tools for Windows is exclusively down to the fact that 99% of gamers are on Windows. Writing some tools to edit hex values while a game is in RAM isn't easier on Windows, it's the same on pretty much any platform.
Same with editing game-specific dynamic libraries, inspecting/inserting network packages, and all the other ways to cheat.
It just wouldn't make sense to write some cheating tool for Linux as it wouldn't really be used by anyone. There already aren't too many gamers on Linux, and (potential) cheaters are an even smaller subset of that.
The same logic adheres to WINE, WINE is not doing magic so whatever WINE can do to bypass EAC on Linux, the cheaters can already do to bypass EAC on Windows.
Also AFAIK this is just WINE enabling the Windows version of EAC to work on WINE, what are the evidence that this will allow Linux gamers to bypass EAC (and bypass it easier than Windows gamers already can)?
How about hardening Proton to protect itself from becoming a tool for a cheaterHow about people just recompile it? Or do code-injections? It's their machine. there is NOTHING (but skill) that stops people from running whatever they want on their machines.
What Sweeney, and other publishers and studios employing client side anti-cheat, wants is to be able to confidently detect when people do that so they can be banned. If this project can inhibit cheating while confidently identifying those who work around it, then that skeptical crew is more likely to listen.How about hardening Proton to protect itself from becoming a tool for a cheaterHow about people just recompile it? Or do code-injections? It's their machine. there is NOTHING (but skill) that stops people from running whatever they want on their machines.
Playing together means establishing rules mutually agreeable and beneficial to all parties. Some Linux users want to play their game. They want assurance this won't affect cheating at all. Public perception and image count. If studios and publishers are perceived as being weak on cheating or favoring a new platform it could cause a bunch of unwanted trouble with their current player base. So, we need to establish that confidence to entice their cooperation.
Yes, but I think what Seegras was saying is basically that that's theoretically impossible, that if you have control of your computer, there would always be a way to defeat such attempts. That would be why anti-cheat systems seem to often look pretty much like rootkits--in order to work with any reliability, they have to take control of your computer away from you. But it's hard to make that stick.What Sweeney, and other publishers and studios employing client side anti-cheat, wants is to be able to confidently detect when people do that so they can be banned.How about hardening Proton to protect itself from becoming a tool for a cheaterHow about people just recompile it? Or do code-injections? It's their machine. there is NOTHING (but skill) that stops people from running whatever they want on their machines.
I don't actually know enough to be sure if that's true, but it seems pretty likely. And anti-cheat creators presumably know that and in real life are settling for making it hard to cheat undetectably. The problem with that is that software is copyable; if one person has a solution, everyone has a solution and then it's no longer hard.
Do cheaters really care about the OS they are playing on?
It's not a homogeneous group obviously but it seems that the vast majority of cheaters ( and gamers in general ) do not even know what an operating system is. If you ask them what they are gaming on the answer will be "Alienware/Dell/etc".
As a side note; It's a personal pet-peeve that the common vernacular in use for cheaters is "hacker", that term used to have a meaning before even the media adopted it as a term for blackhat operatoers - these individuals are at best script kiddies... now get off my lawn
I feel like they're not looking for an ironclad framework, but something that is as reliable as their Windows counterpart. Like you point out the system doesn't prevent cheating, it discourages it by imposing hurdles and the uncertainty of getting detected, caught, and subsequently banned. If this project can instill that same level of confidence then I think that will be realistically enough for EAC and its users (the publishers not gamers). If some Linux gamers can cheat but face the same uncertainty of getting banned as Windows users then that will put them all on the same playing field.Yes, but I think what Seegras was saying is basically that that's theoretically impossible, that if you have control of your computer, there would always be a way to defeat such attempts. That would be why anti-cheat systems seem to often look pretty much like rootkits--in order to work with any reliability, they have to take control of your computer away from you. But it's hard to make that stick.What Sweeney, and other publishers and studios employing client side anti-cheat, wants is to be able to confidently detect when people do that so they can be banned.How about hardening Proton to protect itself from becoming a tool for a cheaterHow about people just recompile it? Or do code-injections? It's their machine. there is NOTHING (but skill) that stops people from running whatever they want on their machines.
I don't actually know enough to be sure if that's true, but it seems pretty likely. And anti-cheat creators presumably know that and in real life are settling for making it hard to cheat undetectably. The problem with that is that software is copyable; if one person has a solution, everyone has a solution and then it's no longer hard.
Edit: and more info on GoL obviously!
Last edited by riusma on 26 June 2020 at 9:49 am UTC
See more from me