ClusterSync
Configuration
Configuration reference for ClusterSync.
On this page6 sections
Settings are read when the server starts. Changes take effect after the next restart.
MapTag must be unique, and should be treated as permanent
MapTag must be different on every map, and should be treated as permanent. A map whose code is already used by another server is refused at start-up, and its log says so. Changing a map's code after it has been running can make out-of-date tribe data reappear on that map.
Map identity
| Setting | Default | What it does |
|---|---|---|
MapTag | required | This map's short code, e.g. TI. Must be unique across the cluster; capitals do not make codes different, so TI and ti count as the same map. 1–32 letters A–Z, digits, - or _. Cannot be left as MAP. |
MapDisplayName | "" | The map name players see on relayed chat and tribe log lines, shown as [Island]. Empty uses MapTag. Safe to change any time. |
What to synchronize
| Setting | Default | What it does |
|---|---|---|
SyncTribeMembership | true | The main feature. Keeps tribe membership, ranks, rank groups, governance and tribe names the same on every map. false leaves this map's tribes independent. |
SyncTribeRoster | true | Shows a tribe's full member list on every map, and makes the server's tribe member limit correct everywhere. |
SyncAlliances | true | Copies alliances between maps. Alliance chat is separate and works either way. |
SyncBans | true | Applies bans and unbans to every map in the cluster. |
ReserveTribeNames | true | Keeps tribe names unique across the whole cluster, not just per map. A tribe whose chosen name is already taken elsewhere gets a number added, and the player is told in chat. |
SyncTribeLog | true | Shares tribe log entries between maps. This map's own log works normally either way. |
SyncGlobalChat | true | Shares global chat between maps. Both directions. |
SyncTribeChat | true | Shares tribe chat between maps, delivered only to that tribe. Both directions. |
SyncAllianceChat | true | Shares alliance chat between maps, delivered only to tribes in that alliance. Both directions. |
ChatCommandPrefixes | ["/", "!"] | Chat starting with any of these is treated as another plugin's command and is not shared between maps. [] shares everything. |
BlockDuplicateRankGroupNames | true | Stops a rank group being created or renamed to a name its tribe already uses, and tells the player why. Rank groups with the same name cannot be kept in step between maps, so leave this on. |
RefreshKickedPlayerView | true | A player removed from a tribe sees the change on their own screen straight away, instead of after relogging. |
OfferOwnBedsOnTransfer | true | A player who is in no tribe is offered their own beds on the transfer screen. |
Alerts and logging
| Setting | Default | What it does |
|---|---|---|
AdminWebhookUrl | "" | A Discord webhook for admin alerts: only things an admin has to fix, such as a map that cannot reach the database. Each problem is posted once, then reminded about every hour while it lasts. Empty turns alerts off. Treat the URL like a password. |
DebugLogging | false | Verbose logging for support. Produces a large amount of output. It only takes effect while debug logging is allowed for your licence — see Your licence. |
Licensing
Each map's config.json also needs a Licensing section with your licence key. Its three settings — LicenseKey, ClusterId and Reminders — are described on Your licence.
Database cleanup
| Setting | Default | What it does |
|---|---|---|
PruneRelayRows | true | Removes relayed chat and tribe log messages from the shared database once every active map has received them, and stops a map joining the cluster for the first time from receiving the whole backlog. |
PruneInactiveMapHours | 24 | How recently a map must have been online to count as active. A map that has been off for longer does not hold up the cleanup. |
PruneGraceDays | 7 | Alliances left empty are removed after this many days. Players and tribes are never removed. |
Database
Every map must point at the same database
That shared database is what makes the cluster a cluster.
| Setting | Default | What it does |
|---|---|---|
Database.MysqlHost | 127.0.0.1 | Hostname or IP of the database, reachable from every map. |
Database.MysqlUser | required | Needs permission to create and modify tables. |
Database.MysqlPass | required | Password for that user. |
Database.MysqlDB | tribeclustersync | Database name. Tables are created automatically. |
Database.MysqlPort | 3306 | Port the database listens on. |