Kaip Votifier pristato balsą
- Žaidėjas sąraše balsuoja už tavo serverį.
- Sąrašas atidaro TCP ryšį su tavo serveriu Votifier prievadu ir nusiunčia žaidėjo vardą, savo service name, adresą ir laiko žymą.
- NuVotifier patikrina žinutę (v1 – RSA raktu, v2 – tokenu) ir sukelia balsavimo įvykį.
- Prizų pluginas, pavyzdžiui, VotingPlugin, klauso to įvykio ir duoda prizą.
Pats NuVotifier nieko neduoda. Jis ateina be jokio listenerio, todėl prizams visada reikia antro plugino.
1 žingsnis: įdiek NuVotifier Paper arba Spigot serveryje
Įdėk NuVotifier JAR į aplanką plugins ir vieną kartą paleisk serverį. Jis sukuria savo konfigūraciją, RSA raktų porą ir tokeną. Pirmą kartą paleidus konsolė parodo tokeną: 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:voteshostyra adresas, kuriuo klauso NuVotifier. Numatytai jis paima IP, kuriam sukonfigūruotas tavo serveris, arba0.0.0.0visoms sąsajoms.portyra Votifier prievadas, numatytai8192. Tai negali būti Minecraft prievadas.tokens.defaultnaudojamas kiekvienam sąrašui, nebent pridėsi tokeną po sąrašo service name.- v1 raktai sukuriami aplanke
plugins/Votifier/rsa/kaippublic.keyirprivate.key.
2 žingsnis: padaryk prievadą pasiekiamą
Sąrašai jungiasi iš interneto, todėl Votifier prievadas turi būti atviras įeinantiems TCP ryšiams. Būtent čia dauguma sąrankų ir sužlunga.
- Bendras hostingas: daug panelių atidaro tik žaidimo prievadą. Panelėje pridėk papildomą prievadą ir įrašyk būtent tą skaičių į
port. Kai kurie hostingai skaičių priskiria patys. - Savas VPS ar root serveris: leisk prievadą ugniasienėje, pavyzdžiui,
ufw allow 8192/tcp. - Namuose: maršrutizatoriuje peradresuok prievadą į kompiuterį, kuriame veikia serveris.
Pakeitęs konfigūraciją, perkrauk serverį. NuVotifier taip pat turi /nvreload, kuris veikia iš konsolės.
3 žingsnis: pasirink v1 (viešasis raktas) arba v2 (tokenas)
| Protokolas v1 | Protokolas v2 | |
|---|---|---|
| Paslaptis | RSA raktų pora | Bendras tokenas |
| Ko reikia sąrašui | Failo rsa/public.key turinio | Tokeno iš tokens.default |
| Palaikymas | Klasikinis Votifier; jį supranta dauguma sąrašų | NuVotifier ir jį palaikantys sąrašai |
Niekada niekam neduok private.key. Jei sąrašas palaiko v2, tokenas yra paprastesnis pasirinkimas: viena eilutė, jokio rakto failo. BestMCServerList palaiko abu, tad savo Votifier puslapyje rinkis, kas tau patinka.
Viename serveryje palik disable-v1-protocol: false. Pats NuVotifier įspėja, kad daug sąrašų supranta tik v1.
4 žingsnis: Velocity arba BungeeCord tinklai
Tinkle sąrašas jungiasi prie proxy. NuVotifier veikia proxy ir persiunčia balsus backend serveriams, kuriuose yra prizų pluginas. NuVotifier wiki daugumai tinklų rekomenduoja plugin messaging.
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"BungeeCord tie patys raktai yra faile plugins/NuVotifier/config.yml YAML formatu. cache = "file" išsaugo neprisijungusių žaidėjų balsus ir pristato juos vėliau.
Kiekvienas backend serveris (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 išjungia listenerį backend serveryje, todėl balsus gauna tik proxy. Įsitikink, kad tavo backend serveriai pasiekiami tik per proxy, kitaip kas nors galėtų siųsti netikrus balsus.
Kitas variantas, method = "proxy", siunčia balsus iš proxy į NuVotifier prievadą kiekviename backend serveryje; adresas, prievadas ir tokenas kiekvienam serveriui nustatomi po [forwarding.proxy.<name>]. Jis neturi balsų talpyklos, todėl plugin messaging paprastai tinka geriau.
5 žingsnis: įvesk duomenis ir nusiųsk bandomąjį balsą
- Pirmiausia išbandyk lokaliai:
/testvote Steve serviceName=BestMCServerListPaper serveryje arba/ptestvotesu tais pačiais argumentais proxy. Jei tavo prizų pluginas sureaguoja, vidinė dalis veikia. - BestMCServerList valdymo skydelyje atidaryk savo serverį ir eik į Votifier. Įvesk viešą serverio ar proxy adresą, prievadą ir tokeną (v2) arba viešąjį raktą (v1), tada išsaugok.
- Spausk Siųsti bandomąjį balsą. Nusiunčiame balsą už
TestVote, kuris neįskaičiuojamas į reitingą, o pristatymo žurnalas per kelias sekundes parodo, ar jis atėjo.
Balsai iš BestMCServerList turi service name BestMCServerList. Bedrock žaidėjai, kurie jungiasi per Geyser ir Floodgate, balsuoja su prefiksuotu vardu, pavyzdžiui, .Steve, ir vardas NuVotifier pasiekia nepakeistas. Kiekvienas Minecraft vardas gali balsuoti už serverį kartą per kalendorinę dieną, skaičiuojant Europe/Berlin laiku.
Dar nesi sąraše? Pirmiausia pridėk savo serverį, tada grįžk prie šio žingsnio.
Dažnos klaidos ir jų taisymas
| Problema | Ką patikrinti |
|---|---|
| Connection refused | NuVotifier neveikia arba klauso kito prievado. Palygink prievadą konfigūracijoje su tuo, ką įvedei. |
| Timed out | Ugniasienė ar hostingas blokuoja srautą. Atidaryk prievadą TCP arba paprašyk hostingo papildomo prievado. |
| Testas ateina, žaidėjai nieko negauna | Nėra prizų plugino. Konsolė rašo A vote was received, but you don't have any listeners available to listen for it. |
| Balsas su v2 atmestas | Tokenai nesutampa. Dar kartą nukopijuok tokens.default be tarpų ir kabučių. |
| Veikia proxy, bet ne backend serveryje | Backend serveris nenustatytas į pluginMessaging arba kanalų pavadinimai skiriasi. |
| Įvestas neteisingas prievadas | Vietoj NuVotifier atsako Minecraft prievadas. Naudok Votifier prievadą. |
Kai balsai ateina, nustatyk prizus: mūsų gidas apie prizus už balsus su VotingPlugin aprašo service name, VoteSites.yml ir dienos limitus. Platesniam vaizdui žr., kaip gauti žaidėjų naujam serveriui.