A new BungeeCord player synchronization system: RedisBungee

At first, we were running with just one BungeeCord instance. However, we needed to expand.

We ran BungeeCountSync to synchronize player counts across our system. However, this turned out to not be a viable solution, so we sought another one.

The Weakness

The weakness was because BungeeCountSync relied on MySQL for player count storage. It doesn't help when that server was remotely located (we choose to centralize our servers at certain locations, and much of the MySQL load was in OVH BHS). First, we could just fire up a local instance of MariaDB on one of our BungeeCord servers, but it isn't going to be flexible and require more work.

Until we came across Redis, of course. Redis was the best solution to the problem we had.

The Solution

We set up one Redis instance on one of our Bungee servers, and coded a plugin that sent data to Redis. So far, this has improved things quite a bit - in fact, just by making the switch we have been able to halve the CPU usage on our Bungee nodes.

If you want to try it out, grab it from the SpigotMC.org resources section.