In the standard layout, VotifierPlus and VotingPlugin run on the proxy, while VotingPlugin runs on each backend server. Custom vote-routing layouts may differ.
All servers must use the same MySQL database for shared player data.
PLUGINMESSAGING is the recommended method for most networks. It uses the proxy messaging channel and requires at least one online player to transmit a plugin message, but offline votes can still be cached and delivered later.
bungeeconfig.ymlBungeeMethod: PLUGINMESSAGING
Also configure the shared MySQL connection.
BungeeSettings.ymlUseBungeecord: true
BungeeMethod: PLUGINMESSAGING
Server: SERVERNAMEHERE
Each backend must have a unique Server value that matches the name known by the proxy.
Config.ymlConfigure the same MySQL database used by the rest of the network.
The proxy and backend settings are separate and use different capitalization:
# Backend Config.yml
AllowUnjoined: true
bungeeconfig.yml: AllowUnJoinedConfig.yml: AllowUnjoinedIn the standard proxy-managed layout, keep proxy AllowUnJoined: false so the
proxy rejects votes for players it cannot validate, and set backend
AllowUnjoined: true so forwarded votes are not rejected a second time.
Disable SendVotesToAllServers when the network should give only one server reward per vote. Leave it enabled when each applicable backend should process the forwarded vote.
/votingpluginproxy status
/votingpluginproxy vote <player> <site>
The status command needs an online player for PLUGINMESSAGING communication.
Server value.These settings must match on all connected servers:
PluginMessageChannel: 'vp:vp'
PluginMessageEncryption: false
When encryption is enabled, copy the same secretkey.key to every connected server.
Stop the network while replacing the key, restrict the file to the server
service account, and fully restart every instance afterward. Changing the
channel name alone is not a substitute for encryption or normal proxy/backend
network isolation.