So kommt ein Vote bei deinem Server an
- Ein Spieler votet auf einer Liste für deinen Server.
- Die Liste baut eine TCP-Verbindung zu deinem Votifier-Port auf und schickt Spielername, ihren eigenen Dienstnamen, eine Adresse und einen Zeitstempel.
- NuVotifier prüft die Nachricht (RSA-Schlüssel bei v1, Token bei v2) und löst ein Vote-Ereignis aus.
- Ein Belohnungs-Plugin wie VotingPlugin hört auf dieses Ereignis und verteilt die Belohnung.
NuVotifier selbst verteilt nichts. Es bringt keinen eigenen Listener mit, du brauchst also immer ein zweites Plugin für die Belohnungen.
Schritt 1: NuVotifier auf Paper oder Spigot installieren
Leg die NuVotifier-JAR in den Ordner plugins und starte den Server einmal. Dabei entstehen die Config, ein RSA-Schlüsselpaar und ein Token. Beim ersten Start steht der Token in der Konsole: Your default NuVotifier token is ….
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <erzeugter Token>
forwarding:
method: none
pluginMessaging:
channel: nuvotifier:voteshostist die Adresse, auf der NuVotifier lauscht. Standardmäßig nimmt es die IP, für die dein Server konfiguriert ist, sonst0.0.0.0für alle Schnittstellen.portist der Votifier-Port, standardmäßig8192. Er darf nicht der Minecraft-Port sein.tokens.defaultgilt für jede Liste, solange du keinen eigenen Token unter dem Dienstnamen einer Liste einträgst.- Die Schlüssel für v1 liegen in
plugins/Votifier/rsa/alspublic.keyundprivate.key.
Schritt 2: Den Port erreichbar machen
Listen verbinden sich aus dem Internet, also muss der Votifier-Port für eingehende TCP-Verbindungen offen sein. Genau hier scheitern die meisten Einrichtungen.
- Gameserver-Hoster: Viele Panels geben nur den Spielport frei. Leg im Panel einen zusätzlichen Port an und trag genau diese Nummer bei
portein. Manche Hoster vergeben die Nummer selbst. - Eigener VPS oder Root-Server: Gib den Port in der Firewall frei, zum Beispiel mit
ufw allow 8192/tcp. - Zu Hause: Leite den Port im Router an den Rechner weiter, auf dem der Server läuft.
Starte den Server nach Änderungen an der Config neu. NuVotifier hat außerdem /nvreload, das du in der Konsole ausführst.
Schritt 3: v1 (Public Key) oder v2 (Token) wählen
| Protokoll v1 | Protokoll v2 | |
|---|---|---|
| Geheimnis | RSA-Schlüsselpaar | Gemeinsamer Token |
| Was die Liste braucht | Inhalt von rsa/public.key | Den Token aus tokens.default |
| Unterstützung | Klassisches Votifier, die meisten Listen | NuVotifier und Listen, die es unterstützen |
Gib private.key nie weiter. Unterstützt eine Liste v2, ist der Token die einfachere Wahl: eine Zeile, keine Schlüsseldatei. BestMCServerList kann beides, du entscheidest auf deiner Votifier-Seite.
Lass disable-v1-protocol: false auf einem einzelnen Server stehen. NuVotifier weist selbst darauf hin, dass viele Listen nur v1 sprechen.
Schritt 4: Votifier mit Velocity oder BungeeCord
Im Netzwerk verbindet sich die Liste mit dem Proxy. NuVotifier läuft auf dem Proxy und leitet die Votes an die Backend-Server weiter, auf denen das Belohnungs-Plugin läuft. Das NuVotifier-Wiki empfiehlt für die meisten Netzwerke Plugin Messaging.
Proxy (Velocity)
host = "0.0.0.0"
port = 8192
disable-v1-protocol = false
[tokens]
default = "<erzeugter Token>"
[forwarding]
method = "pluginMessaging"
[forwarding.pluginMessaging]
channel = "nuvotifier:votes"
cache = "file"Bei BungeeCord stehen dieselben Schlüssel in YAML-Form in plugins/NuVotifier/config.yml. Mit cache = "file" merkt sich NuVotifier Votes von Spielern, die gerade offline sind, und liefert sie später nach.
Jeder Backend-Server (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesMit port: -1 lauscht das Backend nicht selbst, Votes kommen nur über den Proxy. Sorg dafür, dass deine Backends nur über den Proxy erreichbar sind, sonst könnte jemand gefälschte Votes schicken.
Die Alternative method = "proxy" schickt Votes vom Proxy an einen eigenen NuVotifier-Port auf jedem Backend, eingetragen mit Adresse, Port und Token pro Server unter [forwarding.proxy.<name>]. Einen Vote-Cache gibt es dabei nicht, deshalb passt Plugin Messaging meist besser.
Schritt 5: Daten eintragen und Testvote senden
- Teste zuerst lokal:
/testvote Steve serviceName=BestMCServerListauf Paper oder/ptestvotemit denselben Angaben auf dem Proxy. Reagiert dein Belohnungs-Plugin, funktioniert die Innenseite. - Öffne bei BestMCServerList im Dashboard deinen Server und dort Votifier. Trag die öffentliche Adresse von Server oder Proxy, den Port und den Token (v2) oder Public Key (v1) ein und speichere.
- Drück Testvote senden. Wir schicken einen Vote für
TestVote, der nicht fürs Ranking zählt, und das Zustell-Protokoll zeigt nach wenigen Sekunden, ob er angekommen ist.
Votes von BestMCServerList tragen den Dienstnamen BestMCServerList. Bedrock-Spieler, die über Geyser und Floodgate spielen, voten mit ihrem Namen samt Präfix, zum Beispiel .Steve, und der Name kommt unverändert bei NuVotifier an. Jeder Minecraft-Name kann pro Server einmal pro Kalendertag voten, gezählt nach deutscher Zeit (Europe/Berlin).
Noch nicht eingetragen? Trag deinen Server zuerst ein und mach danach mit diesem Schritt weiter.
Häufige Fehler und Lösungen
| Problem | Was du prüfen solltest |
|---|---|
| Verbindung abgelehnt | NuVotifier läuft nicht oder lauscht auf einem anderen Port. Vergleich den Port in der Config mit deinem Eintrag. |
| Zeitüberschreitung | Eine Firewall oder der Hoster verwirft den Verkehr. Gib den Port für TCP frei oder frag nach einem zusätzlichen Port. |
| Testvote kommt an, Spieler bekommen nichts | Kein Belohnungs-Plugin. Die Konsole meldet A vote was received, but you don't have any listeners available to listen for it. |
| Vote mit v2 abgelehnt | Der Token passt nicht. Kopier tokens.default erneut, ohne Leerzeichen oder Anführungszeichen. |
| Klappt auf dem Proxy, nicht auf dem Backend | Das Backend steht nicht auf pluginMessaging, oder die Kanalnamen unterscheiden sich. |
| Falscher Port eingetragen | Statt NuVotifier antwortet der Minecraft-Port. Trag den Votifier-Port ein. |
Sobald Votes ankommen, richtest du die Belohnungen ein: Die Anleitung zu Vote-Belohnungen mit VotingPlugin erklärt den Dienstnamen, die VoteSites.yml und tägliche Limits. Das große Ganze steht in Spieler für einen neuen Server finden.