Multi Server Setup
You need a shared MySQL database to use this feature.
Staff++ added the ability to synchronize multiple features over a multiple servers.
This guide will explain you how to easily set this up.
Install Staff++ on every server that you want to be synced. No plugin is needed for the bungee server.
Configure the database connection inside the configuration file.
storage:
type: 'mysql'
migrations-table-name: 'migrations'
mysql:
host: 'localhost'
user: 'root'
database: 'root'
password: 'mypass'
port: 3306
You must configure mysql to synchronize the servers.
Every Staff++ instance must be configured to use the same database
Search for the property:
server-name
inside the configuration file.
The server name should be unique for every server. Every server running Staff++ must configure this with a different name. If you are running a minecraft server network make sure to give this property the same name as the server name used by the network.I recommend keeping the server-name property alphanumeric. Underscore, dashes and spaces can be used.
Look for the following section in the configuration file.
server-sync-module:
vanish-sync: false
staffmode-sync: false
ban-sync: ''
report-sync: ''
warning-sync: ''
mute-sync: ''
kick-sync: ''
notes-sync: ''
Allows a player to remain vanished when switching between servers. No join and leave message will be displayed.
Allows a staff member to keep his staff mode when switching between servers.
To use this you must set the properties
enable-on-login
and disable-on-logout
underneath the staff-mode section, to falseBelow properties are all configured in the same way.
Inside this property we can configure all other servers we want to be able to read data from. Let's say we have 4 servers all linked to the same Staff++ mysql db. The servers are named
MC1
MC2
MC3
and MC4
. MC1, MC2 and MC4 should share reports, while MC3 has it's own reports. Bans should be shared across all servers. MC2 and MC4 share the same mutes. MC1 and MC3 also share the same mutes. You can leave the property empty if you only want to read data from your own server.
The
[ALL]
value can be used to tell staff++ to read data from all servers. server-sync-module:
ban-sync: '[ALL]'
report-sync: 'MC1;MC2;MC4'
mute-sync: 'MC1;MC3'
server-sync-module:
ban-sync: '[ALL]'
report-sync: 'MC1;MC2;MC4'
mute-sync: 'MC2;MC4'
server-sync-module:
ban-sync: '[ALL]'
report-sync: ''
mute-sync: 'MC1;MC3'
server-sync-module:
ban-sync: '[ALL]'
report-sync: 'MC1;MC2;MC4'
mute-sync: 'MC2;MC4'
When configured players will get banned on every server listed. If nothing filled in, the player is only banned on the server where the ban was initiated.
This also impacts the Staff GUI. When enabled the staff GUI shows all banned players from all configured servers. If disabled you only see the banned players on the current server.
When enabled, the GUI reports shows all reports a player has made on whatever server the report was created. The infractions GUI will also include players who got reported on other servers
When enabled warning thresholds will be calculated based on player warnings from across all configured servers.
If disabled only warnings from the current server are taken into account.
The list of warnings retrieved shows either all warnings from a player or only the warnings issued from the current server.
When enabled players will get muted on every configured server having staff++ installed. If disabled the player is only muted on the server where the mute was initiated.
This also impacts the Staff GUI. When enabled the staff GUI shows all muted players from all configured servers. If disabled you only see the muted players on the current server.
This impacts the infractions Staff GUI. When enabled the staff GUI shows all kicks a player has received from all configured servers. If disabled you only see the kicks the player has received from the current server.
When enabled, the notes displayed linked to a player are shared across all configured servers. If disabled you will only see notes that were created on the current server.