Hogyan kézbesít a Votifier egy szavazatot
- Egy játékos szavaz a szerveredre egy listán.
- 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.
- A NuVotifier ellenőrzi az üzenetet (v1-nél RSA-kulccsal, v2-nél tokennel), és kivált egy szavazási eseményt.
- 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 ….
host: 0.0.0.0
port: 8192
disable-v1-protocol: false
tokens:
default: <generated token>
forwarding:
method: none
pluginMessaging:
channel: nuvotifier:votes- A
hostaz a cím, amelyen a NuVotifier figyel. Alapból azt az IP-t veszi, amelyre a szervered be van állítva, vagy0.0.0.0értéket az összes interfészhez. - A
porta Votifier-port, alapból8192. Nem lehet ugyanaz, mint a Minecraft-port. - A
tokens.defaultminden 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étrepublic.keyésprivate.keyné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
portmező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 protokoll | v2 protokoll | |
|---|---|---|
| Titok | RSA-kulcspár | Közös token |
| Mi kell a listának | Az rsa/public.key tartalma | A token a tokens.default értékből |
| Támogatás | Klasszikus Votifier; a legtöbb lista beszéli | NuVotifier é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)
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)
port: -1
forwarding:
method: pluginMessaging
pluginMessaging:
channel: nuvotifier:votesA 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
- Először tesztelj helyben:
/testvote Steve serviceName=BestMCServerListPaperen, vagy/ptestvoteugyanezekkel az argumentumokkal a proxyn. Ha a jutalom-pluginod reagál, a belső rész működik. - 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.
- Nyomd meg a Teszt szavazat küldése gombot. Egy szavazatot küldünk a
TestVotené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éma | Mit 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 semmit | Nincs 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ítja | Nem 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 nem | A backend nincs pluginMessaging módra állítva, vagy eltérnek a csatornanevek. |
| Rossz portot adtál meg | A 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.