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!
@ebiggz
I'm trying to give players a random reward from a reward table for every vote, and if they vote on a set amount of sites they will receive a threshold reward for that day(maybe a configurable amount of hours/ticks for what is considered a day). My threshold is not equal to max possible votes per day, so if it was a milestone it would sometimes trigger twice a day depending on how the player is voting.
@Filmjolk
I apologize for my misunderstanding. Indeed, the threshold setting is similar to a Milestone in the sense that it requires a certain amount of votes. But the idea behind thresholds was to give server administrators the ability to require players to vote on all the websites their server is posted on before the the reward process is even triggered, instead of giving a reward for each vote/website. Unlike a Milestone, the threshold setting isn't giving a set/defined reward upon completion, rather it is just stopping the reward process all together until the threshold is met, and then restarts. So to answer the original question, there isn't away to have a threshold and still give rewards for each vote, because again, the purpose of the former is to prevent the latter. Is there something particular you are trying to accomplish that we could perhaps find a way for?
I was referring to the giveRewardsOnThreshold in the config. I thought this was a way of giving out a threshold only once a day? Or is it a lazy way of doing a single recurring milestone?
@Filmjolk
Are you referring to Milestones? If so, you can set "onlyGiveMilestoneUponCompletion" to false.
@jet315
I created a ticket based off your initial comment. We can troubleshoot further there.
any way of giving out a threshold reward along with regular rewards for each vote?
@ebiggz
Nope, I have enabled: false under database settings :S
@jet315
Hmm. Are you using a database now or is the setting enabled?
Hey Ebiggz
Just a quick question, I have updated voteroulette and now for some reason no files are being created in the voteroulette/data/playerdata folder.
Do I need to change a setting to get this to create a file upon player log in? It always used to do it.
The reason I ask is because I actually count those files each month to see how many unique connections there have been :D
@jet315
Sure you could do that, if you are trying to replicate functionality of another listener. But "server-broadcast-message" in the message.yml gets broadcasted every time someone receives a reward, and that message displays the name of the reward won so other players will already know that the voter got the rare reward.
Here's a quick example of how you could do a rare reward with a default/fallback reward. Make sure "giveRandomReward" in the config is set to true.
@ebiggz
Excellent - this plugin is perfect :D
So for a chance of a reward I can use chance. To then announce that the player got this lucky chance vote over the default, I will need to have a command that runs within that reward to carry out a server broadcast saying "this player was lucky" or something? For example:
commands: - /say %player% was lucky and won a lucky vote!
@jet315
If you are referring to an extra award (based on chance) in addition to the original award, you can do this with the reroll setting.
If you are referring to defining specific chance to any one award, you can do this with the chance setting.
Hi Ebiggz,
Another question. Does this have/have you thought about having "lucky" votes? Whereby a player has a set percent chance to win a different vote award? Kinda like milestones but on a luck based percentage rather than set amount of votes.
@Blackyvk
Sure, you can do so with the messages.yml file and the localizations.yml file within the data folder. The message you mentioned is in the localizations file.
Is there a way to change the "you have X unclaimed rewards" and other messages ?
@ebiggz
Alright thank you
@jet315
Absolutely!
@Vidsify
VoteSend works fine. It's a very small and simple plugin that doesn't use native minecraft code and doesn't need updating.
@Bulymays
Thanks! Sounds cool.
Wow, nice plugin, switching to this on our servers. Looking to partner up with at least one listener so if interested PM me. Just launched and support all Votifier applications.
www.mymcserverlist.com
How would I set this up on bungee as VoteSend is way out of date?
Hey eBiggz, Is it possible to have multiple end of reward variables such as this:
(600/logoff/shutdown) /run command
Currently I have (600/shutdown) but unsure if I can use logoff as well as 600/shutdown.
@ebiggz
Psh.... I knew that. No not really lmao, you're great man thanks. Had no clue those commands were there. Woops I'll do my homework next time.