-
-
Notifications
You must be signed in to change notification settings - Fork 82
VotingPlugin
VotingPlugin is a highly configurable Minecraft voting and rewards system for Spigot/Paper, with optional BungeeCord/Velocity proxy support.
- Reliable handling for online and offline votes
- Flexible site, milestone, top-voter, streak, and vote-party rewards
- Standalone-server and proxy-network support
- PlaceholderAPI integration
- In-game administration and configuration tools
- SQLite and MySQL storage
- Spigot/Paper: 1.19+
- Proxies: BungeeCord, Waterfall, and Velocity
- Vote listeners: VotifierPlus, NuVotifier, and compatible alternatives
The default resources are available in the VotingPlugin repository.
Path: /plugins/VotingPlugin/
| File / folder | Description |
|---|---|
Rewards/ |
Reward files and generated directly defined rewards |
TopVoter/ |
Previous top-voter data when enabled |
BungeeSettings.yml |
Backend proxy-network settings |
Config.yml |
Main plugin configuration |
GUI.yml |
GUI configuration |
Shop.yml |
VoteShop configuration |
ServerData.yml |
Internal vote-party and top-voter data; do not edit |
SpecialRewards.yml |
AllSites, VoteParty, milestone, cumulative, and other special rewards |
Users.db |
SQLite player data |
VoteSites.yml |
Vote-site definitions, delays, URLs, and rewards |
| File | Description |
|---|---|
bungeeconfig.yml |
Proxy-side VotingPlugin configuration |
nonvotedplayerscache.json |
Cache used with AllowUnJoined: false
|
secretkey.key |
Encryption key used by SOCKETS and optional plugin-message encryption |
votecache.json |
Vote cache used by PLUGINMESSAGING |
- Install VotifierPlus or another compatible vote listener.
- Place VotingPlugin in the server's
/plugins/directory. - Configure
/plugins/VotingPlugin/VoteSites.yml. - Configure rewards and other preferences.
- Restart and send a test vote.
Proxy networks must also configure
bungeeconfig.yml,BungeeSettings.yml, and a shared MySQL database.
The exact path depends on whether the server is standalone or part of a proxy network, but this diagram shows a typical proxy-network lifecycle:
Standalone servers skip proxy forwarding and process the vote locally. Configuration can change where totals, vote parties, and rewards are processed.
| Command | Description |
|---|---|
/vote |
Shows vote sites and player totals |
/v |
Alias for /vote
|
/adminvote |
Administration command root |
/av |
Alias for /adminvote
|
VotingPlugin.Player is the main permission for player commands and is granted by default unless changed in Config.yml.
See Commands and Permissions for the full list.
VotingPlugin supports:
-
SQLite — default local storage in
Users.db - MySQL — recommended for proxy networks and multi-server installations
Rewards can include commands, messages, experience, points, items, titles, action bars, random ranges, and more. Offline rewards are normally delivered when the player next joins.
See Rewards and Reward Examples.
| Option / file | Description |
|---|---|
OnlineMode |
Controls online/offline UUID handling; see Online / Offline Mode |
VoteReminderOptions and VoteReminders
|
Current configurable reminder system; see Vote Reminders |
| Top-voter settings | Monthly and weekly tracking and resets |
BungeeSettings.yml |
Backend proxy-network configuration |
SpecialRewards.yml |
AllSites, VoteParty, milestone, cumulative, and other special rewards |
VotingPlugin supports these BungeeMethod values, matching the current default configuration:
- PLUGINMESSAGING — recommended for most networks
- REDIS — Redis pub/sub communication
- MQTT — MQTT broker communication
- MYSQL — MySQL-backed message queue
- SOCKETS — direct socket communication; advanced and not recommended for most networks
See Proxy Setups.
- Confirm the vote listener is installed and receiving votes.
- Verify vote-site ports, tokens, public keys, and service-site names.
- Use
/adminvotetest commands. - Review server and proxy logs.
- See Votifier Troubleshooting and the FAQ.
- Setup
- File Layout
- Service Sites
- Rewards
- Vote Reminders
- Proxy Setups
- Online / Offline Mode
- Commands and Permissions
Report issues on the VotingPlugin GitHub repository or ask in the support Discord.
Keep VotingPlugin and your vote-listener plugin updated for the best compatibility.
- Vote Milestones
- Vote Streak System
- Vote Reminders — Current System
- Legacy Vote Reminding
- Vote Broadcast System
- Vote Logging
- Webhooks
- Time Changes
- Month Date Totals
- VoteShop
- Rewards Overview — Start Here
- Reward System Concepts
- Reward File Format
- Where to Set Rewards
- All Reward Possibilities
- Reward Examples
- Delayed Reward Command
- World Example
- VotingPlugin-Specific Rewards
- Commands & Permissions
- API
- PlaceholderAPI Placeholders
- Minecraft Server Lists
- Bedrock Player Support
- Transferring Data Storage