Closing the server doesn't appear to automatically save the game in this container. It should still autosave, but use commands after enabling remote access to save manually. |
This is a Dyson Sphere Program game server running inside a docker container. This is accomplished using WINE and using Goldberg's Steam Emu to allow launching the game straight from the exe without steam installed. This requires you to already own the game in Steam and to provide login details so the game can be downloaded. You can of course set up your DSP game with the mods you want and then patch it with Goldberg's yourself and put it in the ./game folder if you don't trust / dont want to provide login details.
To install the DSP Server to the ./game directory run:
# Make the directories we are going to mount so that Docker doesn't create them (they would be owned by root).
mkdir ./game
mkdir ./save
# Only requires username, then it will ask for password and token while running. If you want to run it without interactivity then give it the password and 2FA token.
docker run -it --rm -v $(pwd)/game:/game -v $(pwd)/save:/save -p 8469:8469 ghcr.io/whykickamoocow/dsp-docker-server:master username [password] [2FA-token]
Then in order to run the server normally you can run:
docker run -it --rm -v $(pwd)/game:/game -v $(pwd)/save:/save -p 8469:8469 ghcr.io/whykickamoocow/dsp-docker-server:master
To update the server run:
# To Update the game.
docker run -it --rm -v $(pwd)/game:/game -v $(pwd)/save:/save -p 8469:8469 ghcr.io/whykickamoocow/dsp-docker-server:master update username [password] [2FA-token]
# To only update the mods.
docker run -it --rm -v $(pwd)/game:/game -v $(pwd)/save:/save -p 8469:8469 ghcr.io/whykickamoocow/dsp-docker-server:master update_mods
Name | Default | Description |
---|---|---|
WINEDLLOVERRIDES | mscoree=n,b;mshtml=n,b;winhttp=n,b | WINEDLLOVERRIDES as in WINE. |
DSP_INSTALL_PATH | /game | Where in the container DSP should be installed to. |
LAUNCH_ARGS | -batchmode -nographics -server | Arguments to pass to DSP when launching the game. |
REQUIRED_PLUGINS | nebula-NebulaMultiplayerMod,nebula-NebulaMultiplayerModApi,... | Comma delimited list of plugins to install to the server. In the format namespace-name[-version] |
ADDITIONAL_PLUGINS | Comma delimited list of additional plugins to install to the server. | |
MIN_UPS | 50 | Minimum UPS of client of multiplayer game (BulletTime). |
SERVER_NAME | ||
SERVER_PASSWORD | Nebula Docs | |
PORT | 8469 | The port for the server to listen on |
ENABLE_NGROK | false | Nebula Ngrok Docs |
NGROK_TOKEN | Nebula Ngrok Docs | |
NGROK_REGION | Nebula Ngrok Docs | |
SYNC_UPS | true | Nebula Docs |
SYNC_SOIL | false | Nebula Docs |
REMOTE_ACCESS | false | Nebula Docs |
REMOTE_ACCESS_PASSWORD | Nebula Docs | |
AUTO_PAUSE | true | Nebula Docs |
STAR_COUNT | 64 | When creating a new save, how large the cluster should be. |
RESOURCE_MUTLIPLIER | 1.0 | What the resource multiplier should be when creating a new save. |
SEED | If left blank, randomly generated. An integer seed for when creating a new save. | |
GENERATE_CONFIG | true | Whether to overwrite the game configs at runtime, substituting environment variables into the file. |
SAVE | Manually specify what to use for save game related CLI args | |
PEACE_MODE | false | Disable combat |
SANDBOX_MODE | false | Enable sandbox mode |
COMBAT_* | Defaults of nebulaGameDescSettings.cfg | nebulaGameDescSettings.cfg combat settings |
https://github.com/AlienXAXS/DSPNebulaDocker - This project uses a slimmed down version of their install script (particularly for installing the plugins).