dst-dedicated-server

Don't Starve Together dedicated server guide for all platforms (Linux, Mac, Windows) with Docker. Extensive documentation covering mods installation, server config and performance, world generation and setting up admins.


Project maintained by mathielo Hosted on GitHub Pages — Theme by mattgraham

Don’t Starve Together - Dedicated Server

Automated Docker Builds Docker Build State Docker Image Pulls License: MIT PRs Welcome

DST Dedicated Server Guide for all platforms (Linux, Mac, Windows) with Docker.

The purpose of this project is to have DST servers up and running with the bare minimum necessary setup.

README in other languages

Installation

Any OS that supports Docker can run the dedicated server.

:bulb: Linux is the recommended OS to host the containers for better performance gains

This project was deployed and tested using Debian 9. Instructions will be focused on Linux - but it should be easy to adapt to any other OS.

Installation Overview

Essentials

These are the minimum required steps to have a server running:

Optionals

Enhance your server by customizing it to your liking!


Prepare the Host

Read about server performance for useful tips to make the best use of your resources! That might also help you to pick a host machine if you’re unsure about it.

Install Git

sudo apt-get install git

Install Docker

Linux

Follow the official docs to install Docker on Linux. At first glance it might seem complicated, but the instructions are very detailed and thorough:

:cop: Make sure you have your own sudoer user and perform all the steps logged as it. Running everything as root user will probably render you permissions issues down the road.

Mac OS / Windows

You only need the Docker desktop standalone as it has everything you need, no extra steps required.

Prepare the dedicated server

Clone this repository in your home folder:

cd ~ && git clone https://github.com/mathielo/dst-dedicated-server.git

:cop: Do not sudo git clone or your might run into permission issues :angel:

See more info in Managing the Server.

Generate cluster_token.txt

:warning: The cluster token is stored in the DSTClusterConfig/cluster_token.txt file and without it your server won’t run.

Check the detailed instructions to generate a cluster token. After you get it, make sure to delete everything from this file and leave only your cluster token there, without any spaces or anything else.

You can easily do that replacing InsertYourTokenHere in the following command and executing it in your server:

echo 'InsertYourTokenHere' > ~/dst-dedicated-server/DSTClusterConfig/cluster_token.txt

:closed_lock_with_key: The account that generates the token automatically gains admin access in-game, meaning you can rollback, regenerate the world or use console commands while playing.

:rainbow: Done! You are ready to start your server and play!

Manage the Server

You should now have everything you need to start playing! See the full docs on how to manage your server to learn how to start, save the game and stop the server.

Keep on reading to learn how to :point_down: customize the server :point_down: and install mods to your liking!


Customize the Server and World

The files listed below are the ones you’ll likely be tweaking to customize your server and world to your likes.

:rotating_light: Changing any files other than the ones listed below is only advised if you know what you’re doing.

DSTClusterConfig/
  Caves/
    leveldataoverride.lua
  Master/
    leveldataoverride.lua
  mods/
    dedicated_server_mods_setup.lua
    modoverrides.lua
  adminlist.txt
  blocklist.txt
  cluster.ini
  whitelist.txt

The Server

This file holds server attributes, such as max_players, pause_when_empty, cluster_intention - and many others :link:.

:bulb: On your first setup it’s important to change at least the cluster_name and cluster_password to be able to identify and join your sever from the game’s server list.

:cop: Please handle with care. There are sections where [ CHANGE THIS ] denotes places you should change. There are also smaller secitions which should not be touched as it might compromise the communication between Master <-> Caves shards.

By default the server will autosave once every game day (autosaver_enabled = true).

The World

Determines the settings for world generation for each shard, respectively:

You may tweak them as much as you like, granted that the cave one always have these defined:

id="DST_CAVE"
location="Cave"

Mods

Check the detailed instructions on how to install, configure and enable mods. :alien:

Admins, Bans and Whitelists

If you know what you’re after, the (admin|block|white)list.txt files can be found within the DSTClusterConfig/ folder.

You can find detailed information and a complete guide in the Setting Admins, Bans and Whitelisted Players docs.


Contributing

Contributions and feedback are always welcome! Feel free to open an issue or a pull request with improvements!

References