Sueta
BU

BungeeBridge

0.2

A powerfull, complete cross proxy bridge

·Plugin

Why BungeeBridge ?
BungeeBridge is great if you're planning to develop a server with multiple bungeecord proxies linked together.
It allows you to link these proxies through a Redis databases cluster.

What is required ?
BungeeBridge is a BungeeCord plugin, so you need at least one bungeecord server to run it.
You also need at lease two redis DataBases and one redis sentinel.
The sentinel MUST use two different masters :
* A storage database, which will keep all the datas of your players
* A cache database, which will keep running data
You can also use a "single redis mode", which doesn't require the use of a sentinel. Beware, this mode is still in beta and might not work.

You also have to use our bukkit side bridge, BukkitBridge. This bridge will take care of registering a bukkitserver to the proxy, and a lot of other cool stuff.
This BukkitBridge is designed to be used as an API, so feel free to use it in your plugins.
It includes usefull tools to build a network.
You can find it there : http://www.spigotmc.org/resources/bukkitbridge.7455/

How does it work ?
Proxies are "linked" through a database.
When a player joins or leave, a pubsub message is sent and the current amount of players is stored in the database.
Every 15 seconds, each proxy send a keepalive packet to the others. If a proxy doesn't send any keepalive during more than 30 seconds, it's declared as dead and automatically removed from the system.
When a bukkit server with BukkitBridge starts, it'll send a keepalive too. The proxies will add the server into the server list. If a server doesn't send any keepalive during more than 2 minutes, it's declared as offline and removed.

How can I use it ?
Download the file and install it into your plugins folder.
Restart your proxy so that the plugin can copy its configuration files into the plugin folder.
Complete the config file with your database config. Feel free to enable or disable some modules there.
WARNING : As I'm french, the only available language is french. If you want, you can download the source code and change the messages. I'm working on the internationalisation, it will come soon.

Commands
This plugin comes with a lot of commands :

  • /setoption <motd|serverline|slots|state> <value> : defines an option
    motd: the server motd (second line)
    serverline : the first line of the server MOTD
    slots: max players allowed to connect
    state: closed|opened|vip
  • /locate <player> : locates a player on the network
  • /global <message> : dispatchs a global message
  • /dispatch <proxies|servers> <all|proxy/server name> <command> : dispatches a command
  • /groups : groups management commands
  • /users : users management commands
  • /global <message> : dispatches a global message to all servers

Others commands are included, look in the source code for more information

Permissions
Here are the main permissions of the plugin :

  • proxies.setoption : setoption command
  • proxies.locate : locate command
  • modo.globalcomand : global command
  • proxies.dispatch : dispatch command
  • netjoin.closed : allow to join when the serverstate is "closed"
  • netjoin.vip : allow to join when the serverstate is "vip"
  • netjoin.full : allow to join when the server is full

Modules

You can also find other modules here :

Just drop them in your plugin directory and restart BungeeCord.

Support
If you have any issue, feel free to report it via a PM.

Similar projects

Plugin →