- Vote parties live in VotingPlugin's
SpecialRewards.ymlunderVoteParty: setEnabled: true, aVotesRequiredyou will hit every day or two, and the commands to run. - Per-player extras are in the same file:
Cumulative(every N votes),MileStones(once, at N votes) andVoteStreak(days, weeks, months in a row). - A vote crate is just a reward command that gives a key, for example
crates key give %player% vote 1in ExcellentCrates. - Show the countdown with
%votingplugin_votepartyvotesneeded%on the scoreboard or tab list; keep the prizes small so voting stays a habit, not an economy.
A vote party is a shared goal: when the server collects a set number of votes, everyone online gets something at once. It works because it turns a private chore into a group project, and it is built into VotingPlugin, the rewards plugin most servers already run. The plugin version at the time of writing is 7.1.1, released July 23, 2026. This guide is the configuration: the exact keys, the per-player extras (cumulative, milestone and streak rewards), how to hand out crate keys as vote rewards, and how to design all of it so a month of voting does not flood your economy.
It assumes votes already arrive in game. If they do not, do the NuVotifier setup first, and read how to get more votes for the reminder and link tactics; neither is repeated here.
VoteParty in SpecialRewards.yml, key by key
VotingPlugin keeps its core settings in Config.yml and the special reward systems in SpecialRewards.yml, both in plugins/VotingPlugin/. These are the VoteParty keys and their defaults, from the VotingPlugin repository:
| Key | Default | What it does |
|---|---|---|
Enabled | false | Turns vote parties on |
VotesRequired | 20 | Votes needed before the party fires |
IncreaseVotesRequired | commented out | Adds this many to the goal every time a party fires |
ResetEachDay, ResetWeekly, ResetMonthly | false | Resets the count on that schedule instead of only when a party fires |
CountOfflineVotes | true | Votes from players who are not online still count toward the goal |
OnlyOncePerDay | false | Caps parties at one a day |
GiveAllPlayers | false | When false, only players who voted get the rewards |
UserVotesRequired | 0 | How many of the votes a player must have cast to qualify |
Broadcast | '&cReached the vote party amount!' | The message everyone sees |
Rewards then Commands | empty | Console commands run once per qualifying player, with %player% filled in |
A working block for a server that wants a party roughly daily and a goal that grows with it:
VoteParty:
Enabled: true
VotesRequired: 30
IncreaseVotesRequired: 5
ResetEachDay: true
CountOfflineVotes: true
OnlyOncePerDay: false
GiveAllPlayers: true
UserVotesRequired: 1
Broadcast: '&aVote party! Thanks to everyone who voted.'
Rewards:
Commands:
- 'crates key give %player% vote 1'
- 'eco give %player% 250'
Two settings deserve thought. GiveAllPlayers: true with UserVotesRequired: 1 is a good pair: everyone online shares the moment, but a player has to have voted at least once to be paid, which stops people idling at spawn for free loot. ResetEachDay: true keeps a slow week from carrying a half-finished goal forever. Set VotesRequired from your real numbers: look at your monthly votes on your listing page, divide by 30, and set the goal a little under that so the party fires most days. A goal you miss for a week kills the idea.
Cumulative, milestone and streak rewards
Parties reward the group. These three reward the individual, and they sit in the same file.
Cumulative. Numbered entries, each withEnabled, aTotalToUse(AllTimeby default) andRewards. An entry keyed'20'pays every time a player's total passes another 20 votes. Good for a small, repeating thank-you.MileStones. Same shape, keyed by vote count, but paid once when the player reaches that total.ResetMilestonesMonthlyabove the section makes them monthly instead of lifetime. This is where a title, a cosmetic or a bigger crate belongs.VoteStreak. Split intoDay,WeekandMonth, each with numbered entries ('2'means two in a row) and their ownRewards. ARequirementblock sets how much of a period counts as "voted that period", withUsePercentageand a per-period number, so a player on a list that resets weekly is not punished for a single missed day.
The retention logic is the same as a daily login reward, covered in the daily rewards guide: streaks make people protect a habit. Keep streak rewards modest and visible (a scoreboard line saying "streak: 6 days" does more than a large payout nobody sees), and let a streak survive one missed day or players give up the first time life happens.
Vote crates: one key per vote
A vote crate is nothing special to VotingPlugin: it is a reward command that gives a key, and a crates plugin that opens a crate with that key. Set the per-vote reward in VoteSites.yml (or a shared reward) to the give-key command of your crates plugin, then design the crate in the crates plugin. The two free, maintained options:
- ExcellentCrates (free, GPL; Spigot or Paper 1.21.8 and up with Java 21; needs its
nightcorelibrary plugin). The give command is/crates key give <player> <key> [amount] [-sf], where-skeeps the target from being notified and-sfalso silences the console feedback./crates key giveall <key> [amount]hands one to everyone online, which is handy as a party reward. Keys can be physical (an item) or virtual (kept on the player, cannot be traded). - CrazyCrates (free, MIT). Its docs say the current build needs Paper 26.x and Java 25; Modrinth keeps older builds back to 1.8.8 for Paper, Folia, Purpur and Spigot. It has 11 crate types, weight-based prize picking, physical and virtual keys, and it can give keys to players who are offline, which matters because votes often arrive while the voter is away.
A third, Phoenix Crates, has a free version on Spigot and Modrinth (Spigot, Paper and Folia; builds from 1.20 to 26.1, updated August 2026) built around custom animations and models. Any of the three works for a vote crate; the crates plugin guide compares them properly and covers the loot-box rules that apply the moment you also sell keys.
Reward design that does not wreck the economy
Votes are cheap for the player and limited by the list: one vote per username per day here (the day resets at midnight UTC), and the same on most lists. Multiply your reward by every active player, every day, for a month, and that is the money you are printing. Design for that number, not for the single vote.
- Make the per-vote reward small and consumable. A little currency, a vote key, a few of a common resource. Never a rare item every day.
- Put the value in the crate's long tail, and publish the odds. A vote crate should mostly drop common consumables with a small chance of a cosmetic or a title. Both crates plugins use weights, so the odds are yours to set and show in the preview.
- Use parties for the moment, not the loot. Fireworks, a broadcast, a short buff, a small key. The reward is that everyone got it together.
- Reserve the good stuff for milestones. A 100-vote title or a 500-vote pet costs you nothing per day and gives long-term players something to show.
- Add a sink. Whatever currency votes add has to leave somewhere: cosmetic shops, repair costs, claim upkeep. The economy guide covers sinks.
- Review monthly. Ranks reset on the 1st (UTC) here, and your listing shows monthly and all-time totals, so the month is the natural review period.
Rewards that give a real edge are still allowed, because voting is free to everyone. The thing to avoid is a reward so good that not voting feels like a penalty; players who feel farmed leave. Votes are 15 of the 100 points in Server Score, and servers with rewards are listed on the vote reward servers page, so the votes themselves are the prize for you.
Show the countdown where players will see it
A vote party nobody can see the progress of is a random event. VotingPlugin exposes the numbers through PlaceholderAPI, so put them on surfaces players already look at:
%votingplugin_votepartyvotescurrent%,%votingplugin_votepartyvotesneeded%and%votingplugin_votepartyvotesrequired%give the current count, the votes still needed, and the goal. On a proxy network the same three exist with abungeeprefix.- Scoreboard and tab list. TAB (free, Apache-2.0, on Bukkit, BungeeCord, Velocity, Fabric and Sponge) reads PlaceholderAPI, so a sideboard line like "Party: 22/30" or a tab header works out of the box.
%votingplugin_dailyvotestreak%next to it shows the player's own streak. - MOTD. The MOTD is read before a player joins, and our list shows it on your page. If your MOTD plugin reads PlaceholderAPI, "Vote party in 8 votes" is a real reason to join right now; if it does not, keep the MOTD static and use the scoreboard. The MOTD guide has the rest.
- Discord. A bot can print
votesThisMonthfrom our API, and%votingplugin_next_anysite%in a/votereply tells a player when they can vote again.
Connect NuVotifier in your listing if you have not, so votes from here land in the same counter, and then ask for the vote once a day, in the place players are already looking.
Quick questions
Do offline votes count toward the vote party?
Yes by default (CountOfflineVotes: true). Set it to false if you want the count to reflect only players who were on at the time, but expect slower parties.
Can players who did not vote get the party reward?
Only if GiveAllPlayers: true. Pair it with UserVotesRequired: 1 so everyone online shares the moment but only voters are paid.
Does a vote crate need a special vote plugin?
No. Any crates plugin with a console give-key command works. The crate is just what the reward command hands out.
Do votes from your list work with these rewards?
Yes. Votes here are delivered through NuVotifier or Votifier with the service name 9minecraftserver.com, and VotingPlugin treats them like any other site once the ServiceSite matches.
