Don't Starve Together Guide

Clusters

  1. Ensure all settings under Cluster Settings match between the main instance and all cave instances.

  2. Under Server Settings, ensure you have only one Master Server enabled and the rest need unique Shard Names and Shard IDs set.

  3. To generate a cave biome you must place the leveldataoverride.lua file into the dstserver\dstserver_config\Cluster_1\shard folder.

Example leveldataoverride.lua:

return {
  background_node_range={ 0, 1 },
  desc="Delve into the caves... together!",
  hideminimap=false,
  id="DST_CAVE",
  location="cave",
  max_playlist_position=999,
  min_playlist_position=0,
  name="The Caves",
  numrandom_set_pieces=0,
  override_level_string=false,
  overrides={
    atriumgate="default",
    banana="default",
    bats="default",
    bats_setting="default",
    beefaloheat="rare",
    berrybush="default",
    boons="default",
    branching="default",
    brightmarecreatures="default",
    bunnymen="default",
    bunnymen_setting="default",
    cave_ponds="default",
    cave_spiders="default",
    cavelight="default",
    chess="default",
    day="longday",
    dropeverythingondespawn="default",
    dustmoths="default",
    earthquakes="default",
    extrastartingitems="default",
    fern="default",
    fissure="default",
    flint="default",
    flower_cave="default",
    flower_cave_regrowth="default",
    fruitfly="default",
    grass="default",
    grassgekkos="default",
    krampus="default",
    layout_mode="RestrictNodesByKey",
    lichen="default",
    liefs="default",
    lightflier_flower_regrowth="default",
    lightfliers="default",
    loop="default",
    marshbush="default",
    merms="default",
    molebats="default",
    moles_setting="default",
    monkey="default",
    monkey_setting="default",
    mushgnome="default",
    mushroom="default",
    mushtree="default",
    mushtree_moon_regrowth="default",
    mushtree_regrowth="default",
    nightmarecreatures="default",
    pigs_setting="default",
    prefabswaps_start="default",
    reeds="default",
    regrowth="default",
    roads="never",
    rock="default",
    rocky="default",
    rocky_setting="default",
    sapling="default",
    season_start="default",
    seasonalstartingitems="default",
    shadowcreatures="default",
    slurper="default",
    slurtles="default",
    slurtles_setting="default",
    snurtles="default",
    spawnprotection="default",
    specialevent="default",
    spider_dropper="default",
    spider_hider="default",
    spider_spitter="default",
    spider_warriors="default",
    spiderqueen="default",
    spiders="default",
    spiders_setting="default",
    start_location="caves",
    task_set="cave_default",
    tentacles="default",
    toadstool="default",
    touchstone="default",
    trees="default",
    weather="never",
    world_size="default",
    wormattacks="rare",
    wormhole_prefab="tentacle_pillar",
    wormlights="default",
    worms="default" 
  },
  required_prefabs={ "multiplayer_portal" },
  settings_desc="Delve into the caves... together!",
  settings_id="DST_CAVE",
  settings_name="The Caves",
  substitutes={  },
  version=4,
  worldgen_desc="Delve into the caves... together!",
  worldgen_id="DST_CAVE",
  worldgen_name="The Caves" 
}

Mods

  1. dedicated_server_mods_setup.lua must be edited to include the workshop mod numbers you want to automatically download and placed in mods folder.

Example dedicated_server_mods_setup.lua:

--There are two functions that will install mods, ServerModSetup and ServerModCollectionSetup. Put the calls to the functions in this file and they will be executed on boot.

--ServerModSetup takes a string of a specific mod's Workshop id. It will download and install the mod to your mod directory on boot.
	--The Workshop id can be found at the end of the url to the mod's Workshop page.
	--Example: http://steamcommunity.com/sharedfiles/filedetails/?id=350811795
	--ServerModSetup("350811795")
ServerModSetup("394470072")
ServerModSetup("818739975")
ServerModSetup("1557044984")
ServerModSetup("1349799880")
ServerModSetup("522117250")
ServerModSetup("385979230")
ServerModSetup("1101769273")
ServerModSetup("407977022")
ServerModSetup("1337321458")
ServerModSetup("1324800295")
ServerModSetup("376333686")
ServerModSetup("727774324")
ServerModSetup("370373189")
ServerModSetup("385006082")
ServerModSetup("352499675")
ServerModSetup("384396097")
ServerModSetup("444235588")
ServerModSetup("347079953")
ServerModSetup("358749986")
ServerModSetup("1606900400")
ServerModSetup("902800933")
ServerModSetup("378160973")
ServerModSetup("1260583154")
ServerModSetup("375859599")
ServerModSetup("2008480548")
ServerModSetup("356930882")
ServerModSetup("436441644")
ServerModSetup("799440875")
ServerModSetup("462469447")
ServerModSetup("363112314")
ServerModSetup("903331107")
ServerModSetup("380423963")
ServerModSetup("364189966")
ServerModSetup("378962221")
ServerModSetup("356420397")
ServerModSetup("1664128154")
ServerModSetup("403252663")
ServerModSetup("727244271")
ServerModSetup("656256171")
ServerModSetup("1405120786")
ServerModSetup("947862914")
ServerModSetup("358015908")
ServerModSetup("382363357")
ServerModSetup("861013495")
ServerModSetup("2675609101")
ServerModSetup("502031011")
ServerModSetup("1865881435")
ServerModSetup("2623494521")
ServerModSetup("2399917180")
ServerModSetup("2087177552")
ServerModSetup("2330050880")
ServerModSetup("2328209982")
ServerModSetup("1851574434")
ServerModSetup("2485482489")
--ServerModCollectionSetup takes a string of a specific mod's Workshop id. It will download all the mods in the collection and install them to the mod directory on boot.
	--The Workshop id can be found at the end of the url to the collection's Workshop page.
	--Example: http://steamcommunity.com/sharedfiles/filedetails/?id=379114180
	--ServerModCollectionSetup("379114180")

  1. modoverrides.lua must be edited to include the same workshop mod numbers and placed in the dstserver\dstserver_config\Cluster_1\shard folder. You can also specify special settings in this file per mod.

Example modoverrides.lua:

return {
["workshop-394470072"] = { enabled = true },
["workshop-818739975"] = { enabled = true },
["workshop-1557044984"] = { enabled = true },
["workshop-1349799880"] = { enabled = true },
["workshop-522117250"] = { enabled = true },
["workshop-385979230"] = { enabled = true },
["workshop-1101769273"] = { enabled = true },
["workshop-407977022"] = { enabled = true },
["workshop-1337321458"] = { enabled = true },
["workshop-1324800295"] = { enabled = true },
["workshop-376333686"] = { enabled = true },
["workshop-727774324"] = { enabled = true },
["workshop-370373189"] = { enabled = true },
["workshop-385006082"] = { enabled = true },
["workshop-352499675"] = { enabled = true },
["workshop-384396097"] = { enabled = true },
["workshop-444235588"] = { enabled = true },
["workshop-347079953"] = { enabled = true },
["workshop-358749986"] = { enabled = true },
["workshop-1606900400"] = { enabled = true },
["workshop-902800933"] = { enabled = true },
["workshop-378160973"] = { enabled = true },
["workshop-1260583154"] = { enabled = true },
["workshop-375859599"] = { enabled = true },
["workshop-2008480548"] = { enabled = true },
["workshop-356930882"] = { enabled = true },
["workshop-436441644"] = { enabled = true },
["workshop-799440875"] = { enabled = true },
["workshop-462469447"] = { enabled = true },
["workshop-363112314"] = { enabled = true },
["workshop-903331107"] = { enabled = true },
["workshop-380423963"] = { enabled = true },
["workshop-364189966"] = { enabled = true },
["workshop-378962221"] = { enabled = true },
["workshop-356420397"] = { enabled = true },
["workshop-1664128154"] = { enabled = true },
["workshop-403252663"] = { enabled = true },
["workshop-727244271"] = { enabled = true },
["workshop-656256171"] = { enabled = true },
["workshop-1405120786"] = { enabled = true },
["workshop-947862914"] = { enabled = true },
["workshop-358015908"] = { enabled = true },
["workshop-382363357"] = { enabled = true },
["workshop-861013495"] = { enabled = true },
["workshop-2675609101"] = { enabled = true },
["workshop-502031011"] = { enabled = true },
["workshop-1865881435"] = { enabled = true },
["workshop-2623494521"] = { enabled = true },
["workshop-2399917180"] = { enabled = true },
["workshop-2087177552"] = { enabled = true },
["workshop-2330050880"] = { enabled = true },
["workshop-2328209982"] = { enabled = true },
["workshop-1851574434"] = { enabled = true },
["workshop-2485482489"] = { enabled = true }
}

Admins (Credit to Rayshen)

  1. To add admin rights you need to make a txt file called adminlist.txt in this location dstserver\dstserver_config\Cluster_1

  2. It must have your KU ID’s Example: KU_XXXXXXXX The X is your ID info. You can get it at Klei Account 3. Save it and start your server you now have admin rights.

Am I understanding this guide correct in that I need to have two different instances of the game in AMP, one running normally and the other with this leveldataoverride.lua file to only act as a cave biome? It would be nice to have a more comprehensive guide on how to link these instances together. I’ve searched the knowledge space and am not able to find how to do it…

That’s right. Each world you teleport into in-game is another instance in AMP. What part are you stuck on otherwise? I’ll gladly share more detail.

Thanks for the reply! I’m not able to link the instances together… I think I’m configuring each instance right but the caves instance is not able to initiate connection to the master instance

[00:00:32]: About to start a shard with these settings:
[00:00:32]:   ShardName: Caves
[00:00:32]:   ShardID: 2
[00:00:32]:   ShardRole: SECONDARY
[00:00:32]:   MasterHost: 127.0.0.1
[00:00:32]:   MasterBind: (null)
[00:00:32]:   MasterPort: 15000
[00:00:32]: [Shard] Connecting to master...
[00:00:42]: [Shard] Connection to master failed. Waiting to reconnect...

Master instance Server & Cluster settings:


Cave instance Server & Cluster settings:


I’m not figuring out what is wrong, but then again I’m not really familiar with how this cluster connection works…

A couple of obvious things I see. The Cluster Name needs to match. Also the Cluster Key and Cluster Password though I can’t see them.

If they’re on the same server then 127.0.0.1 is good. Is 15000 the port for the master server? You can find it under the Status tab for that instance.

Ahh ok, it still is not working although I changed to matching Cluster names… Cluster Keys and Passwords do match… 15000 is the port for the master server
image
It’s supposed to be the Application Admin Port right? Why is it red here?

And yes, they are one the same server :slight_smile:

Make sure in the cluster menu on the master that you also put that 15000 port.

Okay that seems to have done the trick :smiley:
Thank you so much for your help!

1 Like

Hi, I used the guide, the leveldataoverride.lua is into the path on my Caves. It shows 2 running servers on DST GUI. I’m able to connect both but no caves spawning. Also, how do you differentiate both if you want to invite friends and not get confused?

Can’t only put one embed media as new user so I put here all screenshots: Dropbox

On the non-Master server change the shard ID to 2. This increments on each shard you add. Also change the name from Master to Caves or something else. The Master server looks fine though.

Thanks, seems it works.

It’s save to regenerate the world inside the game? Or I have to do it on each instance at same time?

Im honestly not sure. I assume inside would be fine since it only loads you into those worlds when youre actively playing in them.