Dedicated DST server for survival and exploration in the dark wilderness with friends
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/dont-starve-together/dont-starve-together-ubuntu.sh
chmod +x dont-starve-together-ubuntu.sh
sudo bash dont-starve-together-ubuntu.sh
The script installs Docker, pulls the DST dedicated server image, and starts both Master (overworld) and Caves shard containers. Obtain your Klei server token from accounts.klei.com before running.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/dont-starve-together/dont-starve-together-ubuntu.sh
chmod +x dont-starve-together-ubuntu.sh
sudo bash dont-starve-together-ubuntu.sh
Edit cluster.ini to set your server name, password, max players, and game mode. Paste your Klei cluster token into cluster_token.txt.
# Add your Klei token
echo "YOUR_KLEI_TOKEN" > /opt/dst/data/cluster_token.txt
# Edit cluster configuration
nano /opt/dst/data/cluster.ini
# Key settings in [NETWORK]:
# cluster_name = My DST Server
# cluster_password = yourpassword
# cluster_description = A fun survival server
# Key settings in [GAMEPLAY]:
# max_players = 8
# game_mode = survival # survival, wilderness, or endless
Open Don't Starve Together, click Play, then Browse Games to find your server by name. If password protected, enter it when prompted. Both Master and Caves shards must be running for cave access.
# Server appears in DST Browse Games list
# Or use direct connect from Browse Games → by name with password
Add your Klei ID to adminlist.txt to gain admin access. Use the in-game remote console for world management commands including save, rollback, and player management.
# Add Klei ID to admin list
echo "KU_YOUR_KLEI_ID" >> /opt/dst/data/adminlist.txt
# In-game admin console commands (~):
# c_save() - save the world
# c_rollback(1) - roll back one save
# c_announce("Message") - broadcast to all players
# c_shutdown() - shut down the server
# View logs for both shards
docker logs -f dst-master
docker logs -f dst-caves
| Port | Purpose |
|---|---|
| 10999 UDP | Master shard (overworld) |
| 11000 UDP | Caves shard (underground) |
Don't Starve Together is the cooperative multiplayer version of Don't Starve — a dark survival game where players gather resources, build bases, and survive increasingly difficult seasons and bosses. A dedicated server keeps the world running 24/7 so friends can join without the host being online.
A dedicated DST server prevents the world from resetting when the host disconnects. Friends can continue the survival campaign asynchronously. Dedicated servers also support more simultaneous players than peer hosting and allow Steam Workshop mods to be installed server-side.
DST uses UDP ports 10999 and 11000 for the overworld and cave shards respectively. Open both UDP ports in your firewall. Without port 11000 open, caves will not be accessible to players.
Alternatives include the built-in host session feature (host stays online), Klei official servers, and community servers. Self-hosting provides 24/7 uptime and mod control.
Avoid self-hosting DST if you only play occasionally with 1-2 friends — the built-in hosting works well. The dedicated server is most valuable for groups with different schedules or communities with 4+ players.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
A cluster token is required for DST dedicated servers to authenticate with Klei's servers. Go to accounts.klei.com, log in, navigate to Games then Don't Starve Together, and create a new server token. Copy the token string and add it to the cluster_token.txt file in your server cluster directory.
A shard is an independent game world — DST has two: the overworld (surface) and the caves (underground). Each shard runs as a separate server process but shares the same cluster. Players can travel between shards via sinkholes. You need both shards running for a complete DST experience with caves.
Add ServerModSetup(MOD_ID) lines to the mods/dedicated_server_mods_setup.lua file for each mod. Then configure each mod in the modoverrides.lua file within each shard. Restart the server to download and apply mods. Clients usually do not need to install mods separately when connecting to a modded server.
DST supports up to 6 simultaneous players per shard by default. You can configure max_players in server.ini to allow more, but the game is designed for 2 to 6 players and the experience becomes chaotic with many more. Cave and overworld players count separately within each shard.
No — character progress (unlocked characters, skins) carries over as account-level unlocks, but your survival world and character state are server-specific. Starting a new dedicated server begins a fresh survival world. Your unlocked characters are available because they are tied to your Klei account, not the save file.
Configure world settings in worldgenoverride.lua per shard. Common adjustments: set season lengths (short spring and summer for faster progression), increase resources at start, adjust number of dangerous elements. Many communities also enable the Reforged mod for additional content and QoL improvements.
Yes. Each shard has independent save data. Delete the save files for just the cave shard to reset caves while keeping the overworld intact, or vice versa. This is useful for world refresh events where the caves are regenerated while preserving player bases on the surface.
Add your Klei User ID to the adminlist.txt file in your cluster directory. Your Klei ID is found on the Klei account page. With admin access, press Ctrl+L in-game to open the remote console. Use commands like c_announce('message') for server broadcasts and c_rollback(1) to roll back one day.