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.
plugins/ folder. Do not use a BungeeCord/Velocity JAR on a backend.plugins/VotingPlugin/, including Config.yml and VoteSites.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
port is the listener's TCP port, not the Minecraft game port (usually 25565). On a managed host, use a port allocated to this server; 8192 is only an example/default.0.0.0.0 means bind to local interfaces; it is never the address to enter on a voting website.rsa/public.key from the listener's generated data folder. Never share rsa/private.key.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. Leave DisableV1: false if 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: true
Send 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.
VoteSites.yml yourselfUse 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'
MyFirstSite is an internal key. Keep it simple, without spaces or dots.ServiceSite must 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 servicesites and replace the placeholder before testing.VoteURL is what players click through /vote. Replace the example URL.VoteDelay: 24h controls the displayed next-vote interval; WaitUntilVoteDelay: false avoids mistakenly rejecting legitimate votes when a website uses different cooldown rules.Enabled: true matters. The bundled ExampleVoteSite is disabled by default and has example values. Edit/replace it or leave it disabled; don't assume it will work unchanged.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.
/vote. Verify your site and link appear./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.ServiceSite, and the reward was delivered.ServiceSite before retesting.See Verify Your First Vote for example messages and a troubleshooting table.
AutoCreateVoteSites: false in VotingPlugin's Config.yml and reload. This stops unexpected, unknown service identifiers from creating new site entries.AutoCreateVoteSites before adding a new site through /av gui; direct VoteSites.yml editing still works when disabled. See Service Sites.