How to Set Up Votifier (NuVotifier) on Your Minecraft Server

Vote rewards are the cheapest player-retention loop in Minecraft: a player votes for your server on a server list, the list pings your server, and your server hands them a reward. The tech behind that ping is Votifier — and in about 15 minutes you can have it installed, configured, and verified. Here’s the full setup, including the firewall and proxy details that trip most people up.

What is Votifier and how does it work?

Votifier is a protocol, not magic. When someone votes for your server on a list like spawnlist.gg, the list opens a TCP connection to a port on your server and sends a signed vote packet. A plugin listening on that port verifies the packet and fires an event that reward plugins react to.

The original Votifier plugin is long abandoned. Use NuVotifier, the maintained fork: it speaks both the legacy v1 protocol (RSA keys) and the modern v2 protocol (shared tokens), and it runs on Spigot, Paper, BungeeCord, and Velocity.

Step 1: Install NuVotifier

  1. Download the latest NuVotifier jar (Modrinth, Hangar, or SpigotMC — grab the build matching your server version).
  2. Drop it into your server’s plugins/ folder.
  3. Restart the server. A reload isn’t enough for the first install.

Check the console. You want two things:

  • Votifier enabled on socket /0.0.0.0:8192 (or your configured port)
  • A message that a default token was generated for you

If you see those, NuVotifier is listening. If the port bind fails, something else is using 8192 — more on that below.

Step 2: Configure NuVotifier’s config.yml

Open plugins/Votifier/config.yml. The parts that matter:

host: 0.0.0.0
port: 8192
debug: false
tokens:
  default: "a1b2c3d4..."  # auto-generated on first run
  • host: set it to 0.0.0.0 so it listens on all interfaces. Putting your public IP here is a common self-inflicted wound on shared hosts.
  • port: 8192 is the convention, but any free TCP port works. On panel hosts (Pterodactyl and friends), you usually can’t use 8192 — allocate an extra port in your panel and put that number here.
  • tokens: your v2 credential. When you add your server to a list, paste this token plus your IP and port into the voting setup — on spawnlist.gg that’s the Votifier section of your server’s edit page.
  • RSA keys (plugins/Votifier/rsa/): only needed for lists still on the v1 protocol. If a list asks for your “public key,” paste the contents of public.key. Never share private.key.

Restart (or run /nvreload) after any config change.

Step 3: Open the port in your firewall

The number one Votifier failure is a closed port. The vote packet comes from the internet, so the port must be reachable from outside:

  • Linux VPS with ufw: sudo ufw allow 8192/tcp
  • firewalld: sudo firewall-cmd --permanent --add-port=8192/tcp && sudo firewall-cmd --reload
  • Home hosting: forward the port on your router, same as you did for 25565.
  • Panel hosting: allocate the port in the panel; the host’s firewall usually follows the allocation automatically.

Verify from outside the server — an online TCP port checker, or nc -vz your.server.ip 8192 from another machine. “Connection succeeded” means you’re good. Testing from the server itself proves nothing.

Step 4: Set up vote rewards with a listener plugin

NuVotifier only receives votes. It fires a VotifierEvent and does nothing else — no items, no messages. You need a listener plugin:

  • VotingPlugin is the standard pick: per-site rewards, cumulative milestones, vote parties, offline vote queueing.
  • Configure the reward commands you want (crate keys, money, /give), and make sure each site’s service name in VotingPlugin matches what the list actually sends — if the names don’t match, votes land but rewards don’t fire.

Step 5: Send a test vote

Don’t wait for a real vote to find out it’s broken:

  1. Simulate locally: with VotingPlugin, run /adminvote vote YourName SiteName to confirm rewards fire.
  2. Test end-to-end: use the test-vote button on your server list’s dashboard if it has one, or just vote for yourself. With debug: true in config.yml, NuVotifier logs every received packet.

If the console shows the vote arriving and your reward plugin reacts, you’re done.

How to set up Votifier behind BungeeCord or Velocity

On a network, votes should hit the proxy, not the backends:

  1. Install NuVotifier on the proxy. That instance owns the open port and the token — give the proxy’s IP, port, and token to server lists.
  2. Set forwarding.method to pluginMessaging in the proxy’s NuVotifier config.
  3. Install NuVotifier on each backend server too, with the same forwarding method and channel. Backend ports stay closed to the internet — votes travel over the internal plugin messaging channel.
  4. Run your rewards plugin on the backends (or wherever your setup expects it).

Symptom of getting this wrong: votes register on the proxy but no rewards fire anywhere.

Common Votifier errors and fixes

  • Nothing in console when a vote is sent → port closed, wrong port, or wrong IP on the list. Re-verify with an external port check.
  • Token or signature errors → token mismatch. Re-copy the token from config.yml to the list, no extra spaces.
  • “Unable to decrypt” (v1) → the list has a stale RSA public key. Re-upload public.key, or switch that list to token auth.
  • Votes arrive, no rewards → missing listener plugin, or a service-name mismatch in VotingPlugin.
  • Port bind error on startup → another process owns the port. Pick a different one and update your listings.

FAQ

Does Votifier work on vanilla servers?

No. NuVotifier is a plugin, so you need a plugin-capable server: Paper, Spigot, Purpur, or a proxy like Velocity. Paper is the usual recommendation.

Do I have to use port 8192?

No — any reachable TCP port works. 8192 is just the default. Whatever you pick, it must match on both ends: your config.yml and the server list’s settings.

Tokens or RSA keys — which should I use?

Tokens (protocol v2) whenever the list supports them. They’re simpler, and one token can serve every list. RSA is the legacy v1 fallback; keep it only if a list you use requires it.

Do more votes actually help my server grow?

On most lists, yes — vote counts feed ranking. On spawnlist.gg, votes influence where you show up in browse and search, so a working vote-reward loop pays for itself in visibility. Featured slots exist too, but organic votes are the free lane.

Run a server? List it on Spawnlist and let players find you — free forever.

+ Add your server