How to Set Up Caves on Your Don't Starve Together Server (Master + Caves Shards)
Enable the Caves shard on your Don't Starve Together dedicated server with the correct cluster.ini, server.ini, and worldgenoverride.lua configuration.
Don't Starve Together's signature feature is the Caves shard — a separate underground world connected to the surface via sinkholes. Most new server admins fail to set this up because it requires two shards (Master = surface, Caves = underground) and a precise mix of cluster.ini, per-shard server.ini, and worldgenoverride.lua files. This page walks through the entire workflow.
How DST Sharding Works
DST runs caves as a second server process (called a shard) that the master server proxies players into when they enter a sinkhole. Both processes:
- Read the same
cluster.ini(cluster-wide settings) - Have their own
server.ini(shard-specific port + role) - Have their own
worldgenoverride.lua(different presets — surface vs cave) - Communicate over a
master_portset incluster.ini
If any of those four pieces is wrong, players get stuck at "Connecting to shard..." or sinkholes do nothing.
File Structure
This is what a working two-shard cluster looks like:
Enable Caves
Stop the server
Stop your DST server from Console in the XGamingServer Panel.
Edit cluster.ini
Open DoNotStarveTogether/Cluster_1/cluster.ini in Files. Make sure the [SHARD] section is set up correctly:
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 11001
cluster_key = supersecretkey| Key | Value | Why |
|---|---|---|
shard_enabled | true | Required — without this, caves never load |
bind_ip | 127.0.0.1 | Both shards on the same machine |
master_ip | 127.0.0.1 | Caves connects to Master at this IP |
master_port | 11001 | Internal shard-to-shard channel (any free port) |
cluster_key | (any string) | Both shards must use the same key |
Configure the Master shard
Open Cluster_1/Master/server.ini. It should contain:
[SHARD]
is_master = true
name = Master
[NETWORK]
server_port = 10999
[STEAM]
authentication_port = 8766
master_server_port = 27018The Master shard is the surface world. server_port is what players connect to from the in-game browser.
Create the Caves shard folder
If a Cluster_1/Caves/ folder doesn't exist, create it. Inside it, create server.ini:
[SHARD]
is_master = false
name = Caves
[NETWORK]
server_port = 11000
[STEAM]
authentication_port = 8768
master_server_port = 27019Critical: every port in this file must be different from the Master shard's server.ini. Use the table below.
Add Caves world generation
Inside Cluster_1/Caves/, create worldgenoverride.lua:
return {
override_enabled = true,
preset = "DST_CAVE",
}Available cave presets: DST_CAVE (standard), DST_CAVE_PLUS (more resources), COMPLETE_DARKNESS (extreme).
Save and start
Save all files and start the server from Console. Watch the console output for Caves shard ready — that confirms the second process started.
Port Reference
To prevent collisions, use this layout for any DST cluster:
| Setting | Master | Caves |
|---|---|---|
[NETWORK] server_port | 10999 | 11000 |
[STEAM] authentication_port | 8766 | 8768 |
[STEAM] master_server_port | 27018 | 27019 |
master_port in cluster.ini (e.g. 11001) is separate — it's the internal channel between Master and Caves processes.
Verifying Caves Work
After the server starts:
- Connect from the in-game browser
- Find a sinkhole in the world (round dark hole, usually near rocky biomes)
- Right-click the sinkhole — your character should rappel down with a transition screen
- You spawn in the caves with the lighting system active
If you fall in and immediately come back out: the Caves shard isn't running. Check the server console for cave shard errors.
Common Issues
| Problem | Cause | Fix |
|---|---|---|
| Sinkholes do nothing | shard_enabled = false in cluster.ini | Set true, restart |
| "Connecting to shard..." hangs forever | Port collision between Master and Caves server.ini | Use the port table above |
| Caves loads but Master doesn't | cluster_key mismatch between cluster.ini and server.ini files, or is_master set wrong | Both shards need matching cluster_key; only Master gets is_master = true |
| Caves regenerates every restart | The Caves shard has no save folder yet — first boot creates it. Don't delete save/ after first generation | — |
| Mods only work on surface | Mods must be enabled in both Master/modoverrides.lua AND Caves/modoverrides.lua | Copy modoverrides to Caves folder |
Disabling Caves
If you want a surface-only server:
- In
cluster.ini, setshard_enabled = false - Restart
The Caves shard process won't start, and sinkholes become decorative.
Related Guides
How is this guide?

How to Ban and Whitelist Players on Your Don't Starve Together Server
Use blocklist.txt and whitelist.txt to permanently ban grief players or reserve slots for trusted players on your DST dedicated server.
How To Change Your Don't Starve Together Server Name
Learn how to change the display name of your Don't Starve Together dedicated server.