Blog

How to host a Don’t Starve Together server

JSJesse Schokker·July 13, 2026·6 min read
How to host a Don’t Starve Together server
Processes2Surface and caves, one cluster.
Required firstKlei tokenFree, from your Klei account.
Back upThe whole clusterBoth halves must stay in step.
ResetPer shardYou can regenerate caves without the surface.

Individually light, but remember you are running two of them for a single world. Both need to be up for players to move between the surface and the caves, and both need to be backed up together — a surface save restored without its matching caves save is not a coherent world.

How to install it

  1. Get a server token from your Klei account on their website. Nothing works without it, so do this first.
  2. Install Steam’s command-line tool, then the Don’t Starve Together server using an anonymous login.
  3. Create a cluster folder containing your token and cluster settings, plus two shard folders inside it — one for the surface, one for the caves.
  4. Start both shards. Two processes, same cluster. This is the step people miss entirely.
  5. Check you can travel down a sinkhole in game. That is the only real proof the two halves are talking to each other.
steamcmd \
  +force_install_dir /home/dst/server \
  +login anonymous \
  +app_update 343050 validate \
  +quit

# Two processes, one cluster. Missing the second is why
# so many first attempts have no caves.
./dontstarve_dedicated_server_nullrenderer \
  -console -cluster MyCluster -shard Master &

./dontstarve_dedicated_server_nullrenderer \
  -console -cluster MyCluster -shard Caves &
You need a cluster token first

Generate one from your Klei account and save it as cluster_token.txt in the cluster folder. A public server requires owning the game to get one, and nothing works without it.

How to configure it

cluster.ininame, password, play style, shard settings
cluster_token.txtyour Klei token
Master/server.inithe surface shard
Caves/server.inithe caves shard
cluster.ini
[NETWORK]
cluster_name = Your server name
cluster_password =
game_mode = survival
max_players = 6
pvp = false

[SHARD]
; Without this, the two halves never find each other.
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10888
cluster_key = choose-something
FileShardSetting that decides it
Master/server.iniSurfaceis_master = true
Caves/server.iniCavesis_master = false
bothEach needs its own server_port; setting both as master, or neither, is the usual cause of a cluster that starts but never connects.
  • Shard mode must be enabled in cluster.ini or the two halves will never find each other, however correctly each one is set up.
  • Exactly one shard is the master. Setting both or neither is the usual cause of a cluster that starts but does not connect.
  • Each shard needs its own port as well as sharing the cluster port.
  • Mods are configured per shard. A mod enabled on the surface only will behave unpredictably underground.
The mistake almost everyone makes

Setting up only the surface and concluding caves are broken or disabled. They are not — they are a second server that was never started.

Written from experience running these servers. If something here no longer matches what you are seeing, tell us and we will recheck it.

Share this article

JS
Jesse SchokkerFounder & Engineer, GameDash

Building GameDash at Schokker IT — the game server control panel we always wished existed. Writes about infrastructure automation, the SDK and running game servers at scale.

Get early access

GameDash is not open for sign-ups yet. Leave your e-mail and we will tell you the moment it is. Your address is never shared with any 3rd parties and is used exclusively for GameDash news.