sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.05k stars 70 forks source link

Hunt: Showdown closes with error #997

Closed keenanweaver closed 7 months ago

keenanweaver commented 7 months ago

System Information

CPU: AMD Ryzen 7 5800X (16) @ 4.85 GHz GPU: AMD Radeon RX 7900 XT/7900 XTX Kernel: 6.6.5 DE: KDE Plasma 5.27.10

Issue Description

Hunt: Showdown closes with an error after loading EasyAntiCheat with STL. Does not occur with regular Proton / Proton GE. Issue only occurs when using STL.

Screenshot_20231211_085543

I've tried changing all sorts of options: disabling all components, changing Proton versions, etc. Hunt is the only game I have issues with with STL. Both Steam & STL are flatpak installs.

Logs

594650.log

sonic2kk commented 7 months ago

Ah, sorry about this, but I can't do much here afaik. Games with EAC usually do not work with tools like STL. There have historically been reports of games using this malware not working, usually just with a straight crash (Elden Ring, Halo MCC with EAC on but works with it off, Dead By Daylight), but games without it work fine. I couldn't find it but I recall one game that initialised EAC later on, and once the game tried to initialise it, the game would crash with STL.

This issue is the first where a user has reported it with Flatpak, so I don't think the issue is specific to the Flatpak environment.


I took a look at the log, the actual start command looks sensible to me:

/app/bin/gamemoderun /usr/lib/extensions/vulkan/OBSVkCapture/bin/obs-gamecapture /mnt/games/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- /home/keenan/.var/app/com.valvesoftware.Steam/.config/steamtinkerlaunch/proton/custom/GE-Proton8-25/proton waitforexitandrun /mnt/games/Steam/steamapps/common/Hunt Showdown/hunt.exe +online_account_client_settings live +online_websvc_skip_tls_cert_validation 1 -dx12

You could try running Steam from the commandline and seeing if the launch command looks much different when running without STL. It won't have the first part with gamemode and obs-gamecapture, so I imagine it would look something like this (the verb may be slightly different or omitted entirely):

/mnt/games/Steam/steamapps/common/SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun -- /home/keenan/.var/app/com.valvesoftware.Steam/.config/steamtinkerlaunch/proton/custom/GE-Proton8-25/proton waitforexitandrun /mnt/games/Steam/steamapps/common/Hunt Showdown/hunt.exe +online_account_client_settings live +online_websvc_skip_tls_cert_validation 1 -dx12

The error message shown looks to be related to some DLL loading being blocked by EAC, likely because it detects unknown software (SteamTinkerLaunch) running with the game. Other games with EAC have been reported to fail. The fact that this fails after EAC loads is a big hint to me as well that EAC is the culprit here, despite the error message being a little vague.

The only other potential thing I could think of is to make sure you're using STL as a compatibility tool, and not as a launch option, as some marginally related errorrs have come from using STL incorrectly as a launch option with Proton games. Despite correct usage being noted on the Readme and wiki, this is still a common issue, so I like to mention it just in case.

There are also some general things to try, that you probably already did as part of the usual troubleshooting process:

I would be pretty confident in saying this is an issue with EAC, though. I am staunchly opposed to people playing games with invasive anti-cheat, Linux or otherwise, so I cannot and will not be able to test this in any capacity personally.

Both Steam & STL are flatpak installs.

Yes, you have to use Flatpak STL with Flatpak Steam.


Even though I am strongly against these "games", I hope something here was of some value at least. You'll probably just have to play these games without STL. I cannot help with games that use EAC as I will not test them, and STL by nature will not play nice with these types of anti-cheats. If other games work and it's this one game that doesn't, and given the history of other games with EAC not working, I don't think it's necessarily a stretch to believe that STL is incompatible (or it may even be on a list of banned tools that EAC checks for).

Good luck!

keenanweaver commented 7 months ago

Appreciate the response! Thanks for making this utility!

sonic2kk commented 7 months ago

No problem. If in future you do come across anything STL can do for this, please leave a comment / open a new issue documenting what needs to change. I could potentially try and implement it but also it could be left open for someone else to look at who can test it more thoroughly. As it stands right now though, I don't know of any such fix, and believe this is just EAC "doing its job" so to speak.

The reason this is closed is that, because it seems to be a common theme that EAC doesn't play nice with STL, I don't think I can fix it. EAC tries to detect potential cheat programs and denies game access if it detects them, oftentimes with a lot of false-positives.

But if it turns out I'm wrong and you / someone else reading this finds out something can be done, documenting a fix or documenting what change may be needed on the STL side would be good for others to know.

keenanweaver commented 7 months ago

Will do. Hunt may be a special case because I've tried other EAC games and they worked fine with STL. Hell Let Loose, Elden Ring, & Friends vs. Friends specifically. Unsure what the differences are.

sonic2kk commented 7 months ago

It seems this game is the only from the one you've mentioned that uses a Crytek Engine. I don't believe I own any games that use this, so I wonder if it's specific to this engine. Then again, I don't see why that would be.

My money is still on EAC.