Hogyan állíts be szavazási jutalmakat (Votifier, VotingPlugin és más)
Telepítsd a kísérő pluginot, állítsd be a Votifier-t az azonnali kézbesítéshez, vagy köss össze ezzel az oldallal VotingPlugin-t, SuperVotes-ot vagy SuperbVote-ot - pontosan azokkal az értékekkel, amiket ez az oldal valóban vár.

Minden jutalomplugin két dologra vár tőled: egy módra, amivel megtudja, hogy szavazás történt, és valamire, amit ilyenkor lefuttat. Ez a cikk mindkettőt végigveszi - az oldal saját kísérő pluginját, a Votifier-t az azonnali kézbesítéshez, és azt, mit tegyél, ha már VotingPlugin-t, SuperVotes-ot vagy más jutalompluginot használsz.
A opció: a VoxelRank plugin (ajánlott)
A kísérő plugin közvetlenül az oldal API-jával kommunikál. Votifier nem szükséges hozzá - rendszeres időközönként lekérdezi a be nem gyűjtött szavazatokat, így NAT mögött is működik, és pótolja mindazt, ami kimaradt, amíg a szerver le volt állva. A Votifier is elérhető, opcionális kiegészítőként az azonnali kézbesítéshez (lásd B opció).
- Töltsd le a jar fájlt az Irányítópultodról (a szervered kártyáján megjelenik egy letöltés gomb, amint elkészül egy build), vagy közvetlenül innen: /download/plugin.
- Tedd a
plugins/mappába, és indítsd el egyszer a szervert. Ez létrehozza aplugins/VotingSite/config.ymlfájlt. - Nyisd meg a szervered Szerkesztés oldalát → Jutalmak és szavazás fület, és másold ki az ott látható API-kulcsot.
- Illeszd be a
site.api-keymezőbe aconfig.yml-ben (ellenőrizd azt is, hogy asite.urlerre az oldalra mutat), majd futtasd a/votingsite reloadparancsot. - Döntsd el, hogyan érkezzenek hozzád a szavazatok a
modebeállításával aconfig.yml-ben:poll(alapértelmezett) - a plugin maga kérdezi le a be nem gyűjtött szavazatokat. Nincs más telepítendő.votifier- az oldal minden szavazatot azonnal elküld, amint leadták. NuVotifier-t vagy más Votifier listenert igényel (lásd B opció lent).both- Votifier push a lekérdezéssel mint biztonsági hálóval, a szavazat id-ja alapján duplikátumok nélkül.
- Töltsd ki a
rewards.commandsmezőt (és ha szeretnéd, amilestonesésvote-partymezőket is) azokkal a konzolparancsokkal, amelyeknek egy szavazatnál le kell futniuk. - Teszteld: a
/votingsite testvote <player>szimulál egy szavazatot anélkül, hogy valódira kellene várni. A/votingsite statusmegmutatja a módot, hogy elfogadja-e az API-kulcsot, és eddig hány szavazatot kézbesített.
A játékosok a szavazási linküket és számlálójukat a /voxelrank vote paranccsal kapják meg - nem a /vote-tal, amit ez a plugin szándékosan sosem foglal le (két plugin, amely ugyanazon a parancson osztozik, pontosan így szűnik meg egy jutalom csendben működni - lásd a config.yml saját megjegyzését erről).
B opció: azonnali kézbesítés NuVotifier-rel
Hagyd ki ezt a részt, ha a poll mód eddig is jól működött neked - nem kötelező. Add hozzá, ha számít az a néhány perces késleltetés a lekérdezés miatt, vagy ha inkább egy dedikált jutalompluginot futtatnál az oldal sajátja helyett.
A NuVotifier az eredeti Votifier aktívan karbantartott forkja - az eredeti projekt mára lényegében karbantartás nélkül maradt, így a „Votifier telepítése" a gyakorlatban a NuVotifier (vagy egy kompatibilis fork, mint a VotifierPlus) telepítését jelenti.
- Tedd a NuVotifier jar fájlját a
plugins/mappába, és indítsd újra a szervert. Bukkit/Spigot/Paper szerveren a visszafelé kompatibilitás miatt megtartja a klasszikusplugins/Votifier/mappanevet - ez a NuVotifier saját mappája, nem a régi plugin maradványa -, és az első induláskor generál benne egyconfig.ymlfájlt, valamint egy kulcspárt azrsa/mappában. - Szerezd meg a hitelesítő adataidat a
plugins/Votifier/config.yml-ből: a v2 token (ajánlott) automatikusan generálódik adefaultkulcs alatt atokens:szekcióban - másold ki változtatás nélkül. Ha inkább a régebbi módszert használnád, a v1 nyilvános kulcs aplugins/Votifier/rsa/public.keyfájlban van; a hozzá tartozóprivate.key-t tartsd ugyanabban a mappában a szerveren, és soha ne oszd meg senkivel. - Ellenőrizd, melyik
port-on figyel a NuVotifier (alapértelmezetten8192), és győződj meg róla, hogy nyitva van a tűzfaladban vagy a hosting panelen - ez egy másik port, mint a szokásos Minecraft port, és a legtöbb szolgáltató nem nyitja meg automatikusan. - A szervered Szerkesztés oldalán → Jutalmak és szavazás fülön add meg a Votifier hostot (a szervered címét) és ezt a portot, majd illeszd be a 2. lépésből a v2 tokent vagy a v1 kulcsot. Ha mindkettőt kitöltöd, csak az egyik lesz használva - a v2 élvez elsőbbséget.
- Kattints a Tesztszavazat küldése gombra, közvetlenül ezen a fülön. Ez egy valódi Votifier csomagot küld arra a hostra/portra/kulcsra/tokenre, ami éppen az űrlapon szerepel - előtte semmit nem kell menteni -, és rögtön visszajelzi, elfogadta-e a NuVotifier. Ha nem sikerül, a NuVotifier saját konzolnaplója (alapértelmezetten
debug: true) megmutatja, hogy a kapcsolat egyáltalán eljutott-e a pluginhoz, ami gyorsan elkülöníti a „rossz kulcsot" a „blokkolt porttól". - Mentsd el, majd adj le egy valódi szavazatot, és ellenőrizd, hogy a jutalom azonnal megérkezik-e a következő lekérdezés helyett.
A háttérben ez az oldal egy szabványos VOTIFIER 2 handshake-et küld HMAC-cal aláírt JSON payloaddal, ha be van állítva egy v2 token, egyébként pedig visszaesik a klasszikus, RSA-val titkosított v1 blokkra - ugyanaz a protokoll, amit bármely Votifier-kompatibilis listener már ismer, semmi oldalspecifikus nincs benne.
Már használod a VotingPlugint?
Ha a szervereden már fut a VotingPlugin, nem kell telepítened a miénket - és kézzel sem kell hozzáadnod ezt az oldalt, mert a VotingPlugin-ban van rá karbantartott preset.
Futtasd ezt a játékban operátorként (vagy a VotingPlugin.Commands.AdminVote.VotePresets joggal):
/av VotePresets
A VotingPlugin letölti a jelenlegi preset listát a saját VotingPlugin-Presets repójából, hagy választani egyet - a VoxelRank is köztük van -, majd bekéri azokat az értékeket, amikre az adott presetnek szüksége van: megjelenítendő név, a hirdetésed szavazási URL-je, szavazások közti késleltetés és hasonlók. Vagy ugorj egyenesen a saját szavazási linkeddel:
/av VotePresets https://voxelrank.com/server/your-slug/vote
Add meg a https://-t is; a VotingPlugin automatikusan a megfelelő presethez rendeli a hostnevet, ahelyett hogy listából kellene kikeresned.
Bármelyik módon is, kiírja vagy frissíti a megfelelő bejegyzést a VoteSites: alatt a VoteSites.yml-ben - ServiceSite, VoteURL, ésszerű alapértelmezett késleltetések, valamint egy helykitöltő megjelenítési elem vagy köszönőüzenet, ha az oldalnak még nincs sajátja -, majd újratölti neked a szavazási oldalakat. Minden más, ami már a fájlban van, változatlan marad. Készíts előbb biztonsági mentést a VoteSites.yml-ről, ha egy már bevált beállítást módosítasz, nem egy újat adsz hozzá, és nézd át, mit írt bele - főleg a jutalmakat, mivel a preset kiindulópont, nem kész konfiguráció -, mielőtt a játékosoknak hirdetnéd.
A VotingPlugin-nak továbbra is szüksége van a saját Votifier kapcsolatára ahhoz, hogy ténylegesen fogadja a szavazatokat - irányítsd ugyanarra a NuVotifier beállításra, mint a fenti B opcióban. Emellett a szervernek el kell érnie a GitHubot (raw.githubusercontent.com) is, hogy egyáltalán letöltse a preseteket; ha a /av VotePresets azt jelzi, hogy nincs elérhető preset, az hálózati vagy tűzfalprobléma a szerveren, nem hiányzó preset. A /av gui, vagy a VoteSites.yml közvetlen szerkesztése továbbra is működik tartalékként - a ServiceSite-nak pontosan VoxelRank.com-nak kell lennie, amit egy valódi vagy admin tesztszavazat után a /av servicesites paranccsal ellenőrizhetsz.
Más jutalompluginok
Valami a VotingPlugin-nál könnyebbet használsz? A SuperVotes és a SuperbVote is egy-egy könnyű Votifier listener saját vote-party és jutalomparancs-rendszerrel. Egyikük sem tart nyilván oldalankénti presetet úgy, ahogy a VotingPlugin - irányítsd bármelyiket ugyanarra a Votifier hostra, portra és v2 tokenre (vagy v1 kulcsra) a fenti Jutalmak és szavazás fülről, és állítsd be a jutalmait ugyanúgy, mint bármelyik másik szavazásnál.
Hibaelhárítás
- Nem történik semmi a
/votingsite testvote-nál. Először ellenőrizd a/votingsite status-t - ha az API-kulcsot nem fogadja el, a szavazatoknak (valódinak vagy tesztnek egyaránt) nincs hová menniük. Másold ki újra a Szerkesztés oldalról, és győződj meg róla, hogy nincs felesleges szóköz a végén. - A Votifier push sosem érkezik meg, de a lekérdezés működik. Általában a Votifier port van blokkolva, nem az API - a legtöbb hosting alapból megnyitja a kimenő HTTP forgalmat, de nem egy tetszőleges extra bejövő portot. A
mode: both(vagy egy másik jutalomplugin listenerének külön futtatása) ésszerű, tartós tartalék megoldás ahelyett, hogy a tűzfallal küzdenél. - A jutalom elsül, de a játékban semmi sem történik. A jutalomparancsok a konzolon futnak, így egy olyan parancs, amely csak akkor működik, ha egy játékos gépeli be (nincs jogosultság, nincs
op), csendben elhasal. Először a pontos parancsot teszteld a konzolról. - A VotingPlugin "invalid service site" hibát naplóz, vagy sosem párosítja a szavazatot. A
ServiceSiteértékének karakterre pontosan egyeznie kell, a kis-nagybetűktől eltekintve. Ellenőrizd a/av servicesitesparanccsal, ahelyett hogy az oldal domainneve alapján találgatnál. - A
/av VotePresetsazt mondja, nincs elérhető preset, vagy egy URL semmivel sem egyezik. Futásidőben tölti le a preset listát a GitHubról, tehát szinte mindig a szerver saját hálózata - tűzfal, proxy, DNS vagy egy GitHub-kimaradás - blokkolja araw.githubusercontent.com-ot, nem az a jel, hogy a VoxelRank-ot kivették a listából. Az URL alapú egyezéshez a teljes címre is szükség van, ahttps://-vel együtt; a puszta hostneveket nem ismeri fel. - A Jutalmak és szavazás fülön a beállítások mintha nem mentődnének. Csak egy igényelt hirdetésre vonatkoznak - lásd az Igényelt szűrőt a szerverlistában. Egy importált, nem igényelt bejegyzésnek még nincs tulajdonosa, akinek jutalmakat lehetne beállítani; előbb igényeld.
Gyors válaszok
Egyáltalán szükségem van Votifier-re?
Nem. A poll mód (a VoxelRank plugin alapértelmezettje) semmi más telepítése nélkül működik - a Votifier csak lerövidíti a késleltetést a szavazat és a jutalom között, és ez az egyetlen belépési pont, ha inkább VotingPlugin-t, SuperVotes-ot vagy SuperbVote-ot futtatnál helyette.
Használhatom egyszerre a pluginunkat és a VotingPlugin-t?
Ugyanarra a jutalomra nem - válaszd ki az egyiket, amelyik ténylegesen lefuttatja a jutalomparancsokat, különben egy szavazat duplán is kifizetődhet. Maga a Votifier akár több listenert is értesíthet, tehát ez egy „ne állítsd be kétszer ugyanazt a jutalmat" szabály, nem technikai korlát.
A szolgáltatóm nem engedi extra portok nyitását a Votifier-hez.
Használd a poll módot a VoxelRank pluginnal. Ez csak kimenő kéréseket indít, tehát nincs mit megnyitni. A VotingPlugin és a hasonló jutalompluginok nem rendelkeznek a lekérdezéses mód megfelelőjével - bejövő Votifier portra van szükségük.
Segítségre van szükséged?
Elakadtál egy fenti lépésnél, vagy valami nem egyezik azzal, amit a szervered ténylegesen küld? Lépj kapcsolatba velünk - a szavazásokkal/jutalmakkal kapcsolatos kérdések leggyorsabb útjai ott vannak felsorolva.