Cum livrează Votifier un vot
- Un jucător îți votează serverul pe o listă.
- Lista deschide o conexiune TCP spre serverul tău pe portul Votifier și trimite numele jucătorului, propriul nume de serviciu, o adresă și un timestamp.
- NuVotifier verifică mesajul (cheie RSA pentru v1, token pentru v2) și declanșează un eveniment de vot.
- Un plugin de recompense, de exemplu VotingPlugin, ascultă acest eveniment și dă recompensa.
NuVotifier singur nu dă nimic. Vine fără niciun listener, așa că ai mereu nevoie de un al doilea plugin pentru recompense.
Pasul 1: Instalează NuVotifier pe Paper sau Spigot
Pune JAR-ul NuVotifier în folderul plugins și pornește serverul o dată. Își creează configul, o pereche de chei RSA și un token. Consola afișează tokenul la prima pornire: 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:voteshoste adresa pe care ascultă NuVotifier. Implicit ia IP-ul pentru care e configurat serverul tău sau0.0.0.0pentru toate interfețele.porte portul Votifier, implicit8192. Nu are voie să fie portul de Minecraft.tokens.defaulte folosit pentru fiecare listă, dacă nu adaugi un token sub numele de serviciu al unei liste.- Cheile pentru v1 sunt create în
plugins/Votifier/rsa/capublic.keyșiprivate.key.
Pasul 2: Fă portul accesibil
Listele se conectează de pe internet, așa că portul Votifier trebuie să fie deschis pentru conexiuni TCP de intrare. Aici cad cele mai multe configurări.
- Hosting partajat: multe panouri deschid doar portul jocului. Adaugă un port suplimentar în panou și pune exact acel număr în
port. Unele hostinguri îți alocă ele numărul. - VPS sau server dedicat propriu: permite portul în firewall, de exemplu
ufw allow 8192/tcp. - Acasă: fă port forwarding în router spre mașina care rulează serverul.
Repornește serverul după ce schimbi configul. NuVotifier are și /nvreload, care rulează din consolă.
Pasul 3: Alege v1 (cheie publică) sau v2 (token)
| Protocolul v1 | Protocolul v2 | |
|---|---|---|
| Secret | Pereche de chei RSA | Token comun |
| De ce are nevoie lista | Conținutul fișierului rsa/public.key | Tokenul din tokens.default |
| Suport | Votifier clasic; majoritatea listelor îl vorbesc | NuVotifier și listele care îl suportă |
Nu da nimănui niciodată private.key. Dacă o listă suportă v2, tokenul e alegerea mai simplă: un rând, fără fișier de cheie. BestMCServerList le suportă pe amândouă, așa că alege ce preferi pe pagina ta Votifier.
Ține disable-v1-protocol: false pe un singur server. NuVotifier însuși avertizează că multe liste vorbesc doar v1.
Pasul 4: Networkuri Velocity sau BungeeCord
Într-un network, lista se conectează la proxy. NuVotifier rulează pe proxy și trimite voturile mai departe la serverele backend, unde stă pluginul de recompense. Wiki-ul NuVotifier recomandă plugin messaging pentru majoritatea networkurilor.
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"Pe BungeeCord aceleași chei stau în plugins/NuVotifier/config.yml, în format YAML. cache = "file" păstrează voturile pentru jucătorii offline și le livrează mai târziu.
Fiecare server backend (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 oprește listenerul pe backend, așa că doar proxyul primește voturi. Asigură-te că backendurile sunt accesibile doar prin proxy, altfel cineva ar putea trimite voturi false.
Cealaltă opțiune, method = "proxy", trimite voturile de la proxy către un port NuVotifier de pe fiecare backend, configurat cu adresă, port și token pentru fiecare server la [forwarding.proxy.<name>]. Nu are cache pentru voturi, așa că plugin messaging se potrivește de obicei mai bine.
Pasul 5: Introdu datele și trimite un vot de test
- Testează mai întâi local:
/testvote Steve serviceName=BestMCServerListpe Paper sau/ptestvotecu aceleași argumente pe proxy. Dacă pluginul de recompense reacționează, partea din interior funcționează. - Pe BestMCServerList, deschide serverul în panou și mergi la Votifier. Introdu adresa publică a serverului sau a proxyului, portul și tokenul (v2) sau cheia publică (v1), apoi salvează.
- Apasă Trimite un vot de test. Trimitem un vot pentru
TestVotecare nu contează în clasament, iar logul de livrare arată în câteva secunde dacă a ajuns.
Voturile de la BestMCServerList au numele de serviciu BestMCServerList. Jucătorii Bedrock care intră prin Geyser și Floodgate votează cu numele cu prefix, de exemplu .Steve, iar numele ajunge la NuVotifier neschimbat. Fiecare nume de Minecraft poate vota o dată pe server și pe zi calendaristică, după ora Europe/Berlin.
Nu ești încă listat? Adaugă-ți serverul mai întâi, apoi revino la pasul ăsta.
Erori frecvente și soluții
| Problemă | Ce verifici |
|---|---|
| Connection refused | NuVotifier nu rulează sau ascultă pe alt port. Compară portul din config cu ce ai introdus. |
| Timed out | Un firewall sau hostingul blochează traficul. Deschide portul pentru TCP sau cere hostingului un port suplimentar. |
| Testul ajunge, jucătorii nu primesc nimic | Lipsește pluginul de recompense. Consola scrie A vote was received, but you don't have any listeners available to listen for it. |
| Vot respins cu v2 | Tokenul nu se potrivește. Copiază din nou tokens.default, fără spații sau ghilimele. |
| Merge pe proxy, nu și pe backend | Backendul nu e setat pe pluginMessaging sau numele canalelor diferă. |
| Port greșit introdus | Răspunde portul de Minecraft în loc de NuVotifier. Folosește portul Votifier. |
După ce voturile ajung, configurează recompensele: ghidul nostru despre recompense de vot cu VotingPlugin acoperă numele de serviciu, VoteSites.yml și limitele zilnice. Pentru imaginea de ansamblu, vezi cum aduci jucători pe un server nou.