19 April 2026

Don't Starve Together Server Configuration Guide

A deep dive into cluster.ini, worldgenoverride.lua, modoverrides.lua, admin commands, and caves shard configuration for Don't Starve Together dedicated servers.

Need a Dont Starve Together server?View plans

If you've already got your DST server running on LOW.MS (if not, start with the Getting Started guide), this article digs into everything you can actually tune. I'll cover every section of cluster.ini, the world generation override system, mod configuration, admin commands, and how the caves shard wiring works under the hood.

cluster.ini – The Full Breakdown

This file sits in your Cluster_1/ directory and governs the entire cluster. It's split into five sections.

[GAMEPLAY]

Setting Default What It Does
game_mode survival survival – ghost on death, can be revived. endless – respawn at portal with health penalty. wilderness – permadeath, random spawn.
max_players 16 Concurrent player cap, 1–64.
pvp false Enables player-vs-player damage.
pause_when_empty false Freezes the simulation when nobody's online.
vote_enabled true Lets players vote to kick, rollback, or regenerate.

[NETWORK]

Setting Default What It Does
cluster_name (empty) Name shown in the server browser.
cluster_description (empty) Longer description visible when clicked.
cluster_password (none) Leave blank for public, or set a string.
cluster_intention (varies) cooperative, competitive, social, madness.
lan_only_cluster false Restricts to LAN only.
offline_cluster false Fully offline – no Klei listing.
tick_rate 15 Server updates per second (15–60).
whitelist_slots 0 Reserves slots for whitelisted players.

[MISC]

Setting Default What It Does
console_enabled true Allows Lua commands in server terminal.
max_snapshots 6 Number of rollback snapshots kept.

[SHARD]

Setting Default What It Does
shard_enabled false Multi-shard support (required for caves).
bind_ip 127.0.0.1 IP master listens on for slave connections.
master_ip 127.0.0.1 IP slaves connect to.
master_port 10888 UDP port for inter-shard communication.
cluster_key (required) Shared secret between shards.

[STEAM]

Setting Default What It Does
steam_group_only false Requires specific Steam group membership.
steam_group_id 0 Numeric Steam group ID.
steam_group_admins false Auto-grants admin to group officers.

worldgenoverride.lua – Customising World Generation

This file goes in each shard's directory (Master/ and Caves/). It uses Lua table syntax.

Basic Structure

return {
    override_enabled = true,
    preset = "SURVIVAL_TOGETHER",
    overrides = {
        -- your overrides here
    },
}

Surface presets: SURVIVAL_TOGETHER, SURVIVAL_TOGETHER_CLASSIC, SURVIVAL_DEFAULT_PLUS, COMPLETE_DARKNESS

Cave presets: DST_CAVE, DST_CAVE_PLUS

Override Categories

Most overrides use a five-tier scale: "never", "rare", "default", "often", "always". Season lengths use: "noseason", "shortseason", "default", "longseason", "random".

World settings: world_size (small/medium/default/huge), season_start (autumn/winter/spring/summer/random), individual season length overrides.

Resources: flowers, grass, saplings, trees, reeds, flint, rocks, mushroom

Animals: rabbits, moles, birds, pigs, beefalo, penguins, bees, catcoons

Monsters: spiders, hounds, merms, walrus, krampus, bearger, deerclops, dragonfly

Here's a practical example – a long-autumn world with plentiful resources and fewer giants:

return {
    override_enabled = true,
    preset = "SURVIVAL_TOGETHER",
    overrides = {
        world_size = "huge",
        season_start = "autumn",
        autumn = "longseason",
        winter = "shortseason",
        beefalo = "often",
        grass = "often",
        saplings = "often",
        deerclops = "rare",
        bearger = "rare",
    },
}

The fastest way to generate a valid config is to create a world through the DST client's "Host Game" screen, tweak all the sliders, then copy the resulting leveldataoverride.lua from your local Klei folder.

Game Modes in Detail

Survival – the default. Death makes you a ghost. Other players can revive you. If everyone's dead simultaneously, the world resets.

Endless – friendlier. Dead players respawn at the portal with a max-health penalty. The world never resets.

Wilderness – hardcore. Death is permanent. You respawn as a new character at a random spot.

Admin Commands Reference

Open the in-game console with ~ (tilde). Press Ctrl to switch to Remote mode.

Server Management

Command What It Does
c_save() Forces an immediate world save.
c_rollback(n) Rolls back n save snapshots.
c_regenerateworld() Destroys and regenerates the world.
c_reset() Resets the world.
c_shutdown() Saves and shuts down gracefully.
c_announce("text") Broadcasts a message to all players.

Player Management

Command What It Does
TheNet:Kick(userid) Boots a player by KU ID.
TheNet:Ban(userid) Permanently bans a player.
TheNet:BanForTime(userid, seconds) Temporary ban.
c_listallplayers() Prints all connected players with IDs.

Debug and Utility

Command What It Does
c_spawn("prefab", count) Spawns an entity at your cursor.
c_give("prefab", count) Adds an item to your inventory.
c_godmode() Toggles invincibility.
c_countprefabs("prefab") Counts entities in the world.

Caves Shard Configuration

DST runs each "level" as a separate process called a shard. The master shard is your forest; the caves shard connects back over UDP on master_port.

Key port assignments:

Shard server_port master_server_port authentication_port
Master 10999 27016 8766
Caves 10998 27017 8767

Each shard needs unique Steam ports – if they collide, the caves shard fails silently. The cluster_key authorises the slave shard to connect to the master.

If your caves shard keeps disconnecting, check that both processes are running, master_port isn't blocked, the cluster_key hasn't changed, and both shards are on the same version.

Practical Configuration Recipes

Casual PvE with friends (4–6 players):

[GAMEPLAY]
game_mode = endless
max_players = 6
pvp = false
pause_when_empty = true

Competitive survival (high difficulty):

[GAMEPLAY]
game_mode = survival
max_players = 12
pvp = true
pause_when_empty = false
vote_enabled = false

Pair with a worldgenoverride.lua that cuts resources and spawns more bosses.

Laid-back building server:

[GAMEPLAY]
game_mode = endless
max_players = 16
pvp = false
pause_when_empty = true

With huge world, long autumn/spring, short winter/summer, and giants set to "never".

Any time you edit cluster.ini, worldgenoverride.lua, or modoverrides.lua, restart the server from the control panel. World generation overrides only apply when a new world is generated – changing them on an existing world does nothing unless you regenerate via c_regenerateworld().

For the basics on ordering, tokens, and first-time setup, see the Getting Started guide.

Join our Discord to chat with our staff and community!
Join Discord