Skip to content

DaisyVotes — Vote Receiver

New in 2.0 DaisyVotes has its own embedded vote receiver — you don’t need NuVotifier. It speaks the standard Votifier protocol (both v2 tokens and v1 RSA keys), listens on its own port, and even imports your existing NuVotifier setup automatically.

The receiver is configured in receiver.yml.

  1. Pick a port and open it. The default is 8192 (the standard Votifier port) on host 0.0.0.0. Make sure it’s open in your firewall and reachable from the internet — vote sites connect to it directly.

  2. Token sites (v2 — most common). Use the default token already in receiver.yml (tokens.default) — one token works for every site. Paste it into the site’s Votifier token field, along with your host/IP and the port. Per-site tokens are optional; create one only if you want a listing isolated:

    Terminal window
    /daisyvotes receiver token create minecraftservers # optional

    (Generated tokens are printed once and never written to the log.)

  3. Legacy v1 sites use the public key. Run /daisyvotes receiver publickey and paste the printed key into the site’s public key field (with your host/IP and the port):

    Terminal window
    /daisyvotes receiver publickey
  4. Verify. Run /daisyvotes receiver status and /daisyvotes doctor — the receiver should report listening.

receiver.yml
enabled: true
mode: Embedded # Embedded | NuVotifierBridge | Disabled
bind:
host: "0.0.0.0"
port: 8192
backlog: 128
read-timeout-ms: 5000
max-payload-bytes: 8192
protocols:
v1: true # legacy RSA public key
v2: true # token (recommended)
security:
rate-limit-enabled: true
max-connections-per-ip-per-minute: 120
duplicate-window-seconds: 10
log-rejected-votes: true
tokens:
default: "••••••••" # generated on first run
rsa:
public-key: "-----BEGIN PUBLIC KEY----- …"
private-key: "-----BEGIN PRIVATE KEY----- …" # keep secret
migration:
import-nuvotifier-on-first-run: true
imported-from-nuvotifier: false
modeBehavior
Embedded (default)DaisyVotes opens its own socket and receives votes directly. No NuVotifier needed.
NuVotifierBridgeKeep NuVotifier installed and let DaisyVotes receive votes through it instead of opening its own port.
DisabledThe receiver is off (e.g. if another plugin forwards votes to DaisyVotes).
KeyDefaultDescription
host"0.0.0.0"Address to bind. 0.0.0.0 listens on all interfaces.
port8192Listening port. Open it in your firewall.
backlog128Socket accept backlog.
read-timeout-ms5000Per-connection read timeout.
max-payload-bytes8192Maximum accepted payload size (anti-abuse).
KeyDefaultDescription
v2trueToken-based protocol. Recommended — use tokens on vote sites whenever possible.
v1trueLegacy RSA public-key protocol, kept on for compatibility with older sites.
KeyDefaultDescription
rate-limit-enabledtrueDrop connections from an IP that exceeds the per-minute limit.
max-connections-per-ip-per-minute120The per-IP connection cap.
duplicate-window-seconds10Drop identical votes arriving within this many seconds.
log-rejected-votestrueLog votes that were rejected (bad token, malformed, rate-limited).

A map of named tokens. DaisyVotes generates a default token on first run, and that one token works for every site — most servers never need more. Create extra per-site tokens only if you want each listing isolated (so you can rotate one without touching the others). Manage them with commands rather than editing by hand:

CommandDescription
/daisyvotes receiver token create <name>Create a new token and print it once.
/daisyvotes receiver token rotate <name>Replace an existing token (printed once).
/daisyvotes receiver publickeyPrint the v1 RSA public key.
KeyDefaultDescription
import-nuvotifier-on-first-runtrueAuto-import plugins/Votifier/config.yml on first start.
imported-from-nuvotifierfalseSet to true once an import has run.

Re-run an import any time with /daisyvotes receiver import.

CommandPermissionDescription
/daisyvotes receiver statusdaisyvotes.admin.receiverMode, bind address, listening state, accepted/rejected counts, last error.
/daisyvotes receiver reloaddaisyvotes.admin.receiverRestart the receiver after editing receiver.yml.
/daisyvotes receiver importdaisyvotes.admin.receiverImport settings from an existing NuVotifier config.
/daisyvotes receiver token create|rotate <name>daisyvotes.admin.receiverCreate or rotate a named token.
/daisyvotes receiver publickeydaisyvotes.admin.receiverPrint the v1 RSA public key.