Don't Starve Together Server Guide

📋 Quick Info

Server Specifications

🔌 Ports & Firewall Configuration

Don't Starve Together servers require specific ports for proper operation:

Port Protocol Purpose Required
10999 (configurable) UDP Game port (server) Yes
10998 (configurable) UDP Authentication/master server Yes
10900 (configurable) UDP Cave/shard server (if using caves) Optional
27016-27017 UDP Steam master server queries Optional

Firewall Examples

UFW (Ubuntu/Debian):

sudo ufw allow 10999/udp comment 'DST Game Port' sudo ufw allow 10998/udp comment 'DST Auth Port' sudo ufw allow 10900/udp comment 'DST Cave Port' sudo ufw allow 27016:27017/udp comment 'DST Steam Query'

FirewallD (CentOS/RHEL):

sudo firewall-cmd --permanent --add-port=10999/udp sudo firewall-cmd --permanent --add-port=10998/udp sudo firewall-cmd --permanent --add-port=10900/udp sudo firewall-cmd --permanent --add-port=27016-27017/udp sudo firewall-cmd --reload

iptables:

iptables -A INPUT -p udp --dport 10999 -j ACCEPT iptables -A INPUT -p udp --dport 10998 -j ACCEPT iptables -A INPUT -p udp --dport 10900 -j ACCEPT iptables -A INPUT -p udp -m multiport --dports 27016:27017 -j ACCEPT

⚙️ Installation & Setup

System Requirements

Installation via SteamCMD (Linux)

  1. Install SteamCMD:
    sudo apt-get install steamcmd # Debian/Ubuntu sudo yum install steamcmd # CentOS/RHEL
  2. Run SteamCMD and install DST server:
    steamcmd +login anonymous +force_install_dir /home/steam/dst +app_update 343050 validate +quit
  3. Generate Server Token: Visit Klei Account Portal to create a server token
  4. Create cluster configuration: Navigate to ~/.klei/DoNotStarveTogether/ and create cluster folder

Installation via SteamCMD (Windows)

  1. Download SteamCMD from Valve's website
  2. Extract to C:\steamcmd\
  3. Run: steamcmd +login anonymous +force_install_dir C:\dst +app_update 343050 validate +quit
  4. Generate server token from Klei portal
  5. Create cluster in %USERPROFILE%\Documents\Klei\DoNotStarveTogether\

📝 Configuration

Cluster Structure

DST uses a cluster-based configuration system:

~/.klei/DoNotStarveTogether/MyCluster/ ├── cluster.ini # Main cluster config ├── cluster_token.txt # Server token from Klei ├── Master/ # Overworld shard │ ├── server.ini │ ├── worldgenoverride.lua │ └── modoverrides.lua └── Caves/ # Cave shard (optional) ├── server.ini ├── worldgenoverride.lua └── modoverrides.lua

cluster.ini Example

[GAMEPLAY] game_mode = survival # survival, endless, or wilderness max_players = 16 pvp = false pause_when_empty = true [NETWORK] cluster_description = My Don't Starve Together Server cluster_name = MyDSTServer cluster_intention = cooperative # cooperative, competitive, social, or madness cluster_password = # Leave blank for public [MISC] console_enabled = true max_snapshots = 6 # Number of save backups

Master/server.ini Example (Overworld)

[NETWORK] server_port = 10999 [SHARD] is_master = true name = Master id = 1 [STEAM] master_server_port = 27016 authentication_port = 10998

Caves/server.ini Example (Cave Shard)

[NETWORK] server_port = 10900 [SHARD] is_master = false name = Caves id = 2 master_ip = 127.0.0.1 master_port = 10999 [STEAM] master_server_port = 27017 authentication_port = 10897

World Generation (worldgenoverride.lua)

return { override_enabled = true, preset = "SURVIVAL_TOGETHER", -- or SURVIVAL_TOGETHER_CLASSIC, SURVIVAL_DEFAULT_PLUS overrides = { -- World Size world_size = "default", -- small, medium, default, huge -- Season Settings autumn = "default", -- noseason, veryshortseason, shortseason, default, longseason, verylongseason, random winter = "default", spring = "default", summer = "default", -- Resources carrots = "default", -- never, rare, uncommon, default, often, mostly, always, insane berrybush = "default", grass = "default", saplings = "default", trees = "default", -- Mobs beefaloheat = "default", beefalo = "default", spiders = "default", hounds = "default", -- Difficulty season_start = "default", -- autumn, winter, spring, summer day = "default", -- default, longday, longdusk, longnight, noday, nodusk, nonight, onlyday, onlydusk, onlynight -- Boss Locations bearger = "default", deerclops = "default", goosemoose = "default", dragonfly = "default", -- Special Settings specialevent = "default", -- none, default, auto touchstone = "default", -- Custom Settings task_set = "default", -- default, classic } }

Mod Configuration (modoverrides.lua)

return { -- Example: Global Positions mod ["workshop-378160973"] = { enabled = true }, -- Example: Simple Health Bar ["workshop-1207269058"] = { enabled = true }, -- Mods use Workshop IDs from Steam Workshop }

🚀 Startup Parameters

Parameter Description Example
-console Enable console commands -console
-cluster Specify cluster name/path -cluster MyCluster
-shard Specify which shard to run -shard Master
-monitor_parent_process Monitor parent and exit if it dies -monitor_parent_process ####
-persistent_storage_root Set save directory -persistent_storage_root /path/to/saves
-conf_dir Configuration directory -conf_dir DoNotStarveTogether

Example Startup Command (Linux - Master/Overworld)

cd /home/steam/dst/bin ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Master

Example Startup Command (Linux - Caves)

cd /home/steam/dst/bin ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Caves

Example Startup Script (Linux - Both Shards)

#!/bin/bash cd /home/steam/dst/bin # Start Master (Overworld) screen -dmS dst-master ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Master # Wait for master to initialize sleep 10 # Start Caves screen -dmS dst-caves ./dontstarve_dedicated_server_nullrenderer -console -cluster MyCluster -shard Caves

🔧 Troubleshooting

Server Not Appearing in Browser

Issue: Server not visible in game browser.

Solutions:

Cave Connection Issues

Issue: Players cannot travel to caves.

Solutions:

Server Crashes on Startup

Issue: Dedicated server crashes immediately.

Solutions:

Mod Loading Issues

Issue: Mods not loading or causing crashes.

Solutions:

World Generation Fails

Issue: Server fails to generate world.

Solutions:

High Memory Usage

Issue: Server using excessive memory.

Solutions:

🎮 Game Modes & Features

Game Modes

Core Features

Boss Monsters

🗺️ World Types & Biomes

Overworld Biomes

Cave Biomes

Popular mods for Don't Starve Together (via Steam Workshop):

📚 Resources

Important Notes