Naar de inhoud

NuVotifier instellen op Paper, Velocity en BungeeCord

NuVotifier is de schakel tussen een serverlijst en je beloningsplugin: de lijst maakt voor elke stem verbinding ermee, en NuVotifier geeft de stem door aan de plugin die de beloning uitdeelt. Deze handleiding zet het op voor één Paper-server en voor een Velocity- of BungeeCord-netwerk, en controleert daarna alles met een teststem.

Bijgewerkt:

Zo levert Votifier een stem af

  1. Een speler stemt op een lijst op je server.
  2. De lijst opent een TCP-verbinding met je server op de Votifier-poort en stuurt de spelernaam, de eigen servicenaam, een adres en een tijdstempel.
  3. NuVotifier controleert het bericht (RSA-sleutel bij v1, token bij v2) en vuurt een vote-event af.
  4. Een beloningsplugin zoals VotingPlugin luistert naar dat event en geeft de beloning.

NuVotifier zelf geeft niks. Het komt zonder listener, dus je hebt altijd een tweede plugin nodig voor de beloningen.

Stap 1: Installeer NuVotifier op Paper of Spigot

Zet de NuVotifier-JAR in de map plugins en start de server één keer. Het maakt zijn config, een RSA-sleutelpaar en een token aan. De console toont de token bij de eerste start: Your default NuVotifier token is ….

plugins/Votifier/config.yml
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
  default: <generated token>
forwarding:
  method: none
  pluginMessaging:
    channel: nuvotifier:votes
  • host is het adres waarop NuVotifier luistert. Standaard neemt het het IP waarvoor je server is ingesteld, of 0.0.0.0 voor alle interfaces.
  • port is de Votifier-poort, standaard 8192. Het mag niet de Minecraft-poort zijn.
  • tokens.default wordt voor elke lijst gebruikt, tenzij je een token toevoegt onder de servicenaam van een lijst.
  • De sleutels voor v1 worden aangemaakt in plugins/Votifier/rsa/ als public.key en private.key.

Stap 2: Maak de poort bereikbaar

Lijsten maken verbinding vanaf internet, dus de Votifier-poort moet openstaan voor inkomende TCP-verbindingen. Hier gaan de meeste setups mis.

  • Gedeelde hosting: veel panelen openen alleen de gamepoort. Voeg in het paneel een extra poort toe en zet precies dat nummer in port. Sommige hosts kennen het nummer voor je toe.
  • Eigen VPS of rootserver: sta de poort toe in de firewall, bijvoorbeeld ufw allow 8192/tcp.
  • Thuis: stuur de poort in je router door naar de machine waarop de server draait.

Herstart de server nadat je de config hebt gewijzigd. NuVotifier heeft ook /nvreload, dat vanuit de console werkt.

Stap 3: Kies v1 (public key) of v2 (token)

Protocol v1Protocol v2
GeheimRSA-sleutelpaarGedeelde token
Wat de lijst nodig heeftInhoud van rsa/public.keyDe token uit tokens.default
OndersteuningKlassieke Votifier; de meeste lijsten spreken hetNuVotifier en lijsten die het ondersteunen

Geef private.key nooit aan iemand. Ondersteunt een lijst v2, dan is de token de simpelste keuze: één regel, geen sleutelbestand. BestMCServerList ondersteunt beide, dus kies wat je wilt op je Votifier-pagina.

Laat disable-v1-protocol: false staan op een losse server. NuVotifier waarschuwt zelf dat veel lijsten alleen v1 spreken.

Stap 4: Velocity- of BungeeCord-netwerken

Op een netwerk maakt de lijst verbinding met de proxy. NuVotifier draait op de proxy en stuurt stemmen door naar de backendservers waar de beloningsplugin staat. De NuVotifier-wiki raadt voor de meeste netwerken plugin messaging aan.

Proxy (Velocity)

plugins/nuvotifier/config.toml
host = "0.0.0.0"
port = 8192
disable-v1-protocol = false

[tokens]
default = "<generated token>"

[forwarding]
method = "pluginMessaging"

[forwarding.pluginMessaging]
channel = "nuvotifier:votes"
cache = "file"

Op BungeeCord staan dezelfde sleutels in YAML-vorm in plugins/NuVotifier/config.yml. cache = "file" bewaart stemmen voor spelers die offline zijn en levert ze later af.

Elke backendserver (Paper)

plugins/Votifier/config.yml
port: -1
forwarding:
  method: pluginMessaging
  pluginMessaging:
    channel: nuvotifier:votes

port: -1 zet de listener op de backend uit, zodat alleen de proxy stemmen ontvangt. Zorg dat je backends alleen via de proxy bereikbaar zijn, anders kan iemand nepstemmen sturen.

De andere optie, method = "proxy", stuurt stemmen van de proxy naar een NuVotifier-poort op elke backend, ingesteld met adres, poort en token per server onder [forwarding.proxy.<name>]. Die heeft geen stemcache, dus plugin messaging past meestal beter.

Stap 5: Vul de gegevens in en verstuur een teststem

  1. Test eerst lokaal: /testvote Steve serviceName=BestMCServerList op Paper, of /ptestvote met dezelfde argumenten op de proxy. Reageert je beloningsplugin, dan werkt de binnenkant.
  2. Open op BestMCServerList je server in het dashboard en ga naar Votifier. Vul het openbare adres van de server of proxy in, de poort en de token (v2) of public key (v1), en sla op.
  3. Klik op Teststem versturen. We sturen een stem voor TestVote die niet meetelt voor de ranglijst, en het afleverlog laat binnen een paar seconden zien of hij is aangekomen.

Stemmen van BestMCServerList hebben de servicenaam BestMCServerList. Bedrock-spelers die via Geyser en Floodgate joinen, stemmen met hun naam met prefix, bijvoorbeeld .Steve, en die naam komt ongewijzigd bij NuVotifier aan. Elke Minecraft-naam kan één keer per server per kalenderdag stemmen, gerekend in tijdzone Europe/Berlin.

Sta je nog niet op de lijst? Voeg je server toe en kom daarna terug naar deze stap.

Veelvoorkomende fouten en oplossingen

ProbleemWat je controleert
Verbinding geweigerdNuVotifier draait niet of luistert op een andere poort. Vergelijk de poort in de config met wat je hebt ingevuld.
Time-outEen firewall of de host blokkeert het verkeer. Open de poort voor TCP of vraag de host om een extra poort.
Test komt aan, spelers krijgen niksGeen beloningsplugin. De console logt A vote was received, but you don't have any listeners available to listen for it.
Stem geweigerd bij v2Token komt niet overeen. Kopieer tokens.default opnieuw, zonder spaties of aanhalingstekens.
Werkt op de proxy, niet op de backendDe backend staat niet op pluginMessaging, of de kanaalnamen verschillen.
Verkeerde poort ingevuldDe Minecraft-poort antwoordt in plaats van NuVotifier. Gebruik de Votifier-poort.

Zodra stemmen aankomen, stel je de beloningen in: onze handleiding over stembeloningen met VotingPlugin behandelt de servicenaam, VoteSites.yml en daglimieten. Voor het grotere plaatje kijk je bij hoe je spelers krijgt voor een nieuwe server.

Veelgestelde vragen

Welke poort gebruikt NuVotifier?

Standaard poort 8192. Je kunt hem in de config wijzigen, maar het moet een andere poort zijn dan de Minecraft-poort en via TCP bereikbaar vanaf internet.

Waar vind ik de NuVotifier-token?

In plugins/Votifier/config.yml onder tokens → default. De console toont hem ook bij de eerste start.

Heb ik NuVotifier nodig op elke server van mijn netwerk?

Met plugin messaging wel: op de proxy om stemmen te ontvangen, en op elke backend met forwarding.method: pluginMessaging en port: -1 om ze aan de beloningsplugin door te geven.

Moet ik v1 of v2 gebruiken?

Gebruik v2 met een token als de lijst dat ondersteunt. v1 met de RSA-public key bestaat voor oudere setups. BestMCServerList ondersteunt beide.

Geeft NuVotifier zelf beloningen?

Nee. Het ontvangt alleen stemmen. Een beloningsplugin zoals VotingPlugin moet ernaar luisteren.

Bronnen

Gecontroleerd aan de hand van de officiële documentatie: