Skip to content

proxy method REDIS

github-actions[bot] edited this page Aug 16, 2026 · 7 revisions

Method REDIS

Redis carries VotingPlugin messages between the proxy and backend servers. It does not replace VotingPlugin's shared SQL storage requirement.

Standard topology

  • 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 Redis service and communication prefix.

Disable VotifierPlus/NuVotifier forwarding targets in this standard layout; VotingPlugin performs the backend forwarding.

Required settings

Proxy: bungeeconfig.yml

BungeeMethod: REDIS

Redis:
  Host: redis.internal.example
  Port: 6379
  Username: 'votingplugin'
  Password: 'replace-with-a-secret'
  Prefix: ''
  #Db-Index: 0

Configure the proxy Database section as well.

Each backend: BungeeSettings.yml

UseBungeecord: true
BungeeMethod: REDIS
Server: lobby

Redis:
  Host: redis.internal.example
  Port: 6379
  Username: 'votingplugin'
  Password: 'replace-with-a-secret'
  Prefix: ''
  #Db-Index: 0

Give every backend a different Server value.

Each backend: Config.yml

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

Secure Redis

  • Keep Redis on a private network or behind firewall rules that allow only participating hosts.
  • Require a dedicated Redis ACL user and non-empty password with only the commands/channels VotingPlugin needs.
  • Do not expose port 6379 to the public Internet or publish credentials in screenshots and logs.
  • Host: localhost works only when Redis is on the same machine or network namespace as that VotingPlugin instance.
  • Use a trusted private tunnel or Redis TLS configuration when traffic crosses untrusted networks.

Testing

  1. Restart the proxy and every backend after changing the method.
  2. Run /votingpluginproxy status.
  3. Run /votingpluginproxy vote <player> <site>.
  4. Confirm exactly the intended backend or backends process the vote.
  5. Then send a real/listener-generated vote to test Votifier and public network reachability.

For duplicates, verify unique backend Server names, a consistent Redis prefix, SendVotesToAllServers, backend ProcessRewards, and disabled Votifier forwarding.

Clone this wiki locally