Ugrás a tartalomhoz

NuVotifier beállítása Paperen, Velocityn és BungeeCordon

A NuVotifier az összekötő elem egy szerverlista és a jutalom-pluginod között: a lista minden szavazatnál hozzá csatlakozik, ő pedig átadja a szavazatot annak a pluginnak, amelyik a jutalmat adja. Ez az útmutató beállítja egy önálló Paper szerveren és egy Velocity vagy BungeeCord networkön, aztán egy teszt szavazattal mindent ellenőriz.

Frissítve:

Hogyan kézbesít a Votifier egy szavazatot

  1. Egy játékos szavaz a szerveredre egy listán.
  2. A lista TCP-kapcsolatot nyit a szerveredhez a Votifier-porton, és elküldi a játékos nevét, a saját szolgáltatásnevét, egy címet és egy időbélyeget.
  3. A NuVotifier ellenőrzi az üzenetet (v1-nél RSA-kulccsal, v2-nél tokennel), és kivált egy szavazási eseményt.
  4. Egy jutalom-plugin, például a VotingPlugin, figyeli ezt az eseményt, és kiadja a jutalmat.

A NuVotifier maga semmit sem ad. Listener nélkül érkezik, így a jutalmakhoz mindig kell egy második plugin.

1. lépés: Telepítsd a NuVotifiert Paperre vagy Spigotra

Tedd a NuVotifier JAR-t a plugins mappába, és indítsd el egyszer a szervert. Létrehozza a configját, egy RSA-kulcspárt és egy tokent. A konzol első induláskor kiírja a tokent: 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
  • A host az a cím, amelyen a NuVotifier figyel. Alapból azt az IP-t veszi, amelyre a szervered be van állítva, vagy 0.0.0.0 értéket az összes interfészhez.
  • A port a Votifier-port, alapból 8192. Nem lehet ugyanaz, mint a Minecraft-port.
  • A tokens.default minden listához használatos, hacsak nem adsz meg tokent egy lista szolgáltatásneve alatt.
  • A v1 kulcsai a plugins/Votifier/rsa/ mappában jönnek létre public.key és private.key néven.

2. lépés: Tedd elérhetővé a portot

A listák az internetről csatlakoznak, így a Votifier-portnak nyitva kell lennie a bejövő TCP-kapcsolatok számára. A legtöbb beállítás itt bukik el.

  • Megosztott hosting: sok panel csak a játékportot nyitja meg. Adj hozzá egy extra portot a panelen, és pontosan ezt a számot írd a port mezőbe. Egyes hostok maguk osztják ki a számot.
  • Saját VPS vagy root szerver: engedélyezd a portot a tűzfalban, például ufw allow 8192/tcp.
  • Otthon: irányítsd át a portot a routerben arra a gépre, amelyen a szerver fut.

A config módosítása után indítsd újra a szervert. A NuVotifiernek van /nvreload parancsa is, ami a konzolból fut.

3. lépés: Válassz v1 (nyilvános kulcs) vagy v2 (token) között

v1 protokollv2 protokoll
TitokRSA-kulcspárKözös token
Mi kell a listánakAz rsa/public.key tartalmaA token a tokens.default értékből
TámogatásKlasszikus Votifier; a legtöbb lista beszéliNuVotifier és az azt támogató listák

A private.key fájlt soha senkinek ne add oda. Ha egy lista támogatja a v2-t, a token az egyszerűbb választás: egy sor, kulcsfájl nélkül. A BestMCServerList mindkettőt támogatja, úgyhogy válaszd azt, ami tetszik, a Votifier oldaladon.

Önálló szerveren hagyd disable-v1-protocol: false értéken. Maga a NuVotifier is figyelmeztet, hogy sok lista csak v1-et beszél.

4. lépés: Velocity vagy BungeeCord networkök

Networkön a lista a proxyhoz csatlakozik. A NuVotifier a proxyn fut, és továbbítja a szavazatokat a backend szerverekre, ahol a jutalom-plugin van. A NuVotifier wiki a legtöbb networkhöz a plugin messaginget ajánlja.

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"

BungeeCordon ugyanezek a kulcsok a plugins/NuVotifier/config.yml fájlban vannak, YAML formában. A cache = "file" megőrzi az offline játékosok szavazatait, és később kézbesíti őket.

Minden backend szerver (Paper)

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

A port: -1 kikapcsolja a listenert a backenden, így csak a proxy fogad szavazatokat. Gondoskodj róla, hogy a backendjeid csak a proxyn keresztül legyenek elérhetők, különben valaki kamu szavazatokat küldhet.

A másik lehetőség, a method = "proxy", a proxyról egy NuVotifier-portra küldi a szavazatokat minden backenden, szerverenként címmel, porttal és tokennel beállítva a [forwarding.proxy.<name>] alatt. Nincs szavazat-cache-e, ezért általában a plugin messaging a jobb választás.

5. lépés: Add meg az adatokat, és küldj teszt szavazatot

  1. Először tesztelj helyben: /testvote Steve serviceName=BestMCServerList Paperen, vagy /ptestvote ugyanezekkel az argumentumokkal a proxyn. Ha a jutalom-pluginod reagál, a belső rész működik.
  2. A BestMCServerListen nyisd meg a szervered a vezérlőpulton, és menj a Votifier részhez. Add meg a szerver vagy a proxy nyilvános címét, a portot és a tokent (v2) vagy a nyilvános kulcsot (v1), aztán ments.
  3. Nyomd meg a Teszt szavazat küldése gombot. Egy szavazatot küldünk a TestVote névre, ami nem számít bele a rangsorba, és a kézbesítési napló másodperceken belül megmutatja, hogy megérkezett-e.

A BestMCServerList szavazatai a BestMCServerList szolgáltatásnevet viszik. A Geyseren és Floodgate-en keresztül csatlakozó Bedrock-játékosok az előtagos nevükkel szavaznak, például .Steve, és a név változatlanul jut el a NuVotifierhez. Minden Minecraft-név szerverenként naptári naponként egyszer szavazhat, Europe/Berlin idő szerint számolva.

Még nem vagy fent? Előbb add hozzá a szervered, aztán gyere vissza ehhez a lépéshez.

Gyakori hibák és javításuk

ProblémaMit ellenőrizz
Connection refused (kapcsolat elutasítva)A NuVotifier nem fut, vagy másik porton figyel. Hasonlítsd össze a configban lévő portot azzal, amit megadtál.
Timed out (időtúllépés)Egy tűzfal vagy a host eldobja a forgalmat. Nyisd meg a portot TCP-re, vagy kérj extra portot a hosttól.
A teszt megérkezik, a játékosok nem kapnak semmitNincs jutalom-plugin. A konzol ezt naplózza: A vote was received, but you don't have any listeners available to listen for it.
A szavazatot v2-nél elutasítjaNem egyezik a token. Másold ki újra a tokens.default értéket, szóközök és idézőjelek nélkül.
A proxyn működik, a backenden nemA backend nincs pluginMessaging módra állítva, vagy eltérnek a csatornanevek.
Rossz portot adtál megA NuVotifier helyett a Minecraft-port válaszol. A Votifier-portot használd.

Ha a szavazatok megérkeznek, állítsd be a jutalmakat: a szavazási jutalmak VotingPluginnal útmutatónk a szolgáltatásnévvel, a VoteSites.yml-lel és a napi korlátokkal foglalkozik. A nagyobb képhez lásd: hogyan szerezz játékosokat egy új szerverre.

Gyakori kérdések

Melyik portot használja a NuVotifier?

Alapból a 8192-es portot. A configban megváltoztathatod, de a Minecraft-porttól külön port legyen, és az internetről TCP-n elérhető.

Hol találom a NuVotifier tokent?

A plugins/Votifier/config.yml fájlban, a tokens → default alatt. A konzol első induláskor ki is írja.

Kell NuVotifier a networköm minden szerverére?

Plugin messaginggel igen: a proxyra a szavazatok fogadásához, és minden backendre forwarding.method: pluginMessaging és port: -1 beállítással, hogy átadja őket a jutalom-pluginnak.

v1-et vagy v2-t használjak?

Használj v2-t tokennel, ha a lista támogatja. A v1 RSA nyilvános kulccsal a régebbi beállításokhoz létezik. A BestMCServerList mindkettőt támogatja.

Ad a NuVotifier magától jutalmakat?

Nem. Csak fogadja a szavazatokat. Egy jutalom-pluginnak, például a VotingPluginnak kell figyelnie rájuk.

Források

A hivatalos dokumentációval ellenőrizve: