Docker Deployment
Use the Docker release package when you want to run the dedicated server in a container instead of unpacking the server directly onto a Windows host.
The Docker release assets intentionally do not ship:
- MelonLoader files
DedicatedServerMod_Mono_Server.dll- a preinstalled copy of Schedule I
That keeps the Docker package small and avoids redistributing loader payloads inside the Docker template.
What To Download
Download both of these assets from the same release:
Docker.zipServer.zip
Docker.zip contains:
Dockerfilerun.sh.dockerignore- package-local Docker instructions
Server.zip contains the server mod DLL that the image needs during docker build.
Prepare The Build Context
Extract Docker.zip to a working folder, then copy Mods/DedicatedServerMod_Mono_Server.dll from Server.zip into that same folder so the layout looks like this:
Docker/
.dockerignore
Dockerfile
run.sh
README.md
DedicatedServerMod_Mono_Server.dll
The Docker image downloads MelonLoader during docker build, so users should not add MelonLoader files manually.
Build The Image
docker build -t s1ds-dedicated-server .
If DedicatedServerMod_Mono_Server.dll is missing from the folder, the build will fail during the Docker COPY step.
First Run
The first container start installs Schedule I through SteamCMD, so provide Steam credentials and persist the game directory:
docker run --name s1ds \
-p 38465:38465/udp \
-p 27016:27016/udp \
-e STEAM_USER=your_steam_login \
-e STEAM_PASS=your_steam_password \
-e STEAM_BRANCH=alternate \
-v s1ds-game:/home/steam/game \
s1ds-dedicated-server
Optional environment variables:
STEAM_GUARDfor Steam Guard promptsFORCE_STEAMCMD_UPDATE=trueto force the next startup to refresh the game install
After First Boot
- Edit the generated
server_config.tomlin the mounted game directory - Keep your save path, auth settings, and query port aligned with your deployment
- Rebuild the image with a newer
DedicatedServerMod_Mono_Server.dllwhen upgrading to a new release
Container Notes
SteamGameServeris the preferred authentication provider for containerized deploymentsSteamNetworkingSocketsis the preferred messaging backend for containerized deploymentsSteamP2Pshould not be used in Docker- The image reapplies MelonLoader and the server mod DLL on container start because SteamCMD validation may overwrite game files