BungeeCord

Parties support both Bukkit (Spigot), BungeeCord and Velocity servers. If you wanna make available parties in more than one server, you have to install it into the BungeeCord/Velocity one.

To enable some Bukkit only features in the entire network, you can install Parties on others Spigot servers and enable the bungeecord option in the config.yml:

# [Enable BungeeCord support]
# If you are using Parties on BungeeCord you should enable this option.
# With this option enabled, THIS Parties won't directly handle player actions
bungeecord:
enable: true
...

If you wanna keep in sync all Parties plugins in Spigot servers, you must setup the SAME remote database (for example MariaDB)

How it works?

Parties BungeeCord

Parties in BungeeCord/Velocity acts as main plugin, all commands/requests are handled by it.

You can extend it features by adding Parties into Spigot servers and enabling bungeecord option in config.yml.
By doing so it will be a silent plugin, no commands will be handled except ones in console (like /party reload). It will handle only special requests and its gonna dispatch all them directly to Parties on BungeeCord.

Thanks to this, you will still be able to use all Bukkit features that Parties offers, like: friendly fire, placeholders, auto command and API.

Options in Spigot

These are the options available for BungeeCord synchronization:

bungeecord:
enable: false
server-name: ServerName
server-id: server
config-sync: true
  • enable - Set this to true if you are running Parties on BungeeCord too
  • server-name and server-id - These are simple names that you can give to the current server, used in placeholders
  • config-sync - This will enable configuration synchronization

Options in BungeeCord

The settings of Parties on BungeeCord are just related to config sync:

bungeecord:
config-sync: true
  • config-sync - This will enable config synchronization

Config synchronization will keep in sync the options below:

  • Experience
  • Friendly fire
  • Kills

How to use placeholders?

If you wanna use external placeholders, only supported in Spigot version, you just have to install the plugin into the server that you want.

API usage inside network

If you use the API inside a Spigot/Paper server, Parties will handle the API in BungeeCord/Velocity too. You can use the API wherever you prefer.

Any request made via Spigot plugin, in a BungeeCord system, it will be performed and dispatched an update request directly to Parties on BungeeCord.

This is not the best performance approach but if you wanna differently handle Parties in a BC context, you can check if the current plugin is running in a BungeeCord network with PartiesAPI.isBungeeCordEnabled().

The API method PartiesAPI.isBungeeCordEnabled() just returns true on Parties in Spigot if BungeeCord option is enabled

A similar approach is used to handle API events, if a party is created on BungeeCord, Spigot servers will still receive the Post event.

A Spigot server WILL NEVER receive a PRE event if it has been handled by BungeeCord. So carefully choose which event to use.

Redis support

Parties supports the plugin RedisBungee (Limework fork). If you already installed and set up Redis, you can enable the support for it in bungeecord settings (config.yml):

bungeecord:
redis-support: true