ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.51k stars 1.03k forks source link

SCUM (513710) Early Access - Kick because Easy Anti Cheat (EAC) #1248

Open KuJo-Ger opened 5 years ago

KuJo-Ger commented 5 years ago

Scum ran after the release without further adjustments and without problems directly with Steam Play/Proton.

At the weekend the developers added EAC to the game. Since then you are kicked in multiplayer by every server.

Since the game ran flawlessly before, it would be helpful to realize an EAC support for Proton. This would certainly be helpful for other EAC-protected titles as well.

Thinkaboutmin commented 5 years ago

Here's a citation from Valve in the post about the Proton:

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.

jasonm0928 commented 5 years ago

I think this will be more up to the devs that write the anti-cheat systems and/or the game devs making an official Linux port using proton and installing the anti-cheat software outside of Proton on the native Linux OS. This is how Virtual Programming was able to accomplish getting Arma 3 and Battleye working on Linux. Arma 3 ran inside of eON and Battleye ran natively on Linux. I don't believe this will be something Valve will be able to do on their own through Proton.

Tuuvimer commented 5 years ago

I'm all for making it work, but if some proton/steamplay wine catchall fix or implementation of EAC is done I do hope it's done in a way which limits it to its prefix, the steam environment, and the specific proc IDs and not one which actually fully "incorporates" EAC. It doesn't seem to have (from posts and reviews) stopped cheating in the game at all, anyway. I bought it due to croteam, I have no doubt in their abilities so hopefully this will be changed gameside. /wishful thinking, I know.

garethmcc commented 5 years ago

I would appreciate it if the Proton devs could at least look at the problem before declaring it an issue with EAC alone. There may be some simple tweaks that could be made.

Skyfail commented 5 years ago

@garethmcc there’s nothing Valve can do. EAC utilizes a kernelmode driver that you can’t easily emulate on Linux, EAC devs would have to offer native Linux support by default.

HonkingGoose commented 5 years ago

Implementation of some kind of whitelist/integration of anti-cheat systems into Proton is tracked here: #1468

kisak-valve commented 4 years ago

SCUM Crashes

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3242. @Klairm posted on 2019-11-21T15:41:41:

Compatibility Report

System Information

I confirm:

PROTON_LOG=1 %command% -> https://github.com/Klairm/proton-scum-log/blob/master/steam-513710.log WINEDEBUG="-all,trace-err" %program% >> $HOME/test.log -> https://pastebin.com/c8uC7FBU

Symptoms

I launch the game and it stucks at the loading screen, also seems to be an error window which i can't see -> https://imgur.com/a/YkhRXv4

Reproduction

Launch the game Expect that the game will crash

Klairm commented 4 years ago

SCUM Crashes

Issue transferred from #3242. @Klairm posted on 2019-11-21T15:41:41:

Compatibility Report

* Name of the game with compatibility issues: SCUM

* Steam AppID of the game:513710

System Information

* GPU: GTX 750Ti

* Driver/LLVM version: Nvidia 435.21

* Kernel version: 5.3.11-1MANJARO

* Link to full system information report as https://gist.github.com/Klairm/16075fe7bc0e3934b30e558b8835e010

* Proton version: Tried with 4.11 and 4.2

I confirm:

* [x]  that I haven't found an existing compatibility report for this game.

* [ ]  that I have checked whether there are updates for my system available.

PROTON_LOG=1 %command% -> https://github.com/Klairm/proton-scum-log/blob/master/steam-513710.log WINEDEBUG="-all,trace-err" %program% >> $HOME/test.log -> https://pastebin.com/c8uC7FBU

Symptoms

I launch the game and it stucks at the loading screen, also seems to be an error window which i can't see -> https://imgur.com/a/YkhRXv4

Reproduction

Launch the game Expect that the game will crash

Got it working using Proton GE 4.15, but not playable because i get 2-3 fps in lowest graphic settings

EDIT: Disabling DXVK will increase the FPS, but, will bugs the floor with a buggy texture imagen

jarrard commented 3 years ago

Been testing this and trying the SQUAD method of getting EAC working but it comes up with some DLL signature issue and asks for me to verify file integrity. Not sure what its talking about.

Be nice if someone can figure this game out. I also tried the Vulkan API option but it spits out a missing VK_ERROR_LAYER_NOT_PRESENT which seems like something we should be able to fix.

jarrard commented 3 years ago

Progress on EAC Following how SQUAD does things and getting the correct EAC files for this game ID 171 and renaming them accordingly, I now get EAC to function but it has a connection issue which I do not understand why it happens.


[2021.06.09-16.01.45] [Connection] Connect result: No error (0) Response Code: 403 Destination IP: 65.8.42.41
[2021.06.09-16.01.45] [HTTP Error Response] HTTP Response Code: 403 Curl Code: 0.
[2021.06.09-16.01.45] Falling back to a secondary CDN path.
[2021.06.09-16.01.45] [Connection] Connecting to URL: https://download-alt.easyanticheat.net/api/v1/games/171/client/wine64/download/?uuid=882d6cd8-9d95-277c-edfb-965caa5e6645
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] Download Progress: 0%.
[2021.06.09-16.01.45] [Connection] Connect result: Couldn't resolve host name (6) Response Code: 0 Destination IP: Unavailable
[2021.06.09-16.01.45] DNS resolve to the Content Distribution Network failed!
[2021.06.09-16.01.45] [EAC Callback] Code 896. Message: 'DNS resolve to the Content Distribution Network failed!'.

The issue is wine64 is incorrect, it should be win64. This can likely be fixed so I'll look into it. But it seems maybe that won't be enough.

Furthermore; it seems SQUAD works because the developer has made a EAC wine64 files available on the EAC servers, but as far as I can tell they look identical to the win64 ones. If you run MacOS it will deduce a url that suites that OS but maybe files are also the same?

rowbawts commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/1248#issuecomment-857424886

Any luck with this? I've tried my own tinkering with swapping DLL's from Squad and etc and made some changes but nothing major.

jarrard commented 2 years ago

It happens because /wine64/ does not exist on EAC servers, only win64 does. With Squad wine64 exists.

EAC inserts system software architecture in that spot. Proton/Wine isn't fooling EAC into thinking its a windows machine basically.

rowbawts commented 2 years ago

Yeah I noticed that when I was doing my testing sucks, do we know why it exists on one and not the other? Because if it works for one why wouldn't they enable it for all?

Edit: I emailed EAC on this to see if they have an explanation.

jarrard commented 2 years ago

Well I think the developers need to enable wine64 compatibility. I don't think EAC will just enable support for other platforms unless asked.

Most developers are not going to do that.

Reidond commented 6 months ago

Replying to #1248 (comment)

Hi, is it possible to fool game to think it's running win64 not wine64? Developers really don't care about this game...

Hmm, is it possible to run proxy for this url https://download-alt.easyanticheat.net/api/v1/games/171/client/wine64/download/?uuid=882d6cd8-9d95-277c-edfb-965caa5e6645

jarrard commented 6 months ago

Probably, but I don't know how, and it may result in being flagged for cheating.