Shard configuration mod 2.0.1 updated util


1 Screenshot

About This File

Shard configuration mod

Shard configuration mod allows server admins to make migration links between their individual servers/worlds/shards.

This mod is made for dedicated servers and has no use in standart Don't Starve Together worlds created in client. This mod is also not needed if your dedicated servers run only two worlds/shards in one cluster (default connections works fine for 2 worlds/shards). If you are server admin and you want more than 2 connected worlds this is mod for you!

After all servers are set up and online and simulation on them is paused, when first player connects to any server and simulation is unpaused the mod will set up portals in the world to be linked to other worlds.

This mod uses standart 10 sinkholes generated in the world. If you manually create more, they will be used after server restart. If you want more than 10 connections from/to one world you have to create new sinkholes/stairs. Sinkholes not used are turned off and plugged.

 

Steam workshop

Mod is available on steam workshop

 

How to setup this mod

I created default preconfigured cluster with 3 shards. You can modify it as you wish. Download it here: DefaultCluster.zip

Since mod version 1.10 it is also possible to create single directional connections. New mod setting called "OneWayConnections" was created which contains world that should be connected unidirectionally. Example mod overrride settings below:

["workshop-595764362"] = {
	enabled = true,
	configuration_options = {
		["Connections"] = {
        	["1"] = { "11", "12" }, -- bidiractional between 1-11 and 1-12
			["11"] = { "12" } -- bidirectional between 11-12
		},
		["OneWayConnections"] = {
			["1"] = { "12", "12" } -- two unidirectional connections from 1 to 12
		}
	}
}

 

Since mod version 2.0 the slave shards can synchronize connection data from master. Slave shards will ignore connection data in their modoverrides.lua. This behaviour can be disabled by setting SyncWithMaster to false of all shards.

 

Shard config util

I created an util to create modoverrides.lua that configures this mod. Create shards, set their shard_id. Create connections between shards and set connection count. Save it and you have modoverrides.lua which will work with this mod. You still have to include other mods you want to use. Also supports one way connections.

This util is running in .NET 4.0 and won't start without it! The util is available for download from these forums by "Download this file" on the right.


What's New in Version 2.0.1 updated util   See changelog

Released

Shard config util updated to support one way connections

Added help window


3 people like this



User Feedback

設置你的worldgenoverride.lua為上層社會!?

 

overworld is!?

override_enabled = true, ?

Share this comment


Link to comment

Set your worldgenoverride.lua for overworld !?

Opst. All worlds, old tutorial version

Share this comment


Link to comment
override_enabled = true,

preset="DST_CAVE",

--開局模式-preset ="SURVIVAL_TOGETHER"默認 or "SURVIVAL_TOGETHER_CLASSIC"經典 or "SURVIVAL_DEFAULT_PLUS"三箱 or "COMPLETE_DARKNESS"永夜 or "DST_CAVE"洞穴

 

overworld!?  IS?

Share this comment


Link to comment

I use soft link let all "modoverrides.lua" link to one.

And then edit once, all update. :)

Share this comment


Link to comment
18 hours ago, cs8425 said:

I use soft link let all "modoverrides.lua" link to one.

And then edit once, all update. :)

that really good idea...nice

Share this comment


Link to comment

may be such idea. Make something like #include option, so in modoverrides will be just something like mod enable function, and all settings in other file?

Share this comment


Link to comment

I used this mod and created  shards: 2 overworlds each with its own cave.  The 2 overworlds are connected.

 

Because the shards are generated using the timestamp as a random seed, the 2 caves are identical and so are the worlds.  When I regenerated one of each, the sinkholes that connect the 2 worlds and the sinkholes that connect to the regenerated cave get messed up because of what I assume are mismatched sinkhole relationships.  I have had the following happen:

1.  Mine a plugged sinkhole and there is nothing under the plug.

2.  I use a sinkhole to go to the caves but come out at the florid postern in the caves.

3.  I use a staircase in the caves but come out at the florid postern up top.

4,  I use a staircase in the caves and come out on top to a surface with not sinkhole, but the the terrain is bare around it like it normally would be when there is one.  

 

How do I fix this?

 

 

Share this comment


Link to comment
[00:18:44]: Shard Configuration Mod: Synchronizing connection data from master	
caveworld         | [00:18:44]: [string "scripts/util.lua"]:89: attempt to index local 'self' (a nil value)
caveworld         | LUA ERROR stack traceback:
caveworld         | scripts/util.lua:89 in (field) split (Lua) <86-91>
caveworld         |    self = nil
caveworld         |    sep = 
caveworld         | 
caveworld         |    sep = 
caveworld         | 
caveworld         |    fields = table: 0xd0f1730
caveworld         |    pattern = ([^
caveworld         | ]+)
caveworld         | ../mods/workshop-595764362/scripts/components/sync.lua:22 in (local) fn (Lua) <6-35>
caveworld         |    oneDir = table: 0xb6c04f8
caveworld         |    biDir = table: 0xb6c08d8
caveworld         |    allData = table: 0xb6c1450
caveworld         | scripts/entityscript.lua:998 in (method) PushEvent (Lua) <985-1012>
caveworld         |    self (valid:true) =
caveworld         |       GUID = 100026
caveworld         |       name = MISSING NAME
caveworld         |       inlimbo = false
caveworld         |       persists = false
caveworld         |       OnRemoveEntity = function - scripts/prefabs/shard_network.lua:12
caveworld         |       event_listening = table: 0xb322318
caveworld         |       ShardNetwork = ShardNetwork (0xd4cce28)
caveworld         |       actioncomponents = table: 0xd8226c8
caveworld         |       prefab = shard_network
caveworld         |       lower_components_shadow = table: 0xd8226a0
caveworld         |       spawntime = 0
caveworld         |       pendingtasks = table: 0xe0fc818
caveworld         |       entity = Entity (0xb10a5c0)
caveworld         |       event_listeners = table: 0xdd6c240
caveworld         |       components = table: 0xd822678
caveworld         |       replica = table: 0xb3221a0
caveworld         |    event = OnConnectionDataChanged
caveworld         |    data = nil
caveworld         |    listeners = table: 0xd7ebd08
caveworld         |    tocall = table: 0xb6bbeb0
caveworld         |    i = 1
caveworld         |    fn = function - ../mods/workshop-595764362/scripts/components/sync.lua:6
caveworld         | scripts/mainfunctions.lua:318 in () ? (Lua) <315-320>
caveworld         |    guid = 100026
caveworld         |    event = OnConnectionDataChanged
caveworld         |    data = nil
caveworld         |    inst = 100026 - shard_network (valid:true)
caveworld         | 
caveworld         | [00:18:44]: [string "scripts/util.lua"]:89: attempt to index local 'self' (a nil value)
caveworld         | LUA ERROR stack traceback:
caveworld         |     scripts/util.lua:89 in (field) split (Lua) <86-91>
caveworld         |     ../mods/workshop-595764362/scripts/components/sync.lua:22 in (local) fn (Lua) <6-35>
caveworld         |     scripts/entityscript.lua:998 in (method) PushEvent (Lua) <985-1012>
caveworld         |     scripts/mainfunctions.lua:318 in () ? (Lua) <315-320>
caveworld         | 	
caveworld         | [00:18:44]: CURL ERROR: () <url> malformed

My server got this error, maybe because I was running the server in the docker.
In the docker, access to other containers only need to link container name.

Share this comment


Link to comment
On 14/07/2017 at 9:27 AM, turingking said:

My server got this error, maybe because I was running the server in the docker.
In the docker, access to other containers only need to link container name.

same error here, without docker installation.

Edited by liao0007

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now