Pereiti prie turinio

NuVotifier sąranka Paper, Velocity ir BungeeCord

NuVotifier yra grandis tarp serverių sąrašo ir tavo prizų plugino: sąrašas prie jo prisijungia dėl kiekvieno balso, o jis perduoda balsą tam pluginui, kuris duoda prizą. Šiame gide jį nustatysime viename Paper serveryje ir Velocity ar BungeeCord tinkle, o tada viską patikrinsime bandomuoju balsu.

Atnaujinta:

Kaip Votifier pristato balsą

  1. Žaidėjas sąraše balsuoja už tavo serverį.
  2. Sąrašas atidaro TCP ryšį su tavo serveriu Votifier prievadu ir nusiunčia žaidėjo vardą, savo service name, adresą ir laiko žymą.
  3. NuVotifier patikrina žinutę (v1 – RSA raktu, v2 – tokenu) ir sukelia balsavimo įvykį.
  4. Prizų pluginas, pavyzdžiui, VotingPlugin, klauso to įvykio ir duoda prizą.

Pats NuVotifier nieko neduoda. Jis ateina be jokio listenerio, todėl prizams visada reikia antro plugino.

1 žingsnis: įdiek NuVotifier Paper arba Spigot serveryje

Įdėk NuVotifier JAR į aplanką plugins ir vieną kartą paleisk serverį. Jis sukuria savo konfigūraciją, RSA raktų porą ir tokeną. Pirmą kartą paleidus konsolė parodo 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 yra adresas, kuriuo klauso NuVotifier. Numatytai jis paima IP, kuriam sukonfigūruotas tavo serveris, arba 0.0.0.0 visoms sąsajoms.
  • port yra Votifier prievadas, numatytai 8192. Tai negali būti Minecraft prievadas.
  • tokens.default naudojamas kiekvienam sąrašui, nebent pridėsi tokeną po sąrašo service name.
  • v1 raktai sukuriami aplanke plugins/Votifier/rsa/ kaip public.key ir private.key.

2 žingsnis: padaryk prievadą pasiekiamą

Sąrašai jungiasi iš interneto, todėl Votifier prievadas turi būti atviras įeinantiems TCP ryšiams. Būtent čia dauguma sąrankų ir sužlunga.

  • Bendras hostingas: daug panelių atidaro tik žaidimo prievadą. Panelėje pridėk papildomą prievadą ir įrašyk būtent tą skaičių į port. Kai kurie hostingai skaičių priskiria patys.
  • Savas VPS ar root serveris: leisk prievadą ugniasienėje, pavyzdžiui, ufw allow 8192/tcp.
  • Namuose: maršrutizatoriuje peradresuok prievadą į kompiuterį, kuriame veikia serveris.

Pakeitęs konfigūraciją, perkrauk serverį. NuVotifier taip pat turi /nvreload, kuris veikia iš konsolės.

3 žingsnis: pasirink v1 (viešasis raktas) arba v2 (tokenas)

Protokolas v1Protokolas v2
PaslaptisRSA raktų poraBendras tokenas
Ko reikia sąrašuiFailo rsa/public.key turinioTokeno iš tokens.default
PalaikymasKlasikinis Votifier; jį supranta dauguma sąrašųNuVotifier ir jį palaikantys sąrašai

Niekada niekam neduok private.key. Jei sąrašas palaiko v2, tokenas yra paprastesnis pasirinkimas: viena eilutė, jokio rakto failo. BestMCServerList palaiko abu, tad savo Votifier puslapyje rinkis, kas tau patinka.

Viename serveryje palik disable-v1-protocol: false. Pats NuVotifier įspėja, kad daug sąrašų supranta tik v1.

4 žingsnis: Velocity arba BungeeCord tinklai

Tinkle sąrašas jungiasi prie proxy. NuVotifier veikia proxy ir persiunčia balsus backend serveriams, kuriuose yra prizų pluginas. NuVotifier wiki daugumai tinklų rekomenduoja 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"

BungeeCord tie patys raktai yra faile plugins/NuVotifier/config.yml YAML formatu. cache = "file" išsaugo neprisijungusių žaidėjų balsus ir pristato juos vėliau.

Kiekvienas backend serveris (Paper)

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

port: -1 išjungia listenerį backend serveryje, todėl balsus gauna tik proxy. Įsitikink, kad tavo backend serveriai pasiekiami tik per proxy, kitaip kas nors galėtų siųsti netikrus balsus.

Kitas variantas, method = "proxy", siunčia balsus iš proxy į NuVotifier prievadą kiekviename backend serveryje; adresas, prievadas ir tokenas kiekvienam serveriui nustatomi po [forwarding.proxy.<name>]. Jis neturi balsų talpyklos, todėl plugin messaging paprastai tinka geriau.

5 žingsnis: įvesk duomenis ir nusiųsk bandomąjį balsą

  1. Pirmiausia išbandyk lokaliai: /testvote Steve serviceName=BestMCServerList Paper serveryje arba /ptestvote su tais pačiais argumentais proxy. Jei tavo prizų pluginas sureaguoja, vidinė dalis veikia.
  2. BestMCServerList valdymo skydelyje atidaryk savo serverį ir eik į Votifier. Įvesk viešą serverio ar proxy adresą, prievadą ir tokeną (v2) arba viešąjį raktą (v1), tada išsaugok.
  3. Spausk Siųsti bandomąjį balsą. Nusiunčiame balsą už TestVote, kuris neįskaičiuojamas į reitingą, o pristatymo žurnalas per kelias sekundes parodo, ar jis atėjo.

Balsai iš BestMCServerList turi service name BestMCServerList. Bedrock žaidėjai, kurie jungiasi per Geyser ir Floodgate, balsuoja su prefiksuotu vardu, pavyzdžiui, .Steve, ir vardas NuVotifier pasiekia nepakeistas. Kiekvienas Minecraft vardas gali balsuoti už serverį kartą per kalendorinę dieną, skaičiuojant Europe/Berlin laiku.

Dar nesi sąraše? Pirmiausia pridėk savo serverį, tada grįžk prie šio žingsnio.

Dažnos klaidos ir jų taisymas

ProblemaKą patikrinti
Connection refusedNuVotifier neveikia arba klauso kito prievado. Palygink prievadą konfigūracijoje su tuo, ką įvedei.
Timed outUgniasienė ar hostingas blokuoja srautą. Atidaryk prievadą TCP arba paprašyk hostingo papildomo prievado.
Testas ateina, žaidėjai nieko negaunaNėra prizų plugino. Konsolė rašo A vote was received, but you don't have any listeners available to listen for it.
Balsas su v2 atmestasTokenai nesutampa. Dar kartą nukopijuok tokens.default be tarpų ir kabučių.
Veikia proxy, bet ne backend serveryjeBackend serveris nenustatytas į pluginMessaging arba kanalų pavadinimai skiriasi.
Įvestas neteisingas prievadasVietoj NuVotifier atsako Minecraft prievadas. Naudok Votifier prievadą.

Kai balsai ateina, nustatyk prizus: mūsų gidas apie prizus už balsus su VotingPlugin aprašo service name, VoteSites.yml ir dienos limitus. Platesniam vaizdui žr., kaip gauti žaidėjų naujam serveriui.

Dažniausiai užduodami klausimai

Kokį prievadą naudoja NuVotifier?

Numatytai prievadą 8192. Gali jį pakeisti konfigūracijoje, bet jis turi būti atskiras nuo Minecraft prievado ir pasiekiamas iš interneto per TCP.

Kur rasti NuVotifier tokeną?

Faile plugins/Votifier/config.yml po tokens → default. Konsolė jį taip pat parodo pirmą kartą paleidus.

Ar man reikia NuVotifier kiekviename tinklo serveryje?

Su plugin messaging – taip: proxy, kad gautų balsus, ir kiekviename backend serveryje su forwarding.method: pluginMessaging ir port: -1, kad perduotų juos prizų pluginui.

Naudoti v1 ar v2?

Naudok v2 su tokenu, kai sąrašas jį palaiko. v1 su RSA viešuoju raktu skirtas senesnėms sąrankoms. BestMCServerList palaiko abu.

Ar NuVotifier pats duoda prizus?

Ne. Jis tik gauna balsus. Jų turi klausyti prizų pluginas, pavyzdžiui, VotingPlugin.

Šaltiniai

Patikrinta pagal oficialią dokumentaciją: