MQTT uses a broker to carry VotingPlugin messages between the proxy and backend servers. It does not replace VotingPlugin's shared SQL storage requirement.
ClientID.Disable VotifierPlus/NuVotifier forwarding targets in this standard layout; VotingPlugin performs the backend forwarding.
bungeeconfig.ymlBungeeMethod: MQTT
MQTT:
ClientID: proxy
BrokerURL: "tcp://mqtt.internal.example:1883"
Username: 'votingplugin'
Password: 'replace-with-a-secret'
Prefix: ''
Configure the proxy Database section as well.
BungeeSettings.ymlUseBungeecord: true
BungeeMethod: MQTT
Server: lobby
MQTT:
ClientID: lobby
BrokerURL: "tcp://mqtt.internal.example:1883"
Username: 'votingplugin'
Password: 'replace-with-a-secret'
Prefix: ''
Give every backend a different Server and ClientID.
Config.ymlConfigure the same SQL database and use:
AllowUnjoined: true
This lowercase-d spelling is the backend key. The proxy key is separately named AllowUnJoined; in the standard 7.1.1 proxy-managed layout it remains false, so the proxy validates the player before forwarding.
With BungeeManageTotals: true (the supported release default), totals are owned by the proxy. Set SendVotesToAllServers: false when one backend should execute the per-vote reward for the network.
tcp:// example is not encrypted./votingpluginproxy status./votingpluginproxy vote <player> <site>.For duplicates, verify unique backend Server names, unique MQTT client IDs, SendVotesToAllServers, backend ProcessRewards, and disabled Votifier forwarding.