Repository navigation
Getting Started Standalone
This walkthrough is for one Paper/Spigot server, without Velocity or BungeeCord. By the end, a real vote from one configured website should be received and rewarded.
Version: VotingPlugin 7.1.1, requiring Java 21. You do not need MySQL,
BungeeSettings.yml, or a proxy for this setup; the defaultDataStorage: SQLITEis fine.
- Download VotingPlugin and VotifierPlus (or a compatible NuVotifier release).
- Place the server JARs in your Paper/Spigot
plugins/folder. Do not use a BungeeCord/Velocity JAR on a backend. - Start or fully restart the server. Check the console to ensure both plugins loaded without errors.
- Find VotingPlugin's generated files in
plugins/VotingPlugin/, includingConfig.ymlandVoteSites.yml.
If either plugin fails to load, resolve that before continuing. Check Java/server compatibility and the actual error message, rather than changing random configuration values.
VotifierPlus receives the notification that a server-list website sends. VotingPlugin does not listen for public Votifier connections itself.
Open the generated VotifierPlus listener config.yml (not VotingPlugin's Config.yml). Common VotifierPlus defaults are:
host: 0.0.0.0
port: 8192
TokenSupport: false
DisableV1: false-
portis the listener's TCP port, not the Minecraft game port (usually25565). On a managed host, use a port allocated to this server;8192is only an example/default. -
0.0.0.0means bind to local interfaces; it is never the address to enter on a voting website. - Allow inbound TCP traffic to the chosen listener port in your hosting panel/firewall, and forward it if hosting behind a router.
- For a website using Votifier v1, provide the public address, port, and contents of
rsa/public.keyfrom the listener's generated data folder. Never sharersa/private.key. - If the website supports Votifier v2 tokens, enable
TokenSupport, restart the listener, and provide the appropriate generated/configured token instead of a public key. Use the protocol your installed listener and the website both support. LeaveDisableV1: falseif any site still requires v1.
Restart after listener changes. In your listing site's voting/Votifier settings, enter the server's public hostname or IP, the actual Votifier port, and the matching key/token. This may require a separate network allocation from your game server.
See Votifier Troubleshooting if the listener cannot bind or a remote test cannot connect.
You have three supported paths. Pick one and test one site before adding more.
As an operator in game, run:
/av VotePresets
Or search for a matching preset using the real voting-page URL:
/av VotePresets https://your-server-list.example/vote
Follow the prompts and review the generated VoteSites.yml entry. The URL must include https:// or http://; not every listing has a preset. This 7.1.1 feature needs access to GitHub to load presets. See VotingPlugin Presets.
Config.yml defaults to:
AutoCreateVoteSites: trueSend a real or listener-generated vote through the configured website and inspect the console or use /av servicesites. VotingPlugin can generate a site from a previously unknown service identifier. Open VoteSites.yml, replace any generated placeholder VoteURL, and review its delay, display item, and rewards.
Use this example inside the existing VoteSites: section, replacing the placeholders with your real values:
VoteSites:
MyFirstSite:
Enabled: true
Name: 'My First Voting Site'
ServiceSite: 'REPLACE_WITH_RECEIVED_SERVICE'
VoteURL: 'https://your-server-list.example/vote'
VoteDelay: 24h
WaitUntilVoteDelay: false
DisplayItem:
Material: DIAMOND
Amount: 1
Rewards:
Messages:
Player: '&aThanks for voting!'
Commands:
- 'give %player% diamond 1'-
MyFirstSiteis an internal key. Keep it simple, without spaces or dots. -
ServiceSitemust match the actual value sent by the website; do not assume it is the website domain. Discover it from a real/listener-generated vote or/av servicesitesand replace the placeholder before testing. -
VoteURLis what players click through/vote. Replace the example URL. -
VoteDelay: 24hcontrols the displayed next-vote interval;WaitUntilVoteDelay: falseavoids mistakenly rejecting legitimate votes when a website uses different cooldown rules. -
Enabled: truematters. The bundledExampleVoteSiteis disabled by default and has example values. Edit/replace it or leave it disabled; don't assume it will work unchanged. - The reward above sends a message and gives one diamond as a simple test. Inline rewards are enough; no separate reward file is required.
Do not paste a second top-level VoteSites: key into the file. Merge the new MyFirstSite entry under the existing one, then reload VotingPlugin or restart. See Service Sites and Rewards.
- Join with a known player account and run
/vote. Verify your site and link appear. - Run
/av vote <player> MyFirstSite(use your internal site key) to check VotingPlugin's local processing. Verify the reward/total; this command does not test the public listener. - From the voting website, send a real or listener-generated test vote using the same player name. Verify that VotifierPlus received it, VotingPlugin logged it with the expected
ServiceSite, and the reward was delivered. - If the website delivers a different service name, correct
ServiceSitebefore retesting.
See Verify Your First Vote for example messages and a troubleshooting table.
- Once all intended sites exist and work, set
AutoCreateVoteSites: falsein VotingPlugin'sConfig.ymland reload. This stops unexpected, unknown service identifiers from creating new site entries. - In 7.1.1, temporarily re-enable
AutoCreateVoteSitesbefore adding a new site through/av gui; directVoteSites.ymlediting still works when disabled. See Service Sites. - Back up your configurations and test both online and offline rewards before making more complex changes.
- Move on to Reward Examples or VoteShop.
- 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 Cookbook β Copyable Recipes
- Rewards Overview β Start Here
- Special Rewards
- Reward System Concepts
- Reward File Format
- Where to Set Rewards
- All Reward Possibilities
- AdvancedPriority Rewards
- Reward Examples
- Delayed Reward Command
- World Example
- VotingPlugin-Specific Rewards
- Commands & Permissions
- Signs
- API
- PlaceholderAPI Placeholders
- Minecraft Server Lists
- Bedrock Player Support
- Transferring Data Storage