Zo levert Votifier een stem af
- Een speler stemt op een lijst op je server.
- 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.
- NuVotifier controleert het bericht (RSA-sleutel bij v1, token bij v2) en vuurt een vote-event af.
- 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 ….
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <generated token>
forwarding:
method: none
pluginMessaging:
channel: nuvotifier:voteshostis het adres waarop NuVotifier luistert. Standaard neemt het het IP waarvoor je server is ingesteld, of0.0.0.0voor alle interfaces.portis de Votifier-poort, standaard8192. Het mag niet de Minecraft-poort zijn.tokens.defaultwordt 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/alspublic.keyenprivate.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 v1 | Protocol v2 | |
|---|---|---|
| Geheim | RSA-sleutelpaar | Gedeelde token |
| Wat de lijst nodig heeft | Inhoud van rsa/public.key | De token uit tokens.default |
| Ondersteuning | Klassieke Votifier; de meeste lijsten spreken het | NuVotifier 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)
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)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -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
- Test eerst lokaal:
/testvote Steve serviceName=BestMCServerListop Paper, of/ptestvotemet dezelfde argumenten op de proxy. Reageert je beloningsplugin, dan werkt de binnenkant. - 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.
- Klik op Teststem versturen. We sturen een stem voor
TestVotedie 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
| Probleem | Wat je controleert |
|---|---|
| Verbinding geweigerd | NuVotifier draait niet of luistert op een andere poort. Vergelijk de poort in de config met wat je hebt ingevuld. |
| Time-out | Een 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 niks | Geen beloningsplugin. De console logt A vote was received, but you don't have any listeners available to listen for it. |
| Stem geweigerd bij v2 | Token komt niet overeen. Kopieer tokens.default opnieuw, zonder spaties of aanhalingstekens. |
| Werkt op de proxy, niet op de backend | De backend staat niet op pluginMessaging, of de kanaalnamen verschillen. |
| Verkeerde poort ingevuld | De 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.