What's new
Votes · webhook · Votifier

Set up Minecraft voting rewards with MineRate

A successful vote records activity on MineRate. An in-game reward requires a separate working integration and reward logic on your server.

Checked against the MineRate dashboard ·

Configure one reward path first, verify delivery, and prevent duplicate rewards if you later use both channels.

Before you start

  • Verified ownership.
  • A working HTTPS vote receiver or compatible public-key Votifier listener.
  • Server-side reward logic configured for your players.

Step-by-step instructions

  1. Explain the reward to players

    In Edit server → Contacts and integrations, describe the voting bonus accurately. The bonus text explains the reward; it does not grant items or execute commands by itself.

  2. Choose webhook or Votifier

    For a webhook, save the public HTTPS receiver URL and a shared secret. For Votifier, save the public host, actual listener port and RSA public key in PEM format. MineRate currently sends the public-key Votifier v1 packet, not a token-based v2 handshake; enable compatible support in your plugin.

  3. Secure the receiver

    A webhook receiver should verify the HMAC signature against the exact request body and stored secret before granting rewards. Never publish the webhook secret or Votifier private key. Restrict access to the necessary listener without disabling your firewall.

  4. Check a legitimate vote and delivery status

    Use the public voting page with the correct player name and challenge. Then check Votes in the dashboard for delivery status and errors. A queued or failed delivery does not mean the vote itself was rejected; the worker processes deliveries separately.

  5. Handle repeat delivery safely

    Use vote_id to deduplicate webhook rewards. MineRate can retry a failed delivery, and an ambiguous timeout can happen after the receiver already handled a request. If both webhook and Votifier are configured, do not grant the same reward twice.

Technical reference

Webhook signature

The X-MCMonitor-Signature header contains sha256= followed by the hexadecimal HMAC-SHA256 of the raw JSON request body, using the configured secret. Verify it before parsing or acting on the event; use a timing-safe comparison in your receiver.

X-MCMonitor-Signature: sha256=<HMAC-SHA256 hex digest>

Webhook event fields

Expect event, vote_id, server_id, news_id, server, player and created_at. This illustrative event is not a real vote; the receiver must use the IDs from the actual request.

{
  "event": "vote",
  "vote_id": 123,
  "server_id": 45,
  "news_id": 67,
  "server": "Example server",
  "player": "ExamplePlayer",
  "created_at": "2026-10-02T12:00:00.000Z"
}

If something does not work

A vote is recorded but no reward arrives
Inspect delivery status, the actual listener port, public reachability and plugin logs. A bonus description alone is not a delivery integration.
Webhook returns an HTTP error
Use a direct HTTPS receiver that accepts JSON POST requests. Redirects are not followed. Check signature validation and return a successful HTTP status only after accepting the event reliably.
Votifier delivery fails
Check the host, allocated port, complete public key and support for the legacy public-key protocol. The normal Minecraft game port is not necessarily the Votifier port.

Common questions

How often can someone vote?

One public IP can vote for one server per UTC calendar day across MineRate. The reset is at 00:00 UTC, not 24 hours after the last vote. People sharing a home or mobile-network public IP may share this limit.

Does a voter need a MineRate account?

An account is not currently required to vote. The voting form requires a player name of 3–16 characters using letters, numbers or underscores, plus the challenge. Account linking does not bypass the IP/day rule.

What happens on the first day of the month?

The public voting period starts again at 00:00 UTC on the first day of each month. Historical vote records remain available for history and checks; the reset does not revoke rewards already delivered.

Official references

MineRate-specific behavior is described above; these references cover the underlying server settings and integrations.