Skip to content

Bungee Setup PLUGINMESSAGING

Ben edited this page Jan 26, 2025 · 34 revisions

Setup files example available here

This setup requires VotingPlugin on proxy and every backend server you want rewards/voting info on. Votifier must only be on proxy. Requires mysql. See below for settings and troubleshooting steps.

Bungee Setup PLUGINMESSAGING

  • This setup is similar to SOCKETS, but requires a lot less work
  • VotingPlugin on every server you want rewards on (including proxy server)
  • Only caveat is it requires players to be online to send the votes to the servers (offline voting still works as normal)
  • If no players are online it will cache the votes to be processed later (Will store the time, so that won't be effected, shouldn't even notice anything happened)
  • Bungeecord also handles all totals/points addition rather than spigot servers, except for ingame commands (Option for this)
  • All servers point to the same MySQL table
  • Steps for Proxy/Spigot below

Prevent Exploits (A bit overkill):

  • There are now 2 options to make it harder to exploit, but it is a little overkill
  • These 2 settings must match on all servers
  • Please ensure plugin messaging is working before enabling
  • PluginMessageChannel:
    • Defaults to vp:vp
    • Channel used to send messages
  • PluginMessageEncryption:
    • Defaults to false
    • When enabled secretkey.key must match on all servers (Generates when enabled)
    • Encrypts all messaging data and prevents someone trying to force votes

Bungee/Proxy (VotingPlugin settings, bungeeconfig.yml):

  • Votifier setup on here only (no forwarding, nuvotifier forwarding method set to none)
  • BungeeMethod: PLUGINMESSAGING
  • SendVotesToAllServers: true (for a reward on each server) or false (reward on whatever server player connects to first)
  • Set MySQL settings, must match same table as the other servers (MySQL is required)

Spigot/Backend Servers:

  • No votifier installed (Votifier on bungee only) - votes will be ignored anyway (to prevent double votes)
  • BungeeSettings.yml:
    • BungeeMethod: PLUGINMESSAGING
    • UseBungeecord: true
    • BungeeBroadcastAlways: false (If true, always broadcast, even on cached votes)
  • VoteSites: VoteSites setup on each server (only servicesites need to match)
  • Config.yml:
    • Set AllowUnJoined to true (Bungee has option and control over this)
    • Set MySQL settings
  • Restart may be required for it to work after setting everything

Running on velocity:

Velocity requires a mysql driver to be installed, one available here (install as a plugin in plugin folder) will allow VotingPlugin to run on velocity with no compatibility layer. Works the exact same as bungeecord.

Troubleshooting:

  • Check status & working condition with /votingpluginbungee status (Requires players to be online to test)
  • Run bungee test vote with /votingpluginbungee vote (player) (site)
  • NuVotifier forwarding method set to none (And no votifier plugins on spigot servers)
  • If still not working restart all servers and verify everything is set correctly
  • Ensure VotingPlugin is on proxy server with nuvotifier on there as well
  • VotingPlugin on all spigot servers you want rewards on
  • If receiving double rewards at random check all servers names in bungeesettings.yml differ
Clone this wiki locally