How to Set Up a Don't Starve Together Dedicated Server
Run a persistent Don't Starve Together world with caves: SteamCMD install, the two-shard cluster setup, a cluster token, ports 10999–11000, and a systemd service.
A Don't Starve Together (DST) dedicated server keeps your Constant persistent — and running the overworld and caves together needs a two-shard setup that's worth doing right. This guide covers SteamCMD install, the cluster/shard structure, a cluster token, and a systemd service.
What you need
- A Linux VPS: Ubuntu 22.04/24.04. DST is light — 2–4 GB RAM covers a typical world; caves add a second process, so budget toward 4 GB if you run both.
- Open ports: UDP 10999 (overworld/master shard) and 11000 (caves shard).
Step 1: Create a user and install dependencies
sudo adduser --disabled-password --gecos "" dst
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 libcurl4-gnutls-dev:i386 steamcmd
Step 2: Install the server with SteamCMD
The DST dedicated server is App ID 343050 with a native Linux build:
sudo su - dst
steamcmd +force_install_dir /home/dst/server +login anonymous +app_update 343050 validate +quit
{{SCREENSHOT}}
Step 3: Get a cluster token
DST servers need a cluster token tied to a Klei account:
- Log in at accounts.klei.com.
- Go to Game Servers and generate a server token.
- Save the token — you'll paste it into
cluster_token.txtshortly.
Step 4: Understand the cluster/shard layout
DST uses a cluster made of shards. A typical two-shard cluster looks like this under ~/.klei/DoNotStarveTogether/MyCluster/:
- cluster.ini — cluster-wide settings (name, password, game mode).
- cluster_token.txt — your Klei token.
- Master/ — the overworld shard, with its own
server.ini(bind port 10999,is_master = true). - Caves/ — the caves shard, with its own
server.ini(bind port 11000,is_master = false).
The two shards talk to each other locally so players can travel between the surface and caves seamlessly.
Step 5: Open the firewall
sudo ufw allow 10999/udp
sudo ufw allow 11000/udp
sudo ufw reload
Open both UDP ports on any provider firewall too.
Step 6: Start both shards
Each shard is launched separately. Create /home/dst/start.sh that starts both:
#!/bin/bash
cd /home/dst/server/bin64
./dontstarve_dedicated_server_nullrenderer_x64 -cluster MyCluster -shard Caves &
./dontstarve_dedicated_server_nullrenderer_x64 -cluster MyCluster -shard Master
chmod +x /home/dst/start.sh
Then a service to keep it alive:
# /etc/systemd/system/dst.service
[Unit]
Description=Don't Starve Together Dedicated Server
After=network-online.target
[Service]
Type=simple
User=dst
ExecStart=/home/dst/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now dst
sudo journalctl -u dst -f
Step 7: Mods and updates
DST mods are added by listing their Workshop IDs in dedicated_server_mods_setup.lua and enabling them in each shard's modoverrides.lua. Keep the server current by re-running the +app_update 343050 command whenever Klei patches — or automate updates.
Back up your cluster
Everything for your world — both shards' saves, the config, and mod settings — lives in the cluster folder under ~/.klei/DoNotStarveTogether/MyCluster/. Backing up that single folder captures the whole world:
# nightly cluster backup, keep a week
0 4 * * * tar -czf /home/dst/backups/dst-$(date +\%F).tar.gz /home/dst/.klei/DoNotStarveTogether/MyCluster && find /home/dst/backups -name 'dst-*' -mtime +7 -delete
Admins listed in the cluster's adminlist.txt (by Klei ID) get in-game admin commands to rollback, regenerate, or moderate. A DST world can span hundreds of in-game days, so a reliable backup is worth setting up on day one — see how to back up your game server automatically.
FAQ
What ports does a Don't Starve Together server use?
UDP 10999 for the master (overworld) shard and 11000 for the caves shard. Open both on the OS and provider firewalls.
Do I need a cluster token for a DST server?
Yes. Generate one from your Klei account's Game Servers page and place it in cluster_token.txt. The server won't go online without it.
How do I add caves to a DST server?
Run a second shard (the Caves shard) alongside the Master shard in the same cluster. Each shard has its own server.ini; the caves shard sets is_master = false and binds to port 11000.
How much RAM does a DST server need?
2–4 GB is plenty. Running both shards (overworld + caves) uses two processes, so 4 GB gives comfortable headroom, especially with mods.
DST runs happily on a modest box — see our affordable plans or launch on game server hosting.