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