Installer forged-alliance-forever-steam-lobby

This script is for reference only and can't be directly used to install the game in the Lutris client. To install the game, download the full script.

files:
- lobby: https://github.com/FAForever/downlords-faf-client/releases/download/v2021.12.0/dfc_unix_2021_12_0.tar.gz
- sttngs: http://178.251.24.182/faf/client.prefs.tar.xz
- openjdk15: https://download.java.net/java/GA/jdk15.0.2/0d1cfde4252546c6931946de8db48ee2/7/GPL/openjdk-15.0.2_linux-x64_bin.tar.gz
game:
  exe: lobby/faf-client
installer:
- input_menu:
    description: "Please follow these steps before you proceed.\n------------------------------\n\
      - In your Steam, make sure Steamplay for all games is enabled  - In the properties\
      \ of SC Forged Alliance, enter this as start arguments: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1\n\
      \    PROTON_DUMP_DEBUG_COMMANDS=1 %command%\n- In the Compatibility tab, select\
      \ Proton 5.0-10 - Start the game once. Feel free to configure your graphic settings\
      \ now.\n------------------------------\nThen choose where the lobby should create\
      \ its configuration files:'\n"
    options:
    - ho: Your home directory (Default)
    - gd: Directory specified by you (removes and symlinks .faforever folder)
    preselect: ho
- extract:
    dst: $GAMEDIR/lobby/
    file: lobby
    format: tgz
- extract:
    dst: $GAMEDIR/openjdk15/
    file: openjdk15
    format: tgz
- chmodx: $GAMEDIR/lobby/faf-client
- chmodx: $GAMEDIR/lobby/natives/faf-uid
- write_file:
    content: '#!/bin/bash

      cp "/tmp/proton_$USER/run" "$GAMEDIR/"

      if [[ $INPUT == "gd" ]]; then

      cd "$HOME"

      rm -r .faforever

      mkdir "$GAMEDIR/lobbydata" && sleep 1 && ln -s "$GAMEDIR/lobbydata" "$HOME/.faforever"

      fi'
    description: Setting up start script & config directories
    file: $GAMEDIR/.installscript1.sh
- chmodx: $GAMEDIR/.installscript1.sh
- execute:
    file: $GAMEDIR/.installscript1.sh
- extract:
    dst: $HOME/.faforever/
    file: sttngs
    format: txz
- chmodx: $GAMEDIR/run
- write_file:
    content: "#!/bin/bash\ncd \"$GAMEDIR/\"\nvarpref=$(sed '11!d' run | sed -e 's/\\\
      tWINEPREFIX=//g' | awk '{print $1}')\nvarinst=$(sed '4!d' run | sed -e 's/cd\
      \ //g' | awk '{print $1}')   # Don't ask, it's hideous\nsed -i 's|\"installationPath\"\
      : \"\",|\"installationPath\": '${varinst}' Commander Forged Alliance\",|g' \"\
      $HOME/.faforever/client.prefs\"   # Awful, yet working. Look at it like a piece\
      \ of modern art\nsed -i 's|\"executableDecorator\": \"\"|\"executableDecorator\"\
      : \"$GAMEDIR/run \\\\\"%s\\\\\"\"|g' \"$HOME/.faforever/client.prefs\"\nsed\
      \ -i 's|\"vaultBaseDirectory\": \"\",|\"vaultBaseDirectory\": \"$HOME/.faforever/user/My\
      \ Games/Gas Powered Games/Supreme Commander Forged Alliance\",|g' \"$HOME/.faforever/client.prefs\"\
      \      \nsed -i 's|\"preferencesFile\": \"\",|\"preferencesFile\": '${varpref%?}'drive_c/users/steamuser/Local\
      \ Settings/Application Data/Gas Powered Games/Supreme Commander Forged Alliance/Game.prefs\"\
      ,|g' \"$HOME/.faforever/client.prefs\"      \n"
    description: Configure lobby settings
    file: $GAMEDIR/.installscript2.sh
- chmodx: $GAMEDIR/.installscript2.sh
- execute:
    file: $GAMEDIR/.installscript2.sh
system:
  env:
    INSTALL4J_JAVA_HOME: $GAMEDIR/openjdk15/
{
  "files": [
    {
      "lobby": "https://github.com/FAForever/downlords-faf-client/releases/download/v2021.12.0/dfc_unix_2021_12_0.tar.gz"
    },
    {
      "sttngs": "http://178.251.24.182/faf/client.prefs.tar.xz"
    },
    {
      "openjdk15": "https://download.java.net/java/GA/jdk15.0.2/0d1cfde4252546c6931946de8db48ee2/7/GPL/openjdk-15.0.2_linux-x64_bin.tar.gz"
    }
  ],
  "game": {
    "exe": "lobby/faf-client"
  },
  "installer": [
    {
      "input_menu": {
        "description": "Please follow these steps before you proceed.\n------------------------------\n- In your Steam, make sure Steamplay for all games is enabled  - In the properties of SC Forged Alliance, enter this as start arguments: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1\n    PROTON_DUMP_DEBUG_COMMANDS=1 %command%\n- In the Compatibility tab, select Proton 5.0-10 - Start the game once. Feel free to configure your graphic settings now.\n------------------------------\nThen choose where the lobby should create its configuration files:'\n",
        "options": [
          {
            "ho": "Your home directory (Default)"
          },
          {
            "gd": "Directory specified by you (removes and symlinks .faforever folder)"
          }
        ],
        "preselect": "ho"
      }
    },
    {
      "extract": {
        "dst": "$GAMEDIR/lobby/",
        "file": "lobby",
        "format": "tgz"
      }
    },
    {
      "extract": {
        "dst": "$GAMEDIR/openjdk15/",
        "file": "openjdk15",
        "format": "tgz"
      }
    },
    {
      "chmodx": "$GAMEDIR/lobby/faf-client"
    },
    {
      "chmodx": "$GAMEDIR/lobby/natives/faf-uid"
    },
    {
      "write_file": {
        "content": "#!/bin/bash\ncp \"/tmp/proton_$USER/run\" \"$GAMEDIR/\"\nif [[ $INPUT == \"gd\" ]]; then\ncd \"$HOME\"\nrm -r .faforever\nmkdir \"$GAMEDIR/lobbydata\" && sleep 1 && ln -s \"$GAMEDIR/lobbydata\" \"$HOME/.faforever\"\nfi",
        "description": "Setting up start script & config directories",
        "file": "$GAMEDIR/.installscript1.sh"
      }
    },
    {
      "chmodx": "$GAMEDIR/.installscript1.sh"
    },
    {
      "execute": {
        "file": "$GAMEDIR/.installscript1.sh"
      }
    },
    {
      "extract": {
        "dst": "$HOME/.faforever/",
        "file": "sttngs",
        "format": "txz"
      }
    },
    {
      "chmodx": "$GAMEDIR/run"
    },
    {
      "write_file": {
        "content": "#!/bin/bash\ncd \"$GAMEDIR/\"\nvarpref=$(sed '11!d' run | sed -e 's/\\tWINEPREFIX=//g' | awk '{print $1}')\nvarinst=$(sed '4!d' run | sed -e 's/cd //g' | awk '{print $1}')   # Don't ask, it's hideous\nsed -i 's|\"installationPath\": \"\",|\"installationPath\": '${varinst}' Commander Forged Alliance\",|g' \"$HOME/.faforever/client.prefs\"   # Awful, yet working. Look at it like a piece of modern art\nsed -i 's|\"executableDecorator\": \"\"|\"executableDecorator\": \"$GAMEDIR/run \\\\\"%s\\\\\"\"|g' \"$HOME/.faforever/client.prefs\"\nsed -i 's|\"vaultBaseDirectory\": \"\",|\"vaultBaseDirectory\": \"$HOME/.faforever/user/My Games/Gas Powered Games/Supreme Commander Forged Alliance\",|g' \"$HOME/.faforever/client.prefs\"      \nsed -i 's|\"preferencesFile\": \"\",|\"preferencesFile\": '${varpref%?}'drive_c/users/steamuser/Local Settings/Application Data/Gas Powered Games/Supreme Commander Forged Alliance/Game.prefs\",|g' \"$HOME/.faforever/client.prefs\"      \n",
        "description": "Configure lobby settings",
        "file": "$GAMEDIR/.installscript2.sh"
      }
    },
    {
      "chmodx": "$GAMEDIR/.installscript2.sh"
    },
    {
      "execute": {
        "file": "$GAMEDIR/.installscript2.sh"
      }
    }
  ],
  "system": {
    "env": {
      "INSTALL4J_JAVA_HOME": "$GAMEDIR/openjdk15/"
    }
  }
}
Back to game