Salta al contingut

Configurar NuVotifier a Paper, Velocity i BungeeCord

NuVotifier és la peça entre una llista de servidors i el teu plugin de recompenses: la llista s’hi connecta amb cada vot, i ell passa el vot al plugin que dona la recompensa. Aquesta guia el configura en un sol servidor Paper i en una xarxa amb Velocity o BungeeCord, i després ho comprova tot amb un vot de prova.

Actualitzat:

Com entrega Votifier un vot

  1. Un jugador vota pel teu servidor en una llista.
  2. La llista obre una connexió TCP amb el teu servidor al port de Votifier i envia el nom del jugador, el seu propi nom de servei, una adreça i una marca de temps.
  3. NuVotifier comprova el missatge (clau RSA a v1, token a v2) i llança un esdeveniment de vot.
  4. Un plugin de recompenses com VotingPlugin escolta aquest esdeveniment i dona la recompensa.

NuVotifier tot sol no dona res. Ve sense cap listener, així que sempre necessites un segon plugin per a les recompenses.

Pas 1: instal·lar NuVotifier a Paper o Spigot

Posa el JAR de NuVotifier a la carpeta plugins i arrenca el servidor una vegada. Crea la seva configuració, un parell de claus RSA i un token. La consola mostra el token en la primera arrencada: 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 és l’adreça on escolta NuVotifier. Per defecte agafa la IP configurada al teu servidor, o 0.0.0.0 per a totes les interfícies.
  • port és el port de Votifier, 8192 per defecte. No pot ser el port de Minecraft.
  • tokens.default es fa servir per a totes les llistes, tret que afegeixis un token sota el nom de servei d’una llista.
  • Les claus per a v1 es creen a plugins/Votifier/rsa/ com a public.key i private.key.

Pas 2: fer accessible el port de Votifier

Les llistes es connecten des d’internet, així que el port de Votifier ha d’estar obert a connexions TCP entrants. Aquí és on fallen la majoria de configuracions.

  • Hosting compartit: molts panells només obren el port del joc. Afegeix un port extra al panell i posa exactament aquest número a port. Alguns hostings t’assignen el número.
  • VPS o servidor dedicat propi: permet el port al tallafoc, per exemple ufw allow 8192/tcp.
  • A casa: redirigeix el port al teu router cap a l’ordinador on funciona el servidor.

Reinicia el servidor després de canviar la configuració. NuVotifier també té /nvreload, que s’executa des de la consola.

Pas 3: triar v1 (clau pública) o v2 (token)

Protocol v1Protocol v2
SecretParell de claus RSAToken compartit
Què necessita la llistaContingut de rsa/public.keyEl token de tokens.default
CompatibilitatVotifier clàssic; la majoria de llistes el fan servirNuVotifier i les llistes que l’admeten

No donis mai a ningú private.key. Si una llista admet v2, el token és l’opció més senzilla: una línia, sense fitxer de clau. BestMCServerList admet totes dues, així que tria la que prefereixis a la teva pàgina de Votifier.

Deixa disable-v1-protocol: false en un servidor únic. El mateix NuVotifier avisa que moltes llistes només parlen v1.

Pas 4: Votifier amb Velocity o BungeeCord

En una xarxa, la llista es connecta al proxy. NuVotifier funciona al proxy i reenvia els vots als servidors backend, on és el plugin de recompenses. La wiki de NuVotifier recomana plugin messaging per a la majoria de xarxes.

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"

A BungeeCord les mateixes claus són a plugins/NuVotifier/config.yml, en format YAML. cache = "file" desa els vots dels jugadors desconnectats i els entrega més tard.

Cada servidor backend (Paper)

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

port: -1 desactiva el listener al backend, així que només el proxy rep vots. Assegura’t que els teus backends només siguin accessibles a través del proxy, o algú podria enviar vots falsos.

L’altra opció, method = "proxy", envia els vots des del proxy a un port de NuVotifier a cada backend, configurat amb adreça, port i token per servidor sota [forwarding.proxy.<name>]. No té memòria cau de vots, així que plugin messaging sol encaixar millor.

Pas 5: introduir les dades i enviar un vot de prova

  1. Prova primer en local: /testvote Steve serviceName=BestMCServerList a Paper, o /ptestvote amb els mateixos arguments al proxy. Si el teu plugin de recompenses reacciona, la part interna funciona.
  2. A BestMCServerList, obre el teu servidor al tauler i ves a Votifier. Escriu l’adreça pública del servidor o del proxy, el port i el token (v2) o la clau pública (v1), i desa.
  3. Prem Envia un vot de prova. Enviem un vot per a TestVote que no compta per al rànquing, i el registre d’entregues mostra en segons si ha arribat.

Els vots de BestMCServerList porten el nom de servei BestMCServerList. Els jugadors de Bedrock que entren amb Geyser i Floodgate voten amb el seu nom amb prefix, per exemple .Steve, i el nom arriba a NuVotifier sense canvis. Cada nom de Minecraft pot votar una vegada per servidor i dia natural, comptat en horari d’Europe/Berlin.

Encara no ets a la llista? Primer afegeix el teu servidor i després torna a aquest pas.

Errors freqüents i solucions

ProblemaQuè cal revisar
Connexió rebutjadaNuVotifier no funciona o escolta en un altre port. Compara el port de la configuració amb el que has introduït.
Temps d’espera esgotatUn tallafoc o el hosting bloqueja el trànsit. Obre el port per a TCP o demana un port extra al teu hosting.
La prova arriba, els jugadors no reben resNo hi ha plugin de recompenses. La consola registra A vote was received, but you don't have any listeners available to listen for it.
Vot rebutjat amb v2El token no coincideix. Torna a copiar tokens.default, sense espais ni cometes.
Funciona al proxy, no al backendEl backend no està a pluginMessaging, o els noms de canal no coincideixen.
Port equivocatRespon el port de Minecraft en lloc de NuVotifier. Fes servir el port de Votifier.

Quan arribin els vots, configura les recompenses: la nostra guia de recompenses per votar amb VotingPlugin explica el nom de servei, VoteSites.yml i els límits diaris. Per veure el panorama complet, llegeix com aconseguir jugadors per a un servidor nou.

Preguntes freqüents

Quin port fa servir NuVotifier?

El port 8192 per defecte. El pots canviar a la configuració, però ha de ser diferent del port de Minecraft i accessible des d’internet per TCP.

On trobo el token de NuVotifier?

A plugins/Votifier/config.yml, sota tokens → default. La consola també el mostra en la primera arrencada.

Necessito NuVotifier a tots els servidors de la meva xarxa?

Amb plugin messaging, sí: al proxy per rebre els vots, i a cada backend amb forwarding.method: pluginMessaging i port: -1 per passar-los al plugin de recompenses.

Faig servir v1 o v2?

Fes servir v2 amb token quan la llista ho admeti. v1 amb la clau pública RSA existeix per a configuracions antigues. BestMCServerList admet totes dues.

NuVotifier dona recompenses tot sol?

No. Només rep vots. Un plugin de recompenses com VotingPlugin els ha d’escoltar.

Fonts

Revisat amb la documentació oficial: