Skip to content

Proxy method PLUGINMESSAGING

github-actions[bot] edited this page Aug 12, 2026 · 6 revisions

Method PLUGINMESSAGING

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.

Required settings

Proxy: bungeeconfig.yml

BungeeMethod: PLUGINMESSAGING

Also configure the shared MySQL connection.

Backend servers: BungeeSettings.yml

UseBungeecord: true
BungeeMethod: PLUGINMESSAGING
Server: SERVERNAMEHERE

Each backend must have a unique Server value that matches the name known by the proxy.

Backend servers: Config.yml

Configure 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
  • Proxy bungeeconfig.yml: AllowUnJoined
  • Backend Config.yml: AllowUnjoined

In 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.

Reward behavior

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.

Testing

/votingpluginproxy status
/votingpluginproxy vote <player> <site>

The status command needs an online player for PLUGINMESSAGING communication.

Duplicate or extra rewards

  • Ensure every backend has a unique and correct Server value.
  • Disable NuVotifier forwarding when VotingPlugin is handling forwarding.
  • Avoid running a separate vote listener on backend servers unless the custom topology intentionally requires it.

Optional message security

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.

AI disclosure: This documentation update was written with assistance from ChatGPT.

Clone this wiki locally