VoteRoulette
Randomized rewards for voting
Home | Permissions | Commands | Config Guide | Files | Change Log | Dev
VoteRoulette is a comprehensive, customizable, and fun Votifier vote listener. VoteRoulette allows you to make a list of rewards and players will receive one at random when they vote for your server on Minecraft server lists. This makes voting exciting and different each time a player votes and will encourage them to vote again to see what they will get next time!
Features
- Extremely flexible! VoteRoulette doesn't just give anything, it does anything.
- Easy to setup! Includes an in-game Award Creator. Avoid those pesky YAML syntax errors!
- Highly customizable rewards!
- Rewards can contain any combination of items, currency, commands, and xp levels.
- Items in rewards support enchants, custom names, lore descriptions, variable amounts, and Data ID's (For things like colored wool, or any other block/item in the game).
- Rewards have tons of other options too! Set things such as permission groups (Vault required), chance modifiers, delays for commands, eligible websites, eligible players, number of consecutive days of voting required, and so much more! (See the Config Guide.
- Ability to set a vote threshold. Players won't receive a reward till they have met the threshold. This is useful when you have your server posted on multiple server lists and you want players to vote on them all before they get rewarded.
- Special rewards called "Milestones" that are awarded to players when they have reached a set amount of votes. This gives players a goal and even more incentive to vote.
- Ability to make Milestones recurring. Make a Milestone set to every 50 votes or a single epic Milestone at 300 votes!
- Offline voting support! If a player votes for the server but isn't in game to receive rewards, the rewards will be there waiting for them to claim the next time they log on.
- Option to have awards auto-claimed when a player logs in!
- Inventory Protection. If a reward won't fit in a players inventory, VoteRoulette will notify the player and let them reclaim once they have cleared space.
- You can disable Inventory Protection, too. Items will instead fall at the feet of the player if their inventory is full.
- Visual Representations of Rewards/Milestones!
- Players can easily see the contents of Rewards/Milestones in a mock inventory screen.
- Editable Broadcast Messages! (Supports color codes)
- Set a custom message for a specific Reward/Milestone that will override the default message.
- A /vote command. Lists all your voting sites to the player.
- Ability to make Fancy Links™ which allow you to hide those long ugly links behind clickable text.
- Reminders!
- A periodic reminder for all players to vote!
- An automatic reminder after 24 hours have passed since a player's last vote!
- Extensive Multi-World support!
- Set specific worlds per Reward/Milestone.
- Globally blacklist worlds!
- Stats Tracking!
- See the top all time voters using the Scoreboard.
- MySQL support!
- UUID support!
- VoteRoulette uses Mojang's account system API (https://api.mojang.com/profiles/minecraft) in order to ask for the UUID of a given player name. You can turn off this functionality in the config by setting useUUIDs to false. (as of v2.2.2).
- A player blacklist. Prevent certain players from getting rewards.
- Option to switch blacklist to a whilelist. Only players in list can receive rewards!
- Option to switch blacklist to a whilelist. Only players in list can receive rewards!
- Option to turn randomization off! Just want to have a single reward and skip the randomization processes? No problem! VoteRoulette can be as simple or complex as you want it to be.
- Localization Options! Files are available to edit a lot of text in VoteRoulette!
- Check out and share translations in the forum!
- Automatic update checking! Always be notified of the latest version! You can disable this in the config by setting checkForUpdates to false.
- Update Safe! VoteRoulette doesn't use any native Minecraft code and therefore won't break with future versions of Bukkit. (Given there isn't major API changes)
- Metrics tracking! Help us see how VoteRoulette is used. (as of 2.0.1)
- Using Hidendra's plugin metrics system, the following information is collected and sent to mcstats.org: A unique identifier, the server's version of Java, whether the server is in offline or online mode, VoteRoulette's version, server's version, OS version/name and architecture, core count for the CPU, number of players online, Metrics version
- If you do no want these stats collected, you can turn them off at /plugins/PluginMetrics/config.yml by setting opt-out to true.
Requirements
You must have Votifier installed.
If you want to have rewards that give currency or rewards that only apply to certain permission groups, you must also have Vault installed.
Getting Started
- Make sure Votifier is at least on your server. If you plan to use the currency and permission group options, make sure Vault is installed as well. Are you using BungeeCord? Check out this post!
- Place VoteRoulette in your server's plugins folder. Do NOT place it in Votifier's "listeners" folder.
- Start your server to let VoteRoulette generate the default files. A copy of the config can also be found here.
- Edit settings and add awards. Visit the Config Guide for help or the Award Setups forum for ideas.
- Type "/vr reload" in your console to put the changes into effect!
Still stuck? Ask for help on the VoteRoulette forum!
Planned Additions
- Timed Milestones; Weekly, monthly, daily
- Set a votestreak with a range of days
- Custom fireworks support for item prizes
- Out-of-game Award Creator GUI?
Visit VoteRoulette's Trello page to see what I am currently working on!
I welcome your feedback! Drop me a comment telling me what you think. If you have any suggestions or ideas, please feel free to submit a ticket with a feature request.
If you have found a bug, issue, or error, please submit a ticket rather than leaving a comment! Players who post errors or file contents straight into a comment will be ignored and comments may be deleted.
Like this plugin? Contribute to the pizza and drinks fund. I deeply appreciate your support!
@ronaldy21
You can change this to whatever you like in the messages.yml :)
I'm seeing some pretty bad timings. This is from a 10 minute sample. I wonder if there is anything I can do on my side.
Every time people vote, it says "Unknown Server" How do i change that?
Example: ronaldy21 just voted for Unknown Server on PlanetMinecraft.com and got rewarded
Server: mc.swimmingbirdserver.com
@TheChiz
To be honest, I'm not entirely sure. I haven't really tested this personally myself but I know of a couple others with a similar set up as that and the only issue they claimed to have was spam from people voting on the different servers in the hub propagating to all the servers. I have no idea what else may have been going on and if that issue extended to the rewards too. But I'd love to hear how it goes for you though, and I'll do my best to make VR work better in this scenario if it's not working as wanted. :)
@ebiggz
Awesome man! Cannot wait to play with it! I also had another question, currently we use Votifier and VoteSend for our main hub (which communicates to GAListener to reward people on each respected server because it's got factions, skyblock, etc so they all have different rewards). Currently if you vote somewhere though, it automatically sends out your rewards to ALL the servers, and you only actually get the rewards from the server you're in at the time of voting.
So it says "So and so won this from voting" on all the servers but they dont get the actual items cause they werent in the server during the time of voting. Do you know if your plugin will be different or why it would do that? I had to tweak some of the code on GAListener to fix it and then I believe it broke again during an update.
Appreciate it!
@ZwPBerserk
@TheChiz
Sorry for the late reply. ETA should be a few hours! I've uploaded a build to Bukkit containing the new feature. Just waiting on it to be approved :)
Thanks for the support and patience!
Hey there! Love your plugin, plan to be using it on my server soon with the milestones and what not, but do you have an ETA as to when the "Ability to set the chance of a reward/milestone" will be coming a long?
Currently I use GAListener which has a chance addition to it, so what I do is setup a bunch of regular votes (so like you are always gonna get 2500 as the minimum" but then you may have a probable chance of pulling a great piece of armor, I'd like the couple that with your announcements and milestone abilities.
Do you have an ETA? Thank you for all your hard work
@ebiggz
OK cool now i think of it. A reset isnt needed haha.
BTW when do you think the reward chances are implemented? That would complete this plugin.
@timsandtoms
No worries man! Easy to miss. Thanks for the input nonetheless.
Ah, my bad, sorry about that! I missed that bit in the patch notes!
@timsandtoms
This is already possible!
Set the config option:
onlyConsiderPlayersPrimaryGroup: true
While this only mentions GroupManager, it applies to any permission plugin that uses inheritance.
Suggestion: For better compatibility with PermissionsEx when people are using inheritance, add an option for groups that are NOT eligible for rewards/milestones. On my server, people are able to purchase higher ranks, and the inheritance goes 15VIP inherits from 10VIP, 10VIP inherits from 5VIP, and 5VIP inherits from User. This is one of the milestones I want to use, but because of how inheritance works, everyone who inherits from User is considered a User, so it would set a 15VIP down to a 5VIP.
250 Vote 5VIP Rank Promotion:
priority: 1
votes: 250
recurring: false
permGroups: User
commands:
- pex user %player% group set 5VIP
- broadcast &2%player%&a has been promoted from &2User&a to &25VIP&a for voting &2250&a times!
@ZwPBerserk
The vote totals don't reset, I'm not sure I'm 100% following reasoning behind a need for that. You can set a milestone at whatever vote total you like and can have them be recurring so they happen every 25 votes or whatever you set them at.
Currently there's not a way to broadcast to all players what another player received in a reward because the broadcast message happens before VoteRoulette determines which reward to give to the voting player. It does this because if the server administrator is using a vote threshold, the player might not necessarily be getting a reward when they vote.
Hi, i got a question. Not sure if it is explained somewhere.
Question 1: But do the vote counts reset each month or something? Because of the milestones. I would only have them happen 1 time a month after 25 votes.
Question 2: Is it possible to broadcast to all other players what the player has been rewarded?
@matagin
You sure can!
@ebiggz
Ok I set the recurring to false. Thanks. Can I use commands: in the milestones?
@matagin
If you're wondering if those 3 milestones conflict, they only will if you set the 5 one to recurring: true, and yes that's where the priority node comes in.
If you're wondering if the player will receive a reward on top of a milestone, there's a setting in the config you can toggle to change that.
@ebiggz
If I give milestone rewards at 5, 10, and 15 votes so that mean when they hit 10 votes they will receive the 5 reward milestone in addition to the 10 reward vote? Does that have anything to do with priority?
Also, can you use commands: in milestones?
@ebiggz
I re-typed the spaces just in case and had a player verify and it worked. Thanks!
@matagin
I'm not able to reproduce this. Are you doing "/vr reload" after a config change?
Make sure the "amount" node is 4 spaces indented from the itemID, like this: