Sign inSign up

whykickamoocow/dsp-server

By whykickamoocow

•Updated almost 2 years ago

A Docker container for a multiplayer Dyson Sphere Program game server using the nebula mod.

Image
0

324

whykickamoocow/dsp-server repository overview

https://github.com/WhyKickAmooCow/dsp-docker-server⁠

:warning: Notice
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.

⁠About

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.

⁠Installation

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 whykickamoocow/dsp-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 whykickamoocow/dsp-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 whykickamoocow/dsp-server:master update_mods

⁠Environment Variables

NameDefaultDescription
WINEDLLOVERRIDESmscoree=n,b;mshtml=n,b;winhttp=n,bWINEDLLOVERRIDES as in WINE.
DSP_INSTALL_PATH/gameWhere in the container DSP should be installed to.
LAUNCH_ARGS-batchmode -nographics -serverArguments to pass to DSP when launching the game.
REQUIRED_PLUGINSnebula-NebulaMultiplayerMod,nebula-NebulaMultiplayerModApi,...Comma delimited list of plugins to install to the server. In the format namespace-name[-version]
ADDITIONAL_PLUGINSComma delimited list of additional plugins to install to the server.
ADDITIONAL_INSTALL_ARGSAdditional install arguments to pass to steamcmd when installing DSP (e.g. -beta 0.9.x)
MIN_UPS50Minimum UPS of client of multiplayer game (BulletTime).
SERVER_NAME
SERVER_PASSWORDNebula Docs⁠
PORT8469The port for the server to listen on
ENABLE_NGROKfalseNebula Ngrok Docs⁠
NGROK_TOKENNebula Ngrok Docs⁠
NGROK_REGIONNebula Ngrok Docs⁠
SYNC_UPStrueNebula Docs⁠
SYNC_SOILfalseNebula Docs⁠
REMOTE_ACCESSfalseNebula Docs⁠
REMOTE_ACCESS_PASSWORDNebula Docs⁠
AUTO_PAUSEtrueNebula Docs⁠
STAR_COUNT64When creating a new save, how large the cluster should be.
RESOURCE_MUTLIPLIER1.0What the resource multiplier should be when creating a new save.
SEEDIf left blank, randomly generated. An integer seed for when creating a new save.

⁠Credits

https://github.com/AlienXAXS/DSPNebulaDocker⁠ - This project uses a slimmed down version of their install script (particularly for installing the plugins).

Tag summary

Content type

Image

Digest

sha256:075e2c39b…

Size

1.9 GB

Last updated

almost 2 years ago

docker pull whykickamoocow/dsp-server:master