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.