VotingPlugin is a highly configurable Minecraft voting and rewards system designed for Spigot/Paper servers, with optional BungeeCord/Velocity proxy support.
It focuses on reliability, flexibility, and performance, handling high vote volumes with ease.
Default configuration files:
https://github.com/BenCodez/VotingPlugin/tree/master/VotingPlugin/src/main/resources
Path: /plugins/VotingPlugin/
| File / Folder | Description |
|---|---|
| Rewards/ | Contains reward files (see examples below). |
| TopVoter/ | Stores previous TopVoter info (must be enabled). Monthly TopVoter is enabled by default. |
| BungeeSettings.yml | Important Bungee-related settings. |
| Config.yml | Main plugin settings: user storage, formatting, vote reminding, permissions, etc. |
| GUI.yml | Configures GUI options (chest/book menus). Can disable GUIs if desired. |
| Shop.yml | VoteShop configuration (available in version 6.17+). |
| ServerData.yml | Internal plugin data for vote parties and top voter stats (do not edit). |
| SpecialRewards.yml | Defines rewards for AllSites, FirstVote, TopVoter, VoteParty, Milestones, Cumulative totals, etc. |
| Users.db | Player data when using SQLite. |
| VoteSites.yml | Defines all vote sites, including URL/service name, delay, and rewards. |
Path: /plugins/VotingPlugin/Rewards/
| File / Folder | Description |
|---|---|
| DirectlyDefined/ | Auto-generated rewards linked to SpecialRewards or VoteSites (do not edit). |
| ExampleAdvanced.yml | Example of advanced reward logic (conditions, random ranges, etc.) – View on GitHub |
| ExampleBasic.yml | Example of simple per-vote rewards – View on GitHub |
| File | Description |
|---|---|
| bungeeconfig.yml | Contains proxy-side configuration (Bungee/Velocity). |
| nonvotedplayerscache.json | Caches users who logged in within 5 days but haven’t voted (requires AllowUnJoined: false). |
| secretkey.key | Encryption key for SOCKET communication. Must match Spigot servers if using SOCKET mode. |
| votecache.json | Cache used for PLUGINMESSAGING mode. |
/plugins/ directory./plugins/VotingPlugin/VoteSites.yml with your vote sites and rewards.Config.yml to your preferences.For proxies, also configure
bungeeconfig.ymland set up the same MySQL database across servers.
| Command | Description |
|---|---|
/vote |
Shows vote sites and player totals. |
/v |
Alias for /vote. |
/adminvote |
Admin command root. |
/av |
Alias for /adminvote. |
VotingPlugin.Player – Main permission for normal player commands.Config.yml).See the Commands and Permissions page for all available nodes and usage.
VotingPlugin stores player and vote data in the backend defined in:
Config.yml (Spigot)bungeeconfig.yml (Proxy)Users.db).Flatfile support may be removed in future versions.
VotingPlugin rewards players automatically after a vote.
If the player is offline, rewards are given on next login (no claim GUI).
Reward types include:
NumberCommandExamples:
| Option | Description |
|---|---|
| OnlineMode | Controls whether votes are processed by online player name or all votes are accepted. (See OnlineMode page) |
| VoteReminding | Periodically reminds players to vote. |
| TopVoter Settings | Monthly/weekly tracking and resets. |
| BungeeSettings.yml | Used for proxy setups. |
| SpecialRewards.yml | AllSites, VoteParty, and milestone rewards. |
VotingPlugin supports all major proxy methods:
secretkey.key and open ports).Detailed instructions and examples:
https://wiki.bencodez.com/en/VotingPlugin/Proxy-Setups
/adminvote subcommands for testing (not /av debug).Common problems: incorrect service names, blocked ports, or outdated Votifier configurations.
For issues, report them on the GitHub repository or on Discord.
Keep both VotifierPlus and VotingPlugin updated for best reliability and feature compatibility.