Running Development Clients on Linux - DarklightGames/DarkestHour GitHub Wiki

Prerequisites

To run the development version of the game via Proton, the default launch command used by Steam needs to be modified. For this we need to create a shim that will strip the default parameters passed to Red Orchestra executable and allow us to replace them with our own.

Navigate to Darkest Hour: Europe '44-'45 properties in the Steam library and add the line below to Launch Options.

exe=RedOrchestraLargeAddressAware.exe; cmd=$(sed -re "s/$exe('?) .*'?--'? /$exe\1 /" -e "s/ '?--multi'?//g" <<< "%command%"); [ "%command%" == *"--multi"* ](/DarklightGames/DarkestHour/wiki/-"%command%"-==-*"--multi"*-) && { exe0=${exe/.exe/_0.exe}; cp -up System/$exe System/$exe0; cmd="${cmd//waitforexitandrun/run}"; eval "$cmd & ${cmd/$exe/$exe0}"; } || eval "$cmd"

Running the client

Once the shim is in place, launching the game from Steam GUI or via command line (without any external parameters) will behave as usual and run the non-development version of the game.

steam -applaunch 1280 # launches non-development client

To override the default behavior, we can launch the game via Steam CLI and append -- to the command, followed by our own options.

steam -applaunch 1280 -- -mod=DarkestHourDev # launches dev client

Examples

steam -applaunch 1280 -- 127.0.0.1 -mod=DarkestHourDev # launch dev client and connect to a local server
steam -applaunch 1280 -- DH-Target_Range.rom?quickstart=true -mod=DarkestHourDev -log # launch dev client on Target Range and show log window

Running two clients with --multi

The shim we added to the launch options implements a --multi parameter; when used, it will launch two clients simultaneously.

steam -applaunch 1280 -- 127.0.0.1 -mod=DarkestHourDev --multi # run and connect two dev clients to a local server