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

320

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