Preskoči na sadržaj

Postavljanje NuVotifiera na Paperu, Velocityju i BungeeCordu

NuVotifier je dio između liste servera i tvog plugina za nagrade: lista se za svaki glas spaja na njega, a on glas predaje pluginu koji dijeli nagradu. Ovaj vodič ga postavlja na jednom Paper serveru i u Velocity ili BungeeCord mreži, a zatim sve provjerava testnim glasom.

Ažurirano:

Kako Votifier isporučuje glas

  1. Igrač glasa za tvoj server na listi.
  2. Lista otvara TCP vezu prema tvom serveru na Votifier portu i šalje ime igrača, svoje ime servisa, adresu i vremensku oznaku.
  3. NuVotifier provjerava poruku (RSA ključ za v1, token za v2) i pokreće vote event.
  4. Plugin za nagrade kao VotingPlugin sluša taj event i daje nagradu.

Sam NuVotifier ne daje ništa. Dolazi bez ijednog listenera, pa ti za nagrade uvijek treba drugi plugin.

Korak 1: instaliraj NuVotifier na Paper ili Spigot

Stavi NuVotifier JAR u folder plugins i jednom pokreni server. On napravi svoj config, RSA par ključeva i token. Konzola pri prvom pokretanju ispiše 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 je adresa na kojoj NuVotifier sluša. Standardno uzima IP za koji je tvoj server podešen, ili 0.0.0.0 za sve interfejse.
  • port je Votifier port, standardno 8192. Ne smije biti Minecraft port.
  • tokens.default se koristi za svaku listu, osim ako dodaš token pod imenom servisa neke liste.
  • Ključevi za v1 se prave u plugins/Votifier/rsa/ kao public.key i private.key.

Korak 2: učini port dostupnim

Liste se spajaju s interneta, pa Votifier port mora biti otvoren za dolazne TCP veze. Ovdje pada većina postavki.

  • Dijeljeni hosting: mnogi paneli otvaraju samo port igre. Dodaj dodatni port u panelu i upiši tačno taj broj u port. Neki hostovi broj dodijele umjesto tebe.
  • Vlastiti VPS ili root server: dozvoli port u firewallu, na primjer ufw allow 8192/tcp.
  • Kod kuće: proslijedi port u ruteru na računar na kojem radi server.

Restartuj server nakon promjene configa. NuVotifier ima i /nvreload, koji radi iz konzole.

Korak 3: izaberi v1 (javni ključ) ili v2 (token)

Protokol v1Protokol v2
TajnaRSA par ključevaZajednički token
Šta lista trebaSadržaj rsa/public.keyToken iz tokens.default
PodrškaKlasični Votifier; govori ga većina listaNuVotifier i liste koje ga podržavaju

Nikad nikome ne daj private.key. Ako lista podržava v2, token je jednostavniji izbor: jedan red, bez datoteke s ključem. BestMCServerList podržava oba, pa izaberi šta ti odgovara na svojoj Votifier stranici.

Na jednom serveru ostavi disable-v1-protocol: false. I sam NuVotifier upozorava da mnoge liste govore samo v1.

Korak 4: Velocity ili BungeeCord mreže

U mreži se lista spaja na proxy. NuVotifier radi na proxyju i prosljeđuje glasove na backend servere na kojima je plugin za nagrade. NuVotifier wiki za većinu mreža preporuč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 su isti ključevi u plugins/NuVotifier/config.yml, u YAML obliku. cache = "file" čuva glasove za igrače koji su offline i isporučuje ih kasnije.

Svaki backend server (Paper)

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

port: -1 isključuje listener na backendu, pa glasove prima samo proxy. Pobrini se da su tvoji backendi dostupni samo preko proxyja, inače bi neko mogao slati lažne glasove.

Druga opcija, method = "proxy", šalje glasove s proxyja na NuVotifier port na svakom backendu, podešen s adresom, portom i tokenom po serveru pod [forwarding.proxy.<name>]. Nema keš glasova, pa je plugin messaging obično bolji izbor.

Korak 5: unesi podatke i pošalji testni glas

  1. Prvo testiraj lokalno: /testvote Steve serviceName=BestMCServerList na Paperu, ili /ptestvote s istim argumentima na proxyju. Ako tvoj plugin za nagrade reaguje, unutrašnji dio radi.
  2. Na BestMCServerList otvori svoj server na kontrolnoj ploči i idi na Votifier. Upiši javnu adresu servera ili proxyja, port i token (v2) ili javni ključ (v1), pa sačuvaj.
  3. Pritisni Pošalji testni glas. Šaljemo glas za TestVote koji se ne računa za rang-listu, a dnevnik isporuke za nekoliko sekundi pokazuje je li stigao.

Glasovi s BestMCServerList nose ime servisa BestMCServerList. Bedrock igrači koji uđu preko Geysera i Floodgatea glasaju sa svojim imenom s prefixom, na primjer .Steve, i to ime stiže do NuVotifiera nepromijenjeno. Svako Minecraft ime može glasati jednom po serveru i kalendarskom danu, računato po vremenu Europe/Berlin.

Još nisi na listi? Prvo dodaj svoj server, a onda se vrati na ovaj korak.

Česte greške i rješenja

ProblemŠta provjeriti
Connection refusedNuVotifier ne radi ili sluša na drugom portu. Uporedi port u configu s onim što si upisao.
Timed outFirewall ili host odbacuje saobraćaj. Otvori port za TCP ili zatraži od hosta dodatni port.
Test stigne, igrači ne dobiju ništaNema plugina za nagrade. Konzola ispiše A vote was received, but you don't have any listeners available to listen for it.
Glas odbijen kod v2Token se ne poklapa. Ponovo kopiraj tokens.default, bez razmaka i navodnika.
Radi na proxyju, ali ne na backenduBackend nije podešen na pluginMessaging, ili se imena kanala razlikuju.
Upisan pogrešan portUmjesto NuVotifiera odgovara Minecraft port. Koristi Votifier port.

Kad glasovi počnu stizati, postavi nagrade: naš vodič o nagradama za glasanje s VotingPluginom pokriva ime servisa, VoteSites.yml i dnevna ograničenja. Za širu sliku pogledaj kako dobiti igrače za novi server.

Često postavljana pitanja

Koji port koristi NuVotifier?

Standardno port 8192. Možeš ga promijeniti u configu, ali mora biti odvojen od Minecraft porta i dostupan s interneta preko TCP-a.

Gdje mogu naći NuVotifier token?

U plugins/Votifier/config.yml pod tokens → default. Konzola ga ispiše i pri prvom pokretanju.

Treba li mi NuVotifier na svakom serveru u mreži?

S plugin messagingom da: na proxyju da prima glasove, i na svakom backendu sa forwarding.method: pluginMessaging i port: -1 da ih preda pluginu za nagrade.

Trebam li koristiti v1 ili v2?

Koristi v2 s tokenom kad ga lista podržava. v1 s RSA javnim ključem postoji za starije postavke. BestMCServerList podržava oba.

Daje li NuVotifier sam nagrade?

Ne. On samo prima glasove. Plugin za nagrade kao VotingPlugin mora ih slušati.

Izvori

Provjereno prema zvaničnoj dokumentaciji: