Skip to content
 
 

Repository files navigation

NuVotifier

NuVotifier is a secure alternative to using the original Votifier project. NuVotifier will work in place of Votifier - any vote listener that supports Votifier will also support NuVotifier.

NuVotifier supports many different platforms using the same universal JAR:

  • Bukkit / Spigot / Paper >=1.7.10
  • Sponge 7
  • BungeeCord / Waterfall
  • Velocity

NuVotifier also adds forwarding and listener test commands not present in the original version.

Folia and Redis cross-server votes

The Bukkit build supports Folia and can propagate votes between every NuVotifier instance connected to the same Redis channel. A vote received directly or through plugin messaging is fired locally and published once. Other instances fire the same VotifierEvent without republishing it.

Enable and configure the redis section in each backend server's plugins/Votifier/config.yml:

redis:
  enabled: true
  host: redis.internal
  port: 6379
  username: ""
  password: "replace-me"
  database: 0
  ssl: false
  channel: nuvotifier:votes
  connection-timeout-millis: 2000
  socket-timeout-millis: 2000

Every server in one voting network must use the same Redis instance and channel. Redis messaging is disabled by default so existing installations do not attempt an unconfigured connection.

The Bukkit build also supports local votes for prefixed usernames:

offline-prefix:
  enabled: true
  prefix: "*"

Missing settings are added to existing configs on startup or /nvreload, preserving configured settings. This feature defaults to enabled with *. Each server fires separate VotifierEvents for PyroEdged and *PyroEdged when the submitted username is PyroEdged. Submitting *PyroEdged fires only the prefixed event. Setting enabled: false fires only the submitted username. The prefix must be non-empty and contain no whitespace.

Only the originally submitted vote is published to Redis. The extra prefixed vote is generated locally on every receiving server, including the server that first accepts the vote. VotifierReceiver uses the same original-only Redis message contract and needs no prefix setting. Both local events keep the original service, address, timestamp, and additional data.

Setup Guide

Troubleshooting Guide

Developer Information

License

NuVotifier is GNU GPLv3 licensed. This project's license can be viewed here.

About

A fork of Votifier, with more robust code and vote forwarding

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages