Share punishments across all servers

BanManager supports sharing punishments across multiple servers, often refered to as data syncing in the documentation. This is not dependent on a particular proxy e.g. Bungeecord or Lilypad and there are a number of ways you can achieve this.

This guide explains how to enforce punishments as if it were a single server. Bans, mutes and all other punishment information will be shared and synchronised. E.g. if a player is banned on one server, they are banned from all servers.

Prerequisites

This requires BanManager to be setup on each Minecraft server.

-

Guide

Enable database.local on all servers.
Configure each server to use the same database and tables in the local settings.
Ensure each console.yml has a unique name and uuid value. If not, delete the file and let BanManager recreate it on start up, this will generate a unique UUID.
Open schedules.yml and change the default sync timings from 30 seconds to an appropriate value of your choosing. This determines how quickly data is synced between servers.
Restart each server for the new configuration to apply
-

Tips

If the sync is too slow, enable checkOnJoin within your config.yml file. This will force BanManager to check for new punishments when a player joins the server.
Enable broadcastOnSync to broadcast punishment notifications across all servers.