Vai al contenuto

Configurare NuVotifier su Paper, Velocity e BungeeCord

NuVotifier è il pezzo tra una lista server e il tuo plugin delle ricompense: la lista si collega a lui a ogni voto, e lui passa il voto al plugin che dà la ricompensa. Questa guida lo configura su un singolo server Paper e su un network Velocity o BungeeCord, poi controlla tutto con un voto di prova.

Aggiornato:

Come Votifier consegna un voto

  1. Un giocatore vota il tuo server su una lista.
  2. La lista apre una connessione TCP verso il tuo server sulla porta Votifier e invia il nome del giocatore, il proprio service name, un indirizzo e un timestamp.
  3. NuVotifier controlla il messaggio (chiave RSA per v1, token per v2) e lancia un evento di voto.
  4. Un plugin delle ricompense come VotingPlugin resta in ascolto di quell’evento e dà la ricompensa.

NuVotifier da solo non dà niente. Non include nessun listener, quindi ti serve sempre un secondo plugin per le ricompense.

Passo 1: installa NuVotifier su Paper o Spigot

Metti il JAR di NuVotifier nella cartella plugins e avvia il server una volta. Crea la sua config, una coppia di chiavi RSA e un token. Al primo avvio la console stampa il token: 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 è l’indirizzo su cui NuVotifier resta in ascolto. Di default prende l’IP per cui è configurato il tuo server, oppure 0.0.0.0 per tutte le interfacce.
  • port è la porta Votifier, di default 8192. Non deve essere la porta di Minecraft.
  • tokens.default viene usato per ogni lista, a meno che tu non aggiunga un token sotto il service name di una lista.
  • Le chiavi per v1 vengono create in plugins/Votifier/rsa/ come public.key e private.key.

Passo 2: rendi raggiungibile la porta

Le liste si collegano da internet, quindi la porta Votifier deve essere aperta alle connessioni TCP in entrata. È qui che falliscono la maggior parte delle configurazioni.

  • Hosting condiviso: molti pannelli aprono solo la porta di gioco. Aggiungi una porta extra nel pannello e metti esattamente quel numero in port. Alcuni hosting assegnano il numero al posto tuo.
  • VPS o server dedicato tuo: consenti la porta nel firewall, per esempio ufw allow 8192/tcp.
  • A casa: inoltra la porta nel router verso la macchina su cui gira il server.

Riavvia il server dopo aver modificato la config. NuVotifier ha anche /nvreload, che si può eseguire dalla console.

Passo 3: scegli v1 (chiave pubblica) o v2 (token)

Protocollo v1Protocollo v2
SegretoCoppia di chiavi RSAToken condiviso
Cosa serve alla listaIl contenuto di rsa/public.keyIl token da tokens.default
SupportoVotifier classico; lo parlano quasi tutte le listeNuVotifier e le liste che lo supportano

Non dare mai a nessuno private.key. Se una lista supporta v2, il token è la scelta più semplice: una riga, nessun file di chiave. BestMCServerList li supporta entrambi, quindi scegli quello che preferisci nella tua pagina Votifier.

Su un singolo server lascia disable-v1-protocol: false. È NuVotifier stesso ad avvertire che molte liste parlano solo v1.

Passo 4: network Velocity o BungeeCord

In un network la lista si collega al proxy. NuVotifier gira sul proxy e inoltra i voti ai server backend dove si trova il plugin delle ricompense. La wiki di NuVotifier consiglia il plugin messaging per la maggior parte dei network.

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"

Su BungeeCord le stesse chiavi stanno in plugins/NuVotifier/config.yml in formato YAML. cache = "file" conserva i voti dei giocatori offline e li consegna più tardi.

Ogni server backend (Paper)

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

port: -1 disattiva il listener sul backend, così solo il proxy riceve i voti. Assicurati che i tuoi backend siano raggiungibili solo tramite il proxy, altrimenti qualcuno potrebbe inviare voti falsi.

L’altra opzione, method = "proxy", invia i voti dal proxy a una porta NuVotifier su ogni backend, configurata con indirizzo, porta e token per ogni server sotto [forwarding.proxy.<name>]. Non ha una cache dei voti, quindi di solito il plugin messaging è la scelta migliore.

Passo 5: inserisci i dati e invia un voto di prova

  1. Prima prova in locale: /testvote Steve serviceName=BestMCServerList su Paper, oppure /ptestvote con gli stessi argomenti sul proxy. Se il plugin delle ricompense reagisce, la parte interna funziona.
  2. Su BestMCServerList apri il tuo server nella dashboard e vai su Votifier. Inserisci l’indirizzo pubblico del server o del proxy, la porta e il token (v2) o la chiave pubblica (v1), poi salva.
  3. Premi Invia voto di prova. Inviamo un voto per TestVote che non conta per la classifica, e il registro consegne ti mostra in pochi secondi se è arrivato.

I voti da BestMCServerList hanno il service name BestMCServerList. I giocatori Bedrock che entrano tramite Geyser e Floodgate votano con il nome con prefisso, per esempio .Steve, e il nome arriva a NuVotifier invariato. Ogni nome Minecraft può votare una volta per server per giorno di calendario, contato con l’ora di Europe/Berlin.

Non sei ancora nella lista? Prima aggiungi il tuo server, poi torna a questo passo.

Errori comuni e soluzioni

ProblemaCosa controllare
Connessione rifiutataNuVotifier non è attivo o ascolta su un’altra porta. Confronta la porta nella config con quella che hai inserito.
TimeoutUn firewall o l’hosting blocca il traffico. Apri la porta per TCP o chiedi all’hosting una porta extra.
Il test arriva, i giocatori non ricevono nienteNessun plugin delle ricompense. La console registra A vote was received, but you don't have any listeners available to listen for it.
Voto rifiutato con v2Il token non corrisponde. Copia di nuovo tokens.default, senza spazi né virgolette.
Funziona sul proxy, non sul backendIl backend non è impostato su pluginMessaging, oppure i nomi dei canali sono diversi.
Porta sbagliata inseritaRisponde la porta di Minecraft invece di NuVotifier. Usa la porta Votifier.

Quando i voti arrivano, configura le ricompense: la nostra guida alle ricompense per i voti con VotingPlugin copre il service name, VoteSites.yml e i limiti giornalieri. Per il quadro generale, vedi come trovare giocatori per un nuovo server.

Domande frequenti

Quale porta usa NuVotifier?

Di default la porta 8192. Puoi cambiarla nella config, ma deve essere una porta separata da quella di Minecraft e raggiungibile da internet via TCP.

Dove trovo il token di NuVotifier?

In plugins/Votifier/config.yml sotto tokens → default. La console lo stampa anche al primo avvio.

Mi serve NuVotifier su ogni server del mio network?

Con il plugin messaging sì: sul proxy per ricevere i voti, e su ogni backend con forwarding.method: pluginMessaging e port: -1 per passarli al plugin delle ricompense.

Meglio v1 o v2?

Usa v2 con un token quando la lista lo supporta. v1 con la chiave pubblica RSA esiste per le configurazioni più vecchie. BestMCServerList li supporta entrambi.

NuVotifier dà le ricompense da solo?

No. Riceve solo i voti. Un plugin delle ricompense come VotingPlugin deve restare in ascolto.

Fonti

Verificato sulla documentazione ufficiale: