Přeskočit na obsah

Nastavení NuVotifieru na Paperu, Velocity a BungeeCordu

NuVotifier je článek mezi seznamem serverů a tvým pluginem na odměny: seznam se k němu připojí s každým hlasem a on hlas předá pluginu, který dává odměnu. Tento návod ho nastaví na jednom Paper serveru i na síti s Velocity nebo BungeeCordem a pak vše ověří testovacím hlasem.

Aktualizováno:

Jak Votifier doručí hlas

  1. Hráč hlasuje pro tvůj server na seznamu.
  2. Seznam otevře TCP spojení na Votifier port tvého serveru a pošle jméno hráče, vlastní název služby, adresu a časové razítko.
  3. NuVotifier zprávu ověří (RSA klíč u v1, token u v2) a vyvolá událost hlasu.
  4. Plugin na odměny, třeba VotingPlugin, na tuto událost čeká a dá odměnu.

Samotný NuVotifier nedává nic. Dodává se bez jakéhokoli listeneru, takže na odměny vždycky potřebuješ druhý plugin.

Krok 1: Nainstaluj NuVotifier na Paper nebo Spigot

Dej JAR NuVotifieru do složky plugins a jednou spusť server. Vytvoří si config, pár RSA klíčů a token. Konzole token při prvním startu vypíše: Your default NuVotifier token is ….

plugins/Votifier/config.yml
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
  default: <generated token>
forwarding:
  method: none
  pluginMessaging:
    channel: nuvotifier:votes
  • host je adresa, na které NuVotifier naslouchá. Ve výchozím stavu bere IP, pro kterou je nastavený tvůj server, nebo 0.0.0.0 pro všechna rozhraní.
  • port je Votifier port, ve výchozím stavu 8192. Nesmí to být port Minecraftu.
  • tokens.default se použije pro každý seznam, pokud nepřidáš token pod názvem služby daného seznamu.
  • Klíče pro v1 se vytvoří v plugins/Votifier/rsa/ jako public.key a private.key.

Krok 2: Zpřístupni port

Seznamy se připojují z internetu, takže Votifier port musí být otevřený pro příchozí TCP spojení. Právě tady většina nastavení selhává.

  • Sdílený hosting: hodně panelů otevírá jen herní port. Přidej v panelu port navíc a do port dej přesně toto číslo. Některé hostingy číslo přidělí samy.
  • Vlastní VPS nebo root server: povol port ve firewallu, například ufw allow 8192/tcp.
  • Doma: přesměruj port v routeru na počítač, na kterém server běží.

Po změně configu server restartuj. NuVotifier má také /nvreload, který jde spustit z konzole.

Krok 3: Vyber v1 (veřejný klíč) nebo v2 (token)

Protokol v1Protokol v2
TajemstvíPár RSA klíčůSdílený token
Co potřebuje seznamObsah rsa/public.keyToken z tokens.default
PodporaKlasický Votifier; umí ho většina seznamůNuVotifier a seznamy, které ho podporují

private.key nikdy nikomu nedávej. Pokud seznam podporuje v2, token je jednodušší volba: jeden řádek, žádný soubor s klíčem. BestMCServerList podporuje obojí, takže na své stránce Votifieru vyber, co se ti líbí.

Na jednom serveru nech disable-v1-protocol: false. Sám NuVotifier upozorňuje, že hodně seznamů umí jen v1.

Krok 4: Sítě s Velocity nebo BungeeCordem

Na síti se seznam připojuje k proxy. NuVotifier běží na proxy a přeposílá hlasy na backend servery, kde žije plugin na odměny. Wiki NuVotifieru pro většinu sítí doporučuje plugin messaging.

Proxy (Velocity)

plugins/nuvotifier/config.toml
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 BungeeCordu jsou stejné klíče v plugins/NuVotifier/config.yml ve formě YAML. cache = "file" uchová hlasy hráčů, kteří jsou offline, a doručí je později.

Každý backend server (Paper)

plugins/Votifier/config.yml
port: -1
forwarding:
  method: pluginMessaging
  pluginMessaging:
    channel: nuvotifier:votes

port: -1 vypne listener na backendu, takže hlasy přijímá jen proxy. Ujisti se, že tvoje backendy jsou dostupné jen přes proxy, jinak by někdo mohl posílat falešné hlasy.

Druhá možnost, method = "proxy", posílá hlasy z proxy na NuVotifier port každého backendu, nastavený adresou, portem a tokenem pro každý server pod [forwarding.proxy.<name>]. Nemá cache hlasů, takže plugin messaging obvykle sedí líp.

Krok 5: Zadej údaje a pošli testovací hlas

  1. Nejdřív testuj lokálně: /testvote Steve serviceName=BestMCServerList na Paperu, nebo /ptestvote se stejnými argumenty na proxy. Pokud tvůj plugin na odměny zareaguje, vnitřek funguje.
  2. Na BestMCServerList otevři svůj server na nástěnce a jdi na Votifier. Zadej veřejnou adresu serveru nebo proxy, port a token (v2) nebo veřejný klíč (v1) a ulož.
  3. Stiskni Poslat testovací hlas. Pošleme hlas pro TestVote, který se do žebříčku nepočítá, a protokol doručení během pár sekund ukáže, jestli dorazil.

Hlasy z BestMCServerList nesou název služby BestMCServerList. Bedrock hráči, kteří se připojují přes Geyser a Floodgate, hlasují pod jménem s prefixem, například .Steve, a jméno do NuVotifieru dorazí beze změny. Každé Minecraft jméno může hlasovat jednou za kalendářní den pro každý server, počítáno v čase Europe/Berlin.

Ještě nemáš server v seznamu? Nejdřív přidej svůj server a pak se k tomuto kroku vrať.

Časté chyby a jejich řešení

ProblémCo zkontrolovat
Connection refusedNuVotifier neběží nebo naslouchá na jiném portu. Porovnej port v configu s tím, co jsi zadal.
Timed outProvoz zahazuje firewall nebo hosting. Otevři port pro TCP nebo požádej hosting o port navíc.
Test dorazí, hráči nedostanou nicChybí plugin na odměny. Konzole vypíše A vote was received, but you don't have any listeners available to listen for it.
Hlas s v2 odmítnutToken nesedí. Zkopíruj tokens.default znovu, bez mezer a uvozovek.
Funguje na proxy, ne na backenduBackend není nastavený na pluginMessaging, nebo se liší názvy kanálů.
Zadaný špatný portMísto NuVotifieru odpovídá port Minecraftu. Použij Votifier port.

Jakmile hlasy dorazí, nastav odměny: náš návod na odměny za hlasování s VotingPluginem pokrývá název služby, VoteSites.yml a denní limity. Pro širší pohled si přečti, jak získat hráče pro nový server.

Časté otázky

Jaký port NuVotifier používá?

Ve výchozím stavu port 8192. V configu ho můžeš změnit, ale musí to být jiný port než port Minecraftu a musí být dostupný z internetu přes TCP.

Kde najdu token NuVotifieru?

V plugins/Votifier/config.yml pod tokens → default. Konzole ho taky vypíše při prvním startu.

Potřebuju NuVotifier na každém serveru své sítě?

S plugin messaging ano: na proxy, aby přijímal hlasy, a na každém backendu s forwarding.method: pluginMessaging a port: -1, aby je předal pluginu na odměny.

Mám použít v1, nebo v2?

Když to seznam podporuje, použij v2 s tokenem. v1 s veřejným RSA klíčem existuje pro starší sestavy. BestMCServerList podporuje obojí.

Dává NuVotifier odměny sám?

Ne. Jen přijímá hlasy. Musí na ně čekat plugin na odměny, třeba VotingPlugin.

Zdroje

Ověřeno podle oficiální dokumentace: