ValveSoftware / Proton

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

Squad (393380) #938

Open felschr opened 6 years ago

felschr commented 6 years ago

When downloading the game ¨Squad¨ from Steam it directly finishes and trying to start the game causes en error: ¨An error occurred while updating Squad (missing executable) {some very long path here}/squad_launcher.exe¨

When I use the inspect game folder option I can see that the folder is completely empty.

https://store.steampowered.com/app/393380/Squad/

NGGJamie commented 4 years ago

Edit: I did notice that the whole game freezes in the tutorial as soon as you get to the kit role station.

Edit 2: I have also been having some major performance issues, sometimes it works flawlessly, sometimes I can't get over 20 fps

My game worked previously prior to stopping, so I will note that the game freezing during kit role selection on the tutorial happened previously, as well. Or at least, it did for me. So this is likely not a new issue.

My internet is horrible and hence I'm still downloading the update, but I'll report back on if I get performance issues when I have that data.

antimech commented 4 years ago

Guys, I haven't played Squad for quite some time now and I forgot to mention some of my research, hope it helps you.

  1. So, the FPS drop problem appears after loading second map per launch, it seems like the first map is remaining in the memory. It's easy to fix by restarting the game.
  2. This game crashes because something is wrong audio (see FAudio). I've contacted devs and they saw audio crash in my logs, they never met this kind of issue.
  3. EAC is inconsistent, I tried to install Squad on different distros, and even tried Linux Mint back again, no luck.

All problems are Linux-only, I tested this.

NGGJamie commented 4 years ago

https://flightlessmango.com/games/20398/logs/512

The game is very playable on my machine, graphics are completely maxed out aside from Supersampling. There are moments where it dipped below 50FPS, but they weren't noticeable. This particular benchmark was taken almost entirely during combat, and I also did some shenanigans like spamming the (command) map up and down while spinning to stress the graphics.

imaami commented 4 years ago

@LevitatingBusinessMan Good to hear! I hope we can play a match or two together. Friend me on Steam if you want.

I have to exit and restart Squad after every map, fps goes to 10 otherwise. And changing gfx settings during gameplay does the same... Apart from these it's all good.

zaggynl commented 4 years ago

No change for me with Proton 5.0-9 or Proton-5.11-GE-2-MF with B20. Squad starts, shows EAC error, on game exit squad_launcher process remains until killed. Screenshot_20200630_121919

LevitatingBusinessMan commented 4 years ago

@zaggynl, try deleting the prefix and starting with proton 4.11, then close the game and try it with proton 5 two or three times. There are more detailed instructions somewhere higher in the thread.

zaggynl commented 4 years ago

Steps taken and result:

[2020.06.30-14.11.50] Loader initialized.
[2020.06.30-14.11.50] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=72252b78-00bf-047b-5abd-ee6d89c3a553
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 13.33.235.29
[2020.06.30-14.11.51] [HTTP Error Response] HTTP Response Code: 200 Curl Code: 0.
[2020.06.30-14.11.51] Falling back to a secondary CDN path.
[2020.06.30-14.11.51] [Connection] Connecting to URL: https://download-alt.easyanticheat.net/api/v1/games/55/client/wine64/download/?uuid=209d72f2-e540-7bfd-2f05-ef412af91aa2
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] [Connection] Connect result: SSL connect error (35) Response Code: 0 Destination IP: 104.28.3.249
[2020.06.30-14.11.51] Connection to the Content Distribution Network failed! Curl Code: 35.
[2020.06.30-14.11.51] [EAC Callback] Code 901. Message: 'Connection to the Content Distribution Network failed! Curl Code: 35.'.

Attempting to download the mentioned file by hand results in a 0 byte file.

KallanX commented 4 years ago

@zaggynl Try this version of Proton: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-2-MF. Version 5.11 didn't work for me either.

zaggynl commented 4 years ago

@zaggynl Try this version of Proton: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-2-MF. Version 5.11 didn't work for me either.

KallanX commented 4 years ago

@zaggynl Oh, I forgot to mention, run this too: WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx winetricks hidewineexports=enable.

You'll have to install winetricks via your package manager if not already installed. Best of luck.

zaggynl commented 4 years ago

WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx winetricks hidewineexports=enable Seems to have done the trick! Trying a couple games now. Edit, played one game without issue, FPS seems to be stuck at 60, dips to 30 at times. 3900x/5700xt/nvme/16gbram, 3440x1440

Instructions in full:

edit2: game is unstable, crashed halfway a game when trying to respawn

imaami commented 4 years ago

Awesome to see some progress! It looks like we may have finally found the exact color of chicken to sacrifice for success.

KallanX commented 4 years ago

@zaggynl I've been reading your additions to your comment. I'm glad that we resolved the issue of EAC. As far as overall game stability goes, we may want to examine as a completely separate issue. I recommend looking into game logs to see if there is any common ground for your crashes. I can tell you that the game has had issues in the past with AMD hardware especially in regards to sound. That may not be the issue here but it's something to keep in mind. Keep this thread updated with any progress and I'll try to pitch in when I can.

LevitatingBusinessMan commented 4 years ago

@KallanX I will add that I am on a Ryzen cpu, with an nvidia card.

@imaami What is your platform?

KallanX commented 4 years ago

I'm running an i7-9700, RTX 2060 Super, 32gb RAM. Arch with kernel 5.7.6.

LevitatingBusinessMan commented 4 years ago

@KallanX Are you facing any stability issues? Can you list them? Ones I discovered:

@imaami How can I find you on steam?

imaami commented 4 years ago

@KallanX I will add that I am on a Ryzen cpu, with an nvidia card.

@imaami What is your platform?

Ryzen 3950X, Nvidia RTX 2080, Debian Sid.

Pretty much my only issue with Squad is that the fps takes a nosedive after playing one map, so I restart the game on every map change. But that's not just me, I've gotten the impression that everyone who runs Squad in Proton suffers from the same bug.

Edit: Additional info: My window manager is i3. My kernel is a patch set I maintain myself and is based mostly on -ck, but it has an assortment of other patches thrown in the mix. I haven't bumped to 5.7 yet so right now it's at 5.6.19; if you're interested have a look at https://github.com/imaami/linux/tree/linux-5.6.y-i-ck

imaami commented 4 years ago

@imaami How can I find you on steam?

@LevitatingBusinessMan steamcommunity dot com /id/imaami

LevitatingBusinessMan commented 4 years ago

My game failed working again, without hidewinexports I get the IGameClient error. And with it enabled EAC throws this error:

GameID: 55 (32bit)
Windows Version: 6.1 (Build 7601)
Error Code: 30005
Process Exit Code: 0h
UUID: 31950fdf-9ec7-c65e-c025-3416d4b2130a
Process list:
explorer.exe
plugplay.exe
services.exe
squad_launcher.exe
steam.exe
winedevice.exe

Edit: This behavior reminds of Apex Legends, where the game is only playable just after a new patch gets released.

imaami commented 4 years ago

My game failed working again, without hidewinexports I get the IGameClient error.

Just to be sure: extract the .eac files I uploaded into the prefix, and try running without hidewineexports.

LevitatingBusinessMan commented 4 years ago

I am not sure if I believe this myself, but I think it worked?

wget https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz
tar -xvf easyanticheat_wine_x64.tar.gz
mv pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/easyanticheat_wine_x64{.eac,.eac.metadata} /home/rein/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/

So I guess when you get the game working once, something in the prefix gets set-up so you can get it too work with a previous .eac file. And because after the patch the hidewineexports method worked for a while, I was able to get it working once via that method, and then use the method of using older .eac downloads to get it running now. It worked with hidewineexports after the patch, prob because EAC was temporarily turned off, Apex players have reported similar behavior in the past. Apex also has the same issue where the .eac download suddenly stopped working, so our findings might help them and similar games as well.

Edit: It'd be a good idea to try and clean our prefixes so others can try getting their game to work with them.

imaami commented 4 years ago

@LevitatingBusinessMan Well damn, I hope it actually keeps working for you now! EAC is a real drama queen with this constant up 'n down plot line...

NGGJamie commented 4 years ago

Can confirm I've also gotten into a non-working state similar to how it was previously. Using the .eac and .eac.metadata file hasn't changed the situation in my instance.

zaggynl commented 4 years ago

Stopped working for me as well, new error screen: squad_eac_couldntstart Error Code: 30005 (StartService failed with 1053.)

'Show details' button brings up a window with: GameID: 55 (32bit) Windows Version: 10.0 (Build 17134) Error Code: 30005 Process Exit Code: 0h UUID: 53393436-5878-7746-abec-fd78d6ffdc6b Process list: explorer.exe plugplay.exe services.exe squad_launcher.exe steam.exe winedevice.exe

Application\ Data/EasyAntiCheat folder seems to have gone missing No change with creating the folder and putting the eac files in place. squad_launcher. process does appear to exit gracefully now? Tried an eac repair by: cd "~/.steam/steam/steamapps/common/Squad/EasyAntiCheat/" WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx wine EasyAntiCheat_Setup.exe which shows the installer and allowed me to uninstall/install/repair but made no difference for the error.

Edit: Tried the following:

LevitatingBusinessMan commented 4 years ago

@zaggynl @NGGJamie, did you disable hidewineexports?

That crash is certainly new.

zaggynl commented 4 years ago

@zaggynl @NGGJamie, did you disable hidewineexports?

That crash is certainly new.

I think so? I removed the wineprefix and the launch option, let me know if there is anything else. Differences I notice with and without:
with: I get the new error without: eac flashes by and per steam squad exits, see my edit.

LevitatingBusinessMan commented 4 years ago

@zaggynl did you read the last few comments in this thread at all? Removing the wineprefix is exactly what you shouldn't have done. You also never had to a set a launch option you can enable/disable hidewineexports via protontricks.

Edit: @NGGJamie did you actually get it working in the short time after the patch?

zaggynl commented 4 years ago

Yes I messed up there, what does hidewineexports do?

LevitatingBusinessMan commented 4 years ago

@zaggynl, it hides that the game is being run via wine.

Inexorabilis commented 4 years ago

Sadly is also broken on my side again. I've gotten Squad to run without the IGamClient Error short after the Patchrelease, however I've never actually joined a Server. Now I've tried to switch hidewineexports off and place the .eac* files in the directory, but again the IGameClient Error comes up. So it may is related to if you actually joined a Server and played a bit?

I've also tried it with other versions and new prefixes. The only "new" thing that happened was that when starting Squad with Proton-5.11-GE-2-MF and enabled hidewineexports the EAC Startup Error doesn't come up anymore.

MAD-BUG commented 4 years ago

After poking around a little bit i found out that i can make new prefix working by using eac files and pasting user.reg from working prefix

LevitatingBusinessMan commented 4 years ago

@MAD-BUG That's a crazy find. What's in that file?

imaami commented 4 years ago

After poking around a little bit i found out that i can make new prefix working by using eac files and pasting user.reg from working prefix

Buy this man all the beers!

LevitatingBusinessMan commented 4 years ago

I just spent my last money on Squad and an SSD to put it on, I can hardly buy myself a tonic water.

But @MAD-BUG earns my eternal respect.

MAD-BUG commented 4 years ago

OK some bull* here. After changing name in paths of "TEMP" and "TMP" under "[Environment]" block from "steamuser" to "vagrant" and using eac files game just starts without errors. I will point out that has not yet playtested it. `[Environment]

time=***

"TEMP"="C:\users\vagrant\Temp" "TMP"="C:\users\vagrant\Temp"`

LevitatingBusinessMan commented 4 years ago

You just keep on giving

Inexorabilis commented 4 years ago

Okay has been tested with Proton-5.11-GE-2-MF and hidewineexports disabled. The eac files has been put in /COMPATDIR/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/

I was able to join an empty server, choose a Kit and run around. No kick from EAC so far. This could be the solution to this issue.

Edit: Seems to work with hidewineexports enabled as well

LevitatingBusinessMan commented 4 years ago

However @Inexorabilis it is likely only a solution for people that already have started and played the game once with EAC working, for which there seems to be a small window just after patches.

Inexorabilis commented 4 years ago

@LevitatingBusinessMan I've deleted my one time working prefix, since it wasn't working anymore. The prefix I'm using is a completely new one. The .eac files are those posted from imaami earlier. The only possible issue I see at this point, which could cross this solution, is that the .eac files are somehow tied to imaami's Installation (launching without them won't work).

Edit: To be clear I've edited the user.reg as MAD-BUG suggested.

LevitatingBusinessMan commented 4 years ago

@Inexorabilis in that case it can't be a failproof solution, because we tried to get it to work multiple times before and it didn't work, however it's possible that the fact that the files from imaami worked on me is not because I played it before but because of the same reason it worked on you suddenly. Maybe something just got changed after the patch. However MAD-BUG said he only got it too work when pasting user.reg to the new prefix.

MAD-BUG commented 4 years ago

I got it working on a new prefix with eac files and enviroment changes in user reg

Inexorabilis commented 4 years ago

To be clear I've edited the user.reg as proposed by @MAD-BUG and changed

[Environment] *****

time=*****

"TEMP"="C:\users\steamuser\Temp" "TMP"="C:\users\steamuser\Temp"

to

[Environment] *****

time=*****

"TEMP"="C:\users\vagrant\Temp" "TMP"="C:\users\vagrant\Temp"

Then placed the .eac files from @imaami to /COMPATDIR/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/ This all happened in a brand new prefix running on Proton-5.11-GE-2-MF. It is regardless if you enable hidewineexports. Sorry for not being this clear at first

Edit: Works on Proton 5.0.9 as well with, again a newly created prefix. We now can reproducible create working prefixes. I think we really need to buy MAD-BUG all them beers :)

MAD-BUG commented 4 years ago

It is still a janky solution because each separate individual depends on those eac files and change in register just suggests that we are either forcing EAC to skip some check or to use a fallback method. I can speculate that eac file is just some code that process handling of enviroment for main anticheat executable (after putting it into decompiler) and it will not stop working in mean time if it will not be blocked specificaly. But the work is not yet done and we really need to find a way to get those files by other metod rather than this discussion. For ease of use and capability to share some method for a more broad public without a fear of some sort of ban or anything for any of us.

ipimpat commented 4 years ago

You guys are awesome, it works for me too (with normal Proton 5.0.9), but I also share @MAD-BUG's concerns.

I cooked up some generic commands that downloads and extracts the EAC files and patches the user.reg file:

  1. Find the path to your steam library:
GAME_LIBRARY_PATH=$HOME/.local/share/Steam # /path/to/your/steam/library/that/contains/squad
  1. Remove the old prefix (if any):
rm -r $GAME_LIBRARY_PATH/steamapps/compatdata/393380
  1. Start the game, so the prefix gets (re)created (EAC predictable fails here, ignore that), exit the game when it's started:
steam steam://rungameid/393380
  1. Download some magic EAC files and extract them into the game's Proton prefix:
wget -qO- https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz | tar xvfz - -C $GAME_LIBRARY_PATH/steamapps/compatdata/393380
  1. Patch some stuff for what ever reason:
sed -i 's/\"TEMP\"=\"C:\\\\users\\\\steamuser\\\\Temp\"/\"TEMP\"=\"C:\\\\users\\\\vagrant\\\\Temp\"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg
sed -i 's/\"TMP\"=\"C:\\\\users\\\\steamuser\\\\Temp\"/\"TMP\"=\"C:\\\\users\\\\vagrant\\\\Temp\"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg
  1. Start the game and cross your fingers:
steam steam://rungameid/393380
imaami commented 4 years ago

This has been a genuine team effort, a huge thank you to everyone! I don't think any of us could've gathered all the puzzle pieces alone. It feels really appropriate that we're focused on Squad specifically, because teamwork and cooperation are what makes it a great game. Without teamwork it would be just another shooter among dozens.

Hey Epic and makers of EAC, if you happen to read this: it should be pretty obvious we don't want to break, hack, or bypass anything that combats cheating. I personally have a hard time believing that anyone who's active in this thread would think cheating in online cooperative multiplayer games is OK. Basically we all want EAC to work. If you have any suggestions or requests how we can make EAC work better (so that it actually does prevent cheating as much as possible without discriminating against Proton users), then at least I'm all ears.

LevitatingBusinessMan commented 4 years ago

@MAD-BUG any specific reason for using the user vagrant? Because I got it too work just buy pointing TMP and TEMP to any non-existing directory just now.

Edit: And I found that my own prefix that worked previously actually had the values to "C:\\users\\steamuser\\Temp" like normal

Edit: I did some extra tests, here are my findings.

imaami commented 4 years ago

@LevitatingBusinessMan How about new prefix, just .eac files, and touch compatdata/393380/pfx/user.reg?

LevitatingBusinessMan commented 4 years ago

@LevitatingBusinessMan How about new prefix, just .eac files, and touch compatdata/393380/pfx/user.reg?

That did not work

imaami commented 4 years ago

@LevitatingBusinessMan How about new prefix, just .eac files, and touch compatdata/393380/pfx/user.reg?

That did not work

OK, so at least some minimal change is needed. I'm just wondering if the TEMP and TMP path settings are actually relevant, or if there's some general file-is-modified check or something. But just thinking out loud.

MAD-BUG commented 4 years ago

@LevitatingBusinessMan No specific reason, 123 also works. I just compared two reg files and in the working one was written vagrant so for the first test i used it.