Skip to content

DaisyVotes — Voting & Anti-Fraud

This page explains what happens from the moment a player votes to the moment they get rewarded — and the protections that keep forged votes out.

  1. A player votes on a server list (e.g. Planet Minecraft).
  2. The list sends the vote to DaisyVotes’ built-in receiver (Votifier v1/v2) on the port you opened — no NuVotifier needed.
  3. DaisyVotes reads the service name, player, and timestamp, and matches it to a configured site.
  4. The vote is checked against the duplicate window and dropped if it’s a replay.
  5. Processing continues asynchronously: the player’s daily/weekly/monthly/lifetime counts, streak, points, and the server vote-party progress are updated.
  6. Rewards are granted (or queued if the player is offline), the daily wheel set is checked, Discord embeds fire, effects play, and messages broadcast.

DaisyVotes compares the service name the list sends to Votifier against each site’s id and service-aliases in menus.yml. The first match wins, and the vote is credited to that site.

The built-in receiver guards the front door: every vote must present a valid token (or be signed with your RSA key), and connections are rate-limited per IP. Beyond that, two vote-flow protections are configured under sites to stop forged votes from a leaked token.

config.yml
sites:
require-configured-site: true # strict (default, recommended)
Moderequire-configured-siteBehavior
Strict (default)trueOnly votes whose service name matches a configured site are accepted. Forged votes from an unknown service are rejected — they can’t farm rewards or the vote party.
LenientfalseVotes from any service are accepted. An unmatched vote fills the player’s next open wheel slot for the day.
config.yml
sites:
duplicate-window-seconds: 10

Identical votes (same player + same site) arriving within duplicate-window-seconds are treated as duplicates and dropped before any data is written. Set to 0 to disable.

sites.default-cooldown-hours (default 24) drives the “already voted” candle state in the dashboard — a voted site shows its voted-item with the remaining {cooldown} until the player can vote there again.

If a player votes while offline, their rewards are queued and claimed later with /vote claim. See Reminders & Offline Rewards.

Terminal window
/daisyvotes testvote <player> # simulate a vote on every configured site
/daisyvotes testvote <player> topg # simulate a vote on one site