MinecraftServers.blog

Minecraft Vote Rewards: VotingPlugin and VotePlus Setup

Migo
MigoOctober 28, 2026
Map of the config files where VotingPlugin and TDX VotePlus keep their vote rewards.

Votifier delivers the vote and a reward plugin pays it out. Set up rewards with VotingPlugin, or look at TDX VotePlus if you run a large server.

Before you install

  • Votifier needs to be working first. If test votes aren't reaching your console yet, start with how to set up Votifier. VotingPlugin works with NuVotifier or VotifierPlus as the listener.
  • VotingPlugin 7.1.1, released on July 23, 2026, is built for Java 21, so your server needs to run on Java 21 or newer.
  • You need console access to your server, because you'll be reading it a lot while testing.

Install VotingPlugin

  1. Download the latest build from the VotingPlugin releases page.
  2. Put the jar in your plugins folder and restart the server.
  3. Look inside plugins/VotingPlugin. You should find Config.yml, VoteSites.yml, SpecialRewards.yml and a Rewards folder.

Find your service site

Every vote carries a name that says which list it came from. VotingPlugin calls this the service site and uses it to pick the right entry in VoteSites.yml. The two have to match, so don't guess it from the list's web address.

The reliable way is to cast a real vote for your server on minecraftservers.blog, then read the console or run /av servicesites. VotingPlugin's wiki lists minecraftservers.blog with the service name minecraftservers.blog. Use whatever your console actually shows.

If AutoCreateVoteSites is true in Config.yml, VotingPlugin builds an entry for you from the first vote it receives. You'll still need to fix the placeholder URL and add rewards.

Add the vote site

Open VoteSites.yml. Each site is an entry under the VoteSites key, named whatever you like, and indented settings go beneath that name. These are the ones you need:

  • Enabled: true turns the site on.
  • ServiceSite: minecraftservers.blog is the value from your console.
  • VoteURL: https://minecraftservers.blog/server/your-server-slug/vote is the link players see when they run the vote command. Swap in your own server's slug.
  • VoteDelay: 24 is the gap between votes, in hours. We allow one vote per player per server every 24 hours, so 24 matches.
  • Rewards is a section holding what the player receives.

Give the reward

Inside Rewards, two sections cover most needs. Messages sends text to the player. Commands runs console commands, with %player% standing in for the voter. VotingPlugin's own example gives one diamond:

  • Under Messages, set Player to '&aThanks for voting on %ServiceSite%!'.
  • Under Commands, add the line 'give %player% diamond 1'.

Any command you could type in the console will work, so money, crate keys and permissions all go through whichever plugin owns them. If you want to reuse a reward across sites, you can save it as a file in plugins/VotingPlugin/Rewards and refer to it by its file name without the .yml.

Bigger rewards

Rewards that aren't tied to one site live in SpecialRewards.yml.

  • VoteMilestones covers a player's first vote, every 25th vote, or voting on every site in one day.
  • VoteStreaks rewards vote streaks.
  • VoteParty pays out when the whole server reaches a shared vote target.
  • The top voter sections, DailyAwards, WeeklyAwards and MonthlyAwards, reward whoever finishes on top.

If you find older guides that use FirstVote, AllSites or Cumulative, those sections are legacy. Use VoteMilestones and VoteStreaks for anything new. The wiki also warns that leaving old and new versions of the same reward in place can pay it twice.

There's also an EverySiteReward setting in VoteSites.yml for a reward that runs on any vote, whichever site it came from.

Test it in two ways

The two tests check different things, so run both.

/av vote <player> <site> pushes a fake vote through VotingPlugin. It proves your rewards work, but it never touches the Votifier port or key. A real vote from your server page does, and so does the Test Votifier Connection button in your dashboard. After a real vote you want to see VotingPlugin log that it received a vote from your service site by that player, followed by the reward.

If a reward doesn't fire, the service site is the first thing to check. See Votifier not working? How to fix it.

Switch off auto-create

When your sites are working, set AutoCreateVoteSites to false in Config.yml and reload VotingPlugin. Otherwise any service name you didn't expect creates a new site entry. Existing sites carry on as before.

Proxy networks

On a proxy network, VotingPlugin goes on the proxy and on every backend server, and all of them share one BungeeMethod. The options are PLUGINMESSAGING, REDIS, MQTT, MYSQL and SOCKETS. The Votifier listener runs on the proxy. Each method has its own page in the VotingPlugin wiki, and it's worth reading the one you choose before you start.

Crossplay and other gotchas

If Bedrock players join through Floodgate, set BedrockPlayerPrefix to match the prefix Floodgate or Geyser actually uses, and keep OnlineMode consistent between the proxy and its backends. VotingPlugin's wiki lists both under its player and UUID checks.

Running a big server? Look at TDX VotePlus

VotingPlugin covers most servers well. If you run a large one, TDX VotePlus is worth a look. We've used it on big servers handling 1,000 or more players.

It sits on top of the same Votifier setup. VotePlus doesn't receive votes itself. It reacts to what NuVotifier, VotifierPlus or classic Votifier passes along, so everything in the Votifier guide still applies. What it adds is a /vote menu with leaderboards for total, monthly, weekly and daily votes, daily streaks, milestones, a server-wide vote party, and automatic payouts to each month's top voters. A vote that arrives while a player is offline is saved and paid when they next join.

A few details matter once a server gets busy.

  • Storage is SQLite by default, with MySQL or MariaDB for networks. The docs suggest raising the connection pool from 10 to 20 at 200 or more players.
  • You can point Survival, Skyblock and Prison at one MySQL database and give each its own server-id. Player counters, streaks and milestones stay separate, while the vote party counter is shared across the network.
  • There's a PlaceholderAPI expansion, a Discord webhook for vote and milestone events, and a public API for other plugins.

It isn't free. The docs say you download it from your purchase account on BuiltByBit, SpigotMC or Polymart. Version 1.3.5 needs Paper or Folia 26.1 or newer and Java 21 or newer. For 1.20.x through 1.21.x servers, the docs point to version 1.2.16.

Setup is short:

  1. Get NuVotifier receiving votes first. Running /testvote YourName should put a line in latest.log saying it got a vote record.
  2. Put the VotePlus jar in plugins, start the server once so it writes its files into plugins/TDXVotePlus, then stop it.
  3. Open vote-sites.yml. Each entry has a name and a url. For us, the url is https://minecraftservers.blog/server/your-server-slug/vote. This file only builds the link list players see in /vote sites. A vote from a site that isn't listed is still counted and rewarded, so there's no service name to match the way there is in VotingPlugin.
  4. Open vote-rewards.yml. Each reward has a type and a value. A command with the value give %player% diamond 1 gives a diamond, and a message type sends chat text. The docs list more types, including money, experience, items, random pools and fireworks.
  5. Restart, then run /voteplus give YourName. It sends a test vote through the whole plugin without any vote site, so if the reward arrives, VotePlus works. Then run /testvote YourName to check the Votifier path as well. Later changes to rewards load with /voteplus reload.

On a network, the docs recommend sending every vote site to one backend's Votifier port. If you forward each vote to every backend instead, each backend counts its own copy. Players get rewarded once per server, and the vote party fills as many times faster as you have backends. Whatever server-id you choose for a backend, don't rename it later, because it becomes part of the database table names.

Both plugins handle streaks, milestones, vote parties and top-voter rewards. The practical difference is price and how you configure them, so start with VotingPlugin on a small server and look at VotePlus once you're running a large one.

Whichever you pick, keep the first version small: one site, one message, one diamond. Once a real vote pays out, the fancier reward types are just more config in the same files.

Explore More

← More Blog PostsBrowse Servers →

MinecraftServers.blog

Discover and join the best Minecraft servers. Browse thousands of active servers with real-time status and player counts.

Browse by Type

Survival ServersSkyblock ServersFactions ServersPrison ServersSMP ServersPvP ServersView all →

Browse by Version

Minecraft 26.1Minecraft 1.21Minecraft 1.20Minecraft 1.19Minecraft 1.18View all →

Quick Links

Search ServersBlog PostsAbout UsContactServer Tools

© 2026 MinecraftServers.blog · Not affiliated with Mojang or Microsoft

TermsPrivacy