Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Some way to distinguish "cheaters" and legit players using Proton. #1468

Open
2 tasks done
HonkingGoose opened this issue Sep 15, 2018 · 9 comments
Open
2 tasks done

Comments

@HonkingGoose
Copy link

HonkingGoose commented Sep 15, 2018

Feature Request

I confirm:

  • that I haven't found another request for this feature.
  • that I have checked whether there are updates for my system available that
    contain this feature already.

Description

Some way to prove to the automatic anti-cheat systems that Proton is not being used to cheat.

Or some kind of whitelist for Proton, so that the simple fact of using Proton is not enough to get you flagged as cheater.

Justification

The problem is that, currently, using any kind of emulation/compatibility layer can lead to getting hard-banned or soft banned. This leaves legit players out in the cold, they are not cheating, but might lose access to playing a game entirely (hard-ban), or are only allowed to play with other people labeled as cheaters (soft-ban).

Many online games have some kind of cheat-detection system, which triggers when using Proton/Wine/DXVK etc. So this problem is not in any way exclusive to Proton itself.

Enabling Linux users to safely play online without fear of getting banned will, I think, be helpful to improving Linux user-base on Steam. But how much the user-base would increase, I don't know.

Possible routes to getting a solution:

Now I have given this some thought, and have come up with two solutions.

First way:

Somehow convince stakeholders (game-developers/anti-cheat makers/publishers/moderators) to whitelist Proton use. Really simplified:

Honestly, our users are nice people, and they won't abuse Proton to cheat. So can you whitelist us?

This appeal, I think, has limited believably and sustainability.
There will always be trolls, cheaters, etc. who will abuse Proton to cheat.
Let's assume that the Proton whitelist will be granted, that the appeal works; people will still find a way to cheat. The well will be poisoned by those users, and we're back to square one: Proton users are banned on sight.

Way the second:

Implement some kind of technical proof that Proton is not used to cheat.

Maybe something like GPG-keys and SHA256SUMS can be used to prove that the Proton install is legit and wasn't tampered with. However we will also need to prove during run-time that nothing is hooking into Proton to cheat. This will likely prove to be a hard problem to solve.

The end-game here would probably be developing new anti-cheat measures for Proton or implementing existing anti-cheat solutions (such as Steam's VAC system) into Proton. I have a feeling that both of those will be out-of-scope for the Proton development team.

Risks

  • It might be impossible/really hard to distinguish between legit Proton usage and cheating with Proton.
  • It might cost too much time/effort/money to get this fixed.
  • Ongoing support in the form of patching the system might cost to much money/time/effort too, whatever is implemented will surely get "hacked" by people looking to troll...
  • Reputation damage Valve/Proton: either solution will place trust in Valve/Proton, if people still cheat after Valve's/Proton's guarantee, this might reflect negatively on the reputation of Valve/Proton, and affect the ability to do business with stakeholders in future.
  • The opportunity cost for this feature request might be too high, in that it's a better return on investment to focus on other things for now, that have a bigger impact on Linux market-share.

References

This issue affects games which are wholly online or have online components and use some form of anti-cheat system.

I've linked issues for games which seem to be affected by not having EAC, or other forms of anti-cheat integrated into Proton.

Conclusion

I'm fully aware that solving this problem might be out-of-scope for the Proton team itself.
Any solution will also require buy-in from others, and this might cost a lot of time/effort/money.

@HonkingGoose
Copy link
Author

HonkingGoose commented Sep 15, 2018

@kisak-valve I hope this is the right place to post it. If not you may close the issue. I just wanted to put this out there, so that the issue can be tracked.

I have also just found from https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561 that:

Q: Are there any games that will never work with Proton?

It's likely that some games using complex DRM or anti-cheat systems will be difficult, or even impossible to support.

I also saw that you closed issue #1446 as out-of-scope. So it might be that my issue is also out-of-scope... or otherwise be labeled as "won't fix".

@gbdlin
Copy link

gbdlin commented Sep 18, 2018

This is possibly an suggestion for each different anti-cheat system, not for proton. If they'll contact proton supporters to include some proof for them that proton is not being used as a workaround for cheating or they will just respond when creating whitelist request that this is required for them, then we can have discussion here how and if we should provide that kind of proof. But it is still up to them to decide if proton should be whitelisted or not.

@HonkingGoose
Copy link
Author

@gbdlin
I filed this feature request here, so that the Proton developers might reach out to the anti-cheat developers. If we wait until the anti-cheat developers contact Proton, I have a feeling we will be waiting a long, long time: Linux market-share is way too small right now for them to even think about Linux users at all... So I feel some kind of outreach by Proton/Valve would probably be necessary to get anything done in this matter.

I do agree that actually working on something now is probably premature. Because we don't know yet what kind of technical measures would be needed to get approval from the anti-cheat developers.

So the roadmap, as I see it, would be:

  1. Decide if this is in or out of scope for Proton in the first place.
  2. Then talk to the anti-cheat developers.
  3. See if they are willing to work with Proton on this at all.
  4. If they are willing, ask what kind of "guarantees" would be needed.
  5. Decide if the work is do-able, and if its worth the time and money.
  6. Only then start work on the needed bits and bobs for Proton.

@HonkingGoose
Copy link
Author

Hi @kisak-valve, I see my issue isn't yet labeled "feature request". Is this intended? Or did you forget to add the label? I'm not angry or anything, just curious. 👍

@kisak-valve
Copy link
Member

Hello @HonkingGoose, yes, we're waiting to hear from a Proton dev for this.

@HonkingGoose
Copy link
Author

@kisak-valve
Oh, I thought you just labeled issues with "feature request" as and when they come in. I had no idea that the label "feature request" needed to be approved by the Proton devs.

I'll wait then. 😄

@massatt212
Copy link

massatt212 commented Dec 16, 2018

EAC is owned by epic they definitely not going to make this work on proton, so we all are screwed, we need to make petition to the devs to drop EAC and to use something just as good that works with proton

@simonvanderveldt
Copy link

simonvanderveldt commented Jan 7, 2019

Seems like this wine bug is/might be relevant https://bugs.winehq.org/show_bug.cgi?id=44235 and going by this comment (that person seems to be a Paladins dev) EAC does seem to support wine specific builds https://www.reddit.com/r/Paladins/comments/606g17/easyanticheat_wine/df4mgph/
(Looking at https://www.easy.ac/en-us/support/?next=contact it seems EAC is also used in multiple Counter-Strike games, so it should either be possible to run EAC on Linux or the Linux versions don't use EAC).

Now if EAC would properly support running windows applications via Proton and provide a wine version of EAC that works that might be a nice solution to this problem. Has anyone reached out to EAC to check/discuss if this is possible?

@HonkingGoose HonkingGoose mentioned this issue Mar 31, 2019
2 tasks
@M-Reimer
Copy link

About Counter Strike and EAC: The servers that require it also require you to install EAC on your Windows client to enter the server.
Or in other words: Currently no access from Linux to such servers.

Actually CS:GO players don't have access to several services when playing on Linux:

  • FACEIT
  • CME.GG
  • ESEA
  • ...

Wasn't Valve in the process of getting EAC to work on Linux/Proton? As far as I remember the EAC developers said that there is a native EAC version for Linux. Wouldn't it be possible to install the native version and make the games in Proton access the native EAC to accept this as anti cheat? Does someone know any details? Where can the progress be monitored?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants