Vote rewards (Votifier)

When someone votes on your listing, MineBuff can tell your Minecraft server right away so your reward plugin can give items, ranks, or keys.

  1. Player votes They open your MineBuff vote page and enter their Minecraft name.
  2. We notify your server MineBuff connects to your Votifier port and delivers the vote.
  3. Rewards fire NuVotifier / Classic Votifier / GAListener (or similar) handles the reward.

Set it up in four steps

  1. Install Votifier on your Minecraft server

    Use Classic Votifier or NuVotifier. Open port 8192 (or your chosen port) in the firewall / host panel so the public internet can reach it.

  2. Copy your key or token

    v1: paste plugins/Votifier/rsa/public.key (or NuVotifier rsa/public.key). v2: copy a token from NuVotifier config.yml (often default).

  3. Enable it on your listing

    Dashboard → edit server → Votifier. Turn on forwarding, set host (leave blank to use your Java IP), port, and protocol, then paste the key/token and save.

  4. Send a test vote

    Use “Send test vote” on the same form. If that works, real votes will too.

Auto (recommended)

Picks NuVotifier v2 when a challenge + token are available; otherwise falls back to v1 RSA.

v1 — RSA key

Classic Votifier and NuVotifier RSA. Needs the public key file contents.

v2 — Token

NuVotifier HMAC token from config.yml. Fast and simple if you already use NuVotifier.

Reward plugins that filter by list site should allow the service name “MineBuff”. If delivery fails, the site vote still counts — check your firewall and credentials.

Open dashboard How to add a server

Vote check API

Ask “has this IP already voted for my server today?” Free, public, no API key.

This does not cast a vote

Players still vote on the MineBuff vote page. These URLs only read whether a vote already exists for today (UTC).

GET

Plain text

Best for simple plugins — the whole response is a single character.

https://minebuff.com/api/vote/{slug}/{ip}
1
Already voted today
0
Not voted yet (or unknown / unpublished server)
Example curl -s "https://minebuff.com/api/vote/your-server/203.0.113.10"
GET

JSON

Same answer, plus when they voted and how long until the daily reset.

https://minebuff.com/api/vote/{slug}/{ip}/json
Field Meaning
vote “1” or “0” (strings) — voted today or not.
voted_at UTC time of today’s vote, or null.
reset_at_midnight Always true — the daily vote-check window resets at 00:00 UTC (ranking totals are separate and reset about monthly).
time_until_next_vote Seconds until next UTC midnight if they already voted; otherwise 0.
Example
{
  "vote": "1",
  "voted_at": "2026-09-12T14:32:01Z",
  "reset_at_midnight": true,
  "time_until_next_vote": 34199
}

What to put in the URL

In the URL Meaning
{slug} Your server’s slug from the listing URL (e.g. /servers/your-slug).
{ip} The player’s IP address. We hash it; one vote per server per IP per UTC day.

Works from browsers too (CORS). Unknown servers return 0 in plain text, or HTTP 404 JSON with error server_not_found.

Vote rules

A short checklist so your plugin timing matches ours.

Help

Common snags when rewards or the API don’t behave.

Test vote fails or nothing arrives in-game

Confirm port 8192 (or your port) is open to the internet, the host matches a reachable address, and the key/token matches the plugin files exactly (no extra spaces).

Which protocol should I pick?

Start with Auto. Use v2 if you only have a NuVotifier token. Use v1 if you only have the RSA public key.

The API always returns 0

Check the listing is published, the slug is exact, and you’re passing the player’s real IP (not 127.0.0.1 unless they voted from the same machine).

Do failed Votifier deliveries cancel the vote?

No. The MineBuff vote still counts. Fix connectivity and try the dashboard test vote again.

Can I cast votes through the API?

No. Votes are cast on the public vote page. The API is read-only for checking today’s vote.