Ako Votifier doručí hlas
- Hráč zahlasuje za tvoj server na zozname.
- Zoznam otvorí TCP spojenie na tvoj server na porte Votifiera a pošle meno hráča, svoj názov služby, adresu a časovú značku.
- NuVotifier správu overí (RSA kľúč pri v1, token pri v2) a vyvolá udalosť hlasovania.
- Plugin na odmeny, napríklad VotingPlugin, na túto udalosť čaká a dá odmenu.
NuVotifier sám nedáva nič. Dodáva sa bez akéhokoľvek listenera, takže na odmeny vždy potrebuješ druhý plugin.
Krok 1: Nainštaluj NuVotifier na Paper alebo Spigot
Daj JAR súbor NuVotifiera do priečinka plugins a raz spusti server. Vytvorí svoju konfiguráciu, pár RSA kľúčov a token. Pri prvom štarte konzola token vypíše: 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:voteshostje adresa, na ktorej NuVotifier počúva. Predvolene berie IP, pre ktorú je server nakonfigurovaný, alebo0.0.0.0pre všetky rozhrania.portje port Votifiera, predvolene8192. Nesmie to byť port Minecraftu.tokens.defaultsa používa pre každý zoznam, pokiaľ nepridáš token pod názvom služby konkrétneho zoznamu.- Kľúče pre v1 sa vytvoria v
plugins/Votifier/rsa/akopublic.keyaprivate.key.
Krok 2: Sprístupni port
Zoznamy sa pripájajú z internetu, takže port Votifiera musí byť otvorený pre prichádzajúce TCP spojenia. Tu zlyháva väčšina nastavení.
- Zdieľaný hosting: veľa panelov otvára len herný port. Pridaj v paneli ďalší port a presne toto číslo zadaj do
port. Niektoré hostingy ti číslo pridelia samy. - Vlastný VPS alebo root server: povoľ port vo firewalle, napríklad
ufw allow 8192/tcp. - Doma: presmeruj port v routeri na stroj, na ktorom beží server.
Po zmene konfigurácie server reštartuj. NuVotifier má aj /nvreload, ktorý funguje z konzoly.
Krok 3: Vyber v1 (verejný kľúč) alebo v2 (token)
| Protokol v1 | Protokol v2 | |
|---|---|---|
| Tajomstvo | Pár RSA kľúčov | Zdieľaný token |
| Čo potrebuje zoznam | Obsah rsa/public.key | Token z tokens.default |
| Podpora | Klasický Votifier; hovorí ním väčšina zoznamov | NuVotifier a zoznamy, ktoré ho podporujú |
Nikdy nikomu nedávaj private.key. Ak zoznam podporuje v2, token je jednoduchšia voľba: jeden riadok, žiadny súbor s kľúčom. BestMCServerList podporuje oboje, takže si na svojej stránke Votifiera vyber, čo chceš.
Na samostatnom serveri nechaj disable-v1-protocol: false. Sám NuVotifier upozorňuje, že veľa zoznamov hovorí len protokolom v1.
Krok 4: Siete s Velocity alebo BungeeCord
V sieti sa zoznam pripája na proxy. NuVotifier beží na proxy a preposiela hlasy na backend servery, kde je plugin na odmeny. Wiki NuVotifiera pre väčšinu sietí odporúča 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"Na BungeeCorde sú tie isté kľúče v plugins/NuVotifier/config.yml vo formáte YAML. cache = "file" uchová hlasy hráčov, ktorí sú offline, a doručí ich neskôr.
Každý backend server (Paper)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesport: -1 vypne listener na backende, takže hlasy prijíma len proxy. Uisti sa, že tvoje backendy sú dostupné len cez proxy, inak by niekto mohol posielať falošné hlasy.
Druhá možnosť, method = "proxy", posiela hlasy z proxy na port NuVotifiera na každom backende, nakonfigurovaný adresou, portom a tokenom pre každý server pod [forwarding.proxy.<name>]. Nemá cache hlasov, takže plugin messaging sa zvyčajne hodí lepšie.
Krok 5: Zadaj údaje a pošli testovací hlas
- Najprv otestuj lokálne:
/testvote Steve serviceName=BestMCServerListna Paperi alebo/ptestvotes rovnakými argumentmi na proxy. Ak tvoj plugin na odmeny zareaguje, vnútro funguje. - Na BestMCServerList otvor svoj server v dashboarde a choď do Votifier. Zadaj verejnú adresu servera alebo proxy, port a token (v2) alebo verejný kľúč (v1) a ulož.
- Stlač Poslať testovací hlas. Pošleme hlas za
TestVote, ktorý sa do rebríčka nepočíta, a log doručenia do pár sekúnd ukáže, či prišiel.
Hlasy z BestMCServerList nesú názov služby BestMCServerList. Bedrock hráči, ktorí sa pripájajú cez Geyser a Floodgate, hlasujú s menom s prefixom, napríklad .Steve, a meno príde do NuVotifiera nezmenené. Každé meno v Minecrafte môže hlasovať raz za server a kalendárny deň, počítaný v čase Europe/Berlin.
Ešte nie si na zozname? Najprv pridaj svoj server a potom sa vráť k tomuto kroku.
Bežné chyby a ich riešenia
| Problém | Čo skontrolovať |
|---|---|
| Connection refused | NuVotifier nebeží alebo počúva na inom porte. Porovnaj port v konfigurácii s tým, čo si zadal. |
| Timed out | Firewall alebo hosting zahadzuje prevádzku. Otvor port pre TCP alebo požiadaj hosting o ďalší port. |
| Test príde, hráči nič nedostanú | Chýba plugin na odmeny. Konzola zapíše A vote was received, but you don't have any listeners available to listen for it. |
| Hlas pri v2 odmietnutý | Token nesedí. Skopíruj tokens.default znova, bez medzier a úvodzoviek. |
| Na proxy to funguje, na backende nie | Backend nie je nastavený na pluginMessaging alebo sa názvy kanálov líšia. |
| Zadaný zlý port | Namiesto NuVotifiera odpovedá port Minecraftu. Použi port Votifiera. |
Keď hlasy prichádzajú, nastav odmeny: náš návod odmeny za hlasovanie s VotingPlugin rieši názov služby, VoteSites.yml a denné limity. Širší obraz nájdeš v návode ako získať hráčov na nový server.