-
-
Notifications
You must be signed in to change notification settings - Fork 82
proxy method MQTT
MQTT uses a broker to carry VotingPlugin messages between the proxy and backend servers. It does not replace VotingPlugin's shared SQL storage requirement.
- VotifierPlus or NuVotifier and VotingPlugin run on the proxy.
- VotingPlugin runs on each participating backend.
- Every instance uses the same SQL database/table naming.
- Every instance connects to the same MQTT broker and prefix.
- Each proxy and backend has a unique MQTT
ClientID.
Disable VotifierPlus/NuVotifier forwarding targets in this standard layout; VotingPlugin performs the backend forwarding.
BungeeMethod: 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.
UseBungeecord: 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.
Configure the same SQL database and use:
AllowUnjoined: trueThis 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.
- Keep the broker on a private network or VPN and restrict its listener to participating hosts.
- Require authentication and use a dedicated broker account with only the required topics.
- Use TLS or a trusted private tunnel when MQTT crosses hosts or networks. The default
tcp://example is not encrypted. - Never publish credentials, broker certificates, or complete connection strings in screenshots or logs.
- Keep client IDs unique; duplicate IDs cause clients to disconnect each other.
- Restart the proxy and every backend after changing the method or client IDs.
- Run
/votingpluginproxy status. - Run
/votingpluginproxy vote <player> <site>. - Confirm exactly the intended backend or backends process the vote.
- Then send a real/listener-generated vote to test Votifier and public network reachability.
For duplicates, verify unique backend Server names, unique MQTT client IDs, SendVotesToAllServers, backend ProcessRewards, and disabled Votifier forwarding.
- Vote Milestones
- Vote Streak System
- Vote Reminders β Current System
- Legacy Vote Reminding
- Vote Broadcast System
- Vote Logging
- Webhooks
- Time Changes
- Month Date Totals
- VoteShop
- Rewards Overview β Start Here
- Special Rewards
- Reward System Concepts
- Reward File Format
- Where to Set Rewards
- All Reward Possibilities
- AdvancedPriority Rewards
- Reward Examples
- Delayed Reward Command
- World Example
- VotingPlugin-Specific Rewards
- Commands & Permissions
- Signs
- API
- PlaceholderAPI Placeholders
- Minecraft Server Lists
- Bedrock Player Support
- Transferring Data Storage