Linux install script (Lutris)

0

As far as I'm aware all retail versions can be activated on steam to receive gold version of SC and FA.
That's also how I got one of my steam copies.

0

Correct the retail code if redemed on steam will give you a gold eddition. and GOG has no way for us to Validate if you own the game.

1

I've tested out a few distros with the script to make sure FAF works stable on all flavours of Linux using it.

✔ Ubuntu 20.04 LTS
✔ Pop!_OS 20.10
✔ Linux Mint 20.1 "Ulyssa"
✔ Fedora 34 Workstation
✔ OpenSUSE Tumbleweed
✔ MX Linux 19.4.1-ahs
✔ ElementaryOS 5.1
✔ Manjaro 21.0.5
✔ Debian 10 Buster
⚠ Arch Linux

The mentioned bug on Arch Linux may be a sole problem of me missing a specific package (classic Arch problem I assume). Someone may confirm and tell which one it was for FAF to recognize Env vars so it can be fixed. Since Manjaro works fine it probably is just missing configuration on my side. ☺

0

https://lutris.net/games/forged-alliance-forever-steam-latest/installer/edit
made my own attempt which looks less hacky and is working on arch

0

You could edit the wiki and make an instruction there on how to do your thing https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux

0

@axel12 Already done here.

0

@ovo Your install script doesn't work, throws Error 17 "File already exists" after looking for the run file. This isn't the only problem though.

Other things I noticed:

  • You're getting the files via wget instead of using Lutris' in-built file download function. Works, but isn't beautiful since you skip the option to insert the files yourself
  • Instead of downloading the FAF client, you're downloading the Java 15 SDK twice
  • The Steam arguments you give are missing %command%
  • Having the user manually looking for the run file is unnecessary, it will always spawn in /tmp/proton-$USER/
  • You made the same error like me with line breaks 😉
  • The user isn't told to set a specific Proton version. This can cause later problems like desyncs, as described here.
  • You don't tell the user that SteamPlay has to be activated for every title in order to even install Forged Alliance. In my opinion missing information like this is extremely frustrating for new users.
  • Your client.prefs file will be rejected by the FAF client since the lobby isn't written to simply add missing entries, but expect them to be already present. That's the reason I uploaded a prepared one for my script which I edit using sed, so the client accepts the file.
  • You do not set the preferences file location, therefore FAF lobby will look for it in ~/.wine/ and create a new one there, ignoring your FA settings as well as forgetting all settings every time a user might deletes his standard wine prefix.
  • Not a necessity, but I find the option to have all files in your defined game folder quite important for large games so your /home won't get cluttered. In the end FAF will save literally everything in ~/.faforever/

Sorry, but as it is, your script is absolutely non-working on any machine and riddled with problems.

0

@sereiya i've posted a link to edit script, since new drafts wont appear before lutris team moderation, take a look into it

You're getting the files via wget instead of using Lutris' in-built file download function. Works, but isn't beautiful since you skip the option to insert the files yourself

can be done for JRE, but i guess only the latest version of FAF should be aviable, especially after 1.4.4

Having the user manually looking for the run file is unnecessary, it will always spawn in /tmp/proton-$USER/

sounds reasonable, used this one just to show instruction dialog
may just use input_menu

The user isn't told to set a specific Proton version. This can cause later problems like desyncs, as described here.

Didn't checked, but haven't latest proton already got rid if most of FA errors?
https://www.winehq.org/announce/6.7
That one fixed the last bug for FA, may not be an issue for future versions of proton.

You don't tell the user that SteamPlay has to be activated for every title in order to even install Forged Alliance. In my opinion missing information like this is extremely frustrating for new users.

Agree

Your client.prefs file will be rejected by the FAF client since the lobby isn't written to simply add missing entries, but expect them to be already present. That's the reason I uploaded a prepared one for my script which I edit using sed, so the client accepts the file.

Works 4 me👍
Will look into it

You do not set the preferences file location, therefore FAF lobby will look for it in ~/.wine/ and create a new one there, ignoring your FA settings as well as forgetting all settings every time a user might deletes his standard wine prefix.

Uuugh, but it doesnt even uses standart wine

Not a necessity, but I find the option to have all files in your defined game folder quite important for large games so your /home won't get cluttered. In the end FAF will save literally everything in ~/.faforever/

Agree, can it be done just with a symlink?

UPD: ok, zero brain moment, just realized only i have access to edit page

0

@ovo I've looked into it, but every iteration of the draft shows the same bugged version. I encounteres some similar behaviour when I worked with the page which is why I almost never saved it before commiting and mostly worked offline. I assume the website is bugged. 😕

Since I uploaded the .yaml code in my first post (clearer syntax than on lutris . net, looks way less "hacky"), why won't you just take the code that's already working but seem a little hacky to you and just edit it? 😘 Not lying, it feels weird to see someone completely working around me and encountering some problems I already solved within a few hours of testing. Stuff like the optional ~/.faforever/ symlink is already included too, and as I said I'm not even sure the problem on Arch wasn't due to a faulty configuration on my side.

0

Updated to Lobby version 1.4.6 due to the serverload issue. Filename still says 1.4.4-RC1 simply because the Lutris mods still didn't review the installer, therefore link changes aren't applied. Next revision of the install script will have some fancy code to update the lobby automatically through Lutris. 😄