Public | Automated Build

Last pushed: 2 months ago
Short Description
Don't Starve dedicated server.
Full Description

Don't Starve Together Dedicated Server Docker Image

This is the Docker image for DST dedicated server, based on debian:latest.

Project Status

Plain (caveless) server should be working.

Known Issues

  • On Docker environment which doesn't support UDP port forwarding, LAN only server cannot be used. (Still you can enable Steam punchthrough and search for your server in Online catalog. )
  • Cave server are not tested.
  • If you forward port 10999/udp to another port, clients may not connect.

Recommended Hardware

  • 1GB base RAM, plus 60MB per user.

Install Using Docker Compose

Create a folder for storing DST server files, then put a docker-compose.yml inside it, paste the following content:

  image: jamesits/dst-server:plain
  restart: always
  - 10999:10999/udp
  - ./server_config:/data/dst

Then use docker-compose up to bring up the server. You can change server config in ./server_config.

To update image, use docker-compose pull to update automatically.

Manual Installation

Install from Docker Hub

docker pull jamesits/dst-server

Note: If you use Docker the VM way (i.e. running the image without /data/dst mounted to a volume or host), please be cautious:

  • All data (server settings, saved game status, etc.) will be DELETED PERMANATELY when deleting or updating image
  • You have to use the default server configuration or pass command line arguments by yourself

More Information please refer to Docker Hub page.

Build Docker image locally

git clone docker-dst-server
cd docker-dst-server
docker build .

Server Settings

All persist server settings can be found under ./server_config by default.

Instructions on Obtaining Server Token

Launch a steam client on a system with GUI, install Don't Starve Together, log in, press ~ button then type TheNet:GenerateClusterToken() then press enter. You'll find a cluster_token.txt under your client config directory. (See "References" section below for more detailed instructions. )

If you use the Docker Compose way, or have /data/dst mounted to your host machine, copy the FILE server_token.txt (not its content) to that folder. Also you may set token in settings.ini.

In other cases, you can set ENV DST_CLUSTER_TOKEN using the content of your cluster_token.txt. Just open it use any text editor and copy the CONTENT.

Modify Settings on a Volume You Don't Have Access To

  1. Create or use a Docker container which have SSH Daemon service (Like rastasheep/ubuntu-sshd, but for security issues I recommend using your own image and use pubkey authencation. )
  2. Mount your server config volume to some place of our SSH Daemon container
  3. SSH into daemon container and change settings
  4. Restart game server using docker-compose restart

Sample docker-compose.yml which can be appended after original one:

  image: rastasheep/ubuntu-sshd
  restart: always
  - 22
  - ./server_config:/mnt/DoNotStarveTogether




Don't Starve Together Dedicated Server Docker Image
Copyright (C) 2015 James Swineson (Jamesits)
Copyright (C) 2015 Mingye Wang (Arthur2e5)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


Docker Pull Command
Source Repository