Ako nastaviť odmeny za hlasovanie (Votifier, VotingPlugin a ďalšie)

Nainštalujte si sprievodný plugin, nastavte Votifier pre okamžité doručenie, alebo namiesto toho pripojte k tejto stránke VotingPlugin, SuperVotes či SuperbVote - s presne takými hodnotami, aké táto stránka naozaj očakáva.

Každý odmeňovací plugin od vás potrebuje dve veci: spôsob, ako zistiť, že niekto hlasoval, a niečo, čo sa spustí, keď sa tak stane. Prejdeme si obe - sprievodný plugin tejto stránky, Votifier na okamžité doručenie a čo robiť, ak už používate VotingPlugin, SuperVotes alebo iný odmeňovací plugin.

Možnosť A: plugin VoxelRank (odporúčané)

Sprievodný plugin komunikuje priamo s API tejto stránky. Votifier nie je potrebný - funguje tak, že v pravidelných intervaloch zisťuje nevyzdvihnuté hlasy, takže funguje aj za NAT a dobehne všetko, čo sa zmeškalo, kým bol server vypnutý. Votifier je k dispozícii aj ako voliteľné doplnenie pre okamžité doručenie (pozri Možnosť B).

  1. Stiahnite si jar zo svojej Nástenky (karta vášho servera má tlačidlo Download, hneď ako existuje build), alebo priamo z /download/plugin.
  2. Vložte ho do plugins/ a raz spustite server. Tým sa vygeneruje plugins/VotingSite/config.yml.
  3. Otvorte stránku Upraviť svojho servera → záložku Odmeny a hlasovanie a skopírujte tam zobrazený API kľúč.
  4. Vložte ho do site.api-key v config.yml (skontrolujte aj, či site.url ukazuje na túto stránku), potom spustite /votingsite reload.
  5. Rozhodnite, ako majú hlasy k vám doputovať, nastavením mode v config.yml:
    • poll (predvolené) - plugin si sám sťahuje nevyzdvihnuté hlasy. Nič ďalšie netreba inštalovať.
    • votifier - stránka pošle každý hlas vo chvíli, keď je odovzdaný. Vyžaduje NuVotifier alebo iný Votifier listener (Možnosť B nižšie).
    • both - Votifier push spolu s dopytovaním ako poistka, hlasy sa neduplikujú vďaka ich id.
  6. Vyplňte rewards.commands (a ak chcete, aj milestones a vote-party) príkazmi pre konzolu, ktoré sa majú spustiť pri hlasovaní.
  7. Otestujte to: /votingsite testvote <player> nasimuluje hlas bez čakania na skutočný. /votingsite status ukáže režim, či je API kľúč akceptovaný a koľko hlasov už bolo doručených.

Hráči získajú odkaz na hlasovanie a svoj počet hlasov príkazom /voxelrank vote - nie /vote, ktorý si tento plugin zámerne nikdy nenárokuje (dva pluginy súperiace o rovnaký príkaz sú presne spôsob, akým odmena potichu prestane fungovať - pozri vlastnú poznámku v config.yml).

Možnosť B: okamžité doručenie cez NuVotifier

Túto časť preskočte, ak vám režim poll funguje dostatočne dobre - nie je povinný. Pridajte ho, ak vám záleží na tých pár minútach oneskorenia dopytovania, alebo ak radšej prevádzkujete samostatný odmeňovací plugin namiesto toho, čo ponúka táto stránka.

NuVotifier je aktívne udržiavaný fork pôvodného Votifieru - pôvodný projekt je dnes v podstate neudržiavaný, takže „inštalácia Votifieru" v praxi znamená NuVotifier (alebo kompatibilný fork ako VotifierPlus).

  1. Vložte jar NuVotifieru do plugins/ a reštartujte server. Na serveri typu Bukkit/Spigot/Paper si kvôli spätnej kompatibilite ponecháva klasický názov priečinka plugins/Votifier/ - je to vlastný priečinok NuVotifieru, nie pozostatok starého pluginu - a pri prvom spustení v ňom vygeneruje config.yml a pár kľúčov v priečinku rsa/.
  2. Prihlasovacie údaje nájdete v plugins/Votifier/config.yml: v2 token (odporúčané) sa automaticky vygeneruje pod kľúčom default v sekcii tokens: - skopírujte ho tak, ako je. Ak radšej použijete staršiu metódu, v1 verejný kľúč je v plugins/Votifier/rsa/public.key; zodpovedajúci private.key nechajte v rovnakom priečinku na serveri a nikdy ho nikam nezdieľajte.
  3. Skontrolujte port, na ktorom NuVotifier počúva (predvolene 8192), a overte, že je otvorený vo firewalle alebo v paneli hostingu - je to iný port ako bežný port Minecraftu a väčšina hostingov ho automaticky neotvára.
  4. Na stránke Upraviť svojho servera → záložke Odmeny a hlasovanie vyplňte host Votifieru (adresu svojho servera) a tento port, potom vložte v2 token alebo v1 kľúč z kroku 2. Ak vyplníte oboje, použije sa len jedno - prednosť má v2.
  5. Kliknite priamo na tejto záložke na Odoslať skúšobný hlas. Odošle sa skutočný Votifier paket na host/port/kľúč/token, ktoré sú práve vo formulári - najprv sa nič nemusí ukladať - a hneď zobrazí, či ho NuVotifier prijal. Ak zlyhá, vlastný konzolový log NuVotifieru (predvolene debug: true) ukáže, či spojenie vôbec dorazilo k pluginu, čo rýchlo odlíši „nesprávny kľúč" od „zablokovaného portu".
  6. Uložte, odovzdajte skutočný hlas a overte, že odmena dorazí hneď, nie až pri ďalšom dopytovaní.

Pod kapotou táto stránka posiela štandardný handshake VOTIFIER 2 s HMAC-podpísaným JSON payloadom, ak je nastavený v2 token, a inak sa vracia ku klasickému RSA šifrovanému v1 bloku - rovnaký protokol, aký už hovorí akýkoľvek Votifier-kompatibilný listener, nič špecifické pre túto stránku.

Už používate VotingPlugin?

Ak váš server už beží na VotingPlugin, náš plugin inštalovať nemusíte - a nemusíte túto stránku ani ručne pridávať do VotingPluginu, pretože preň existuje udržiavaný preset.

Spustite v hre ako operátor (alebo s oprávnením VotingPlugin.Commands.AdminVote.VotePresets):

/av VotePresets

VotingPlugin stiahne aktuálny zoznam presetov z vlastného repozitára VotingPlugin-Presets, necháte si jeden vybrať - VoxelRank je medzi nimi - a potom sa opýta na hodnoty, ktoré daný preset potrebuje: zobrazované meno, adresu hlasovania vášho inzerátu, oneskorenie medzi hlasmi a podobne. Alebo rovno preskočte na vlastný odkaz na hlasovanie:

/av VotePresets https://voxelrank.com/server/your-slug/vote

Vrátane https:// - VotingPlugin podľa domény sám nájde zodpovedajúci preset, namiesto toho, aby ste ho hľadali v zozname.

Tak či onak zapíše alebo aktualizuje zodpovedajúci záznam pod VoteSites: v VoteSites.yml - ServiceSite, VoteURL, rozumné predvolené oneskorenia a základný zobrazovací predmet alebo poďakovanie, ak ho stránka ešte nemá - a rovno hlasovacie stránky znovu načíta. Čokoľvek ďalšie v súbore ponechá bez zmeny. Ak upravujete zabehnuté nastavenie, nie čerstvo pridávanú stránku, najprv si VoteSites.yml zálohujte a skôr než odmenu ponúknete hráčom, skontrolujte, čo sa zapísalo - najmä odmeny, pretože preset je východiskový bod, nie hotová konfigurácia.

VotingPlugin stále potrebuje vlastné pripojenie Votifier, aby hlasy skutočne prijímal - nasmerujte ho na rovnaké nastavenie NuVotifieru z Možnosti B vyššie. Zároveň potrebuje, aby sa server dostal na GitHub (raw.githubusercontent.com) - inak presety vôbec nestiahne; ak /av VotePresets hlási, že žiadne presety nie sú k dispozícii, ide o problém so sieťou alebo firewallom na serveri, nie o chýbajúci preset. Ako záloha stále funguje /av gui, alebo priama úprava VoteSites.yml - ServiceSite musí znieť presne VoxelRank.com, čo overíte príkazom /av servicesites po skutočnom alebo administrátorskom skúšobnom hlase.

Ďalšie odmeňovacie pluginy

Prevádzkujete niečo menšie ako VotingPlugin? SuperVotes a SuperbVote sú oba odľahčené Votifier listenery s vlastným systémom vote party a odmeňovacích príkazov. Ani jeden nesleduje presety jednotlivých stránok tak ako VotingPlugin - nasmerujte ktorýkoľvek z nich na rovnaký Votifier host, port a v2 token (alebo v1 kľúč) zo záložky Odmeny a hlasovanie vyššie a nastavte jeho odmeny rovnako ako pri akomkoľvek inom hlasovaní.

Riešenie problémov

  • Na /votingsite testvote sa nič nedeje. Najprv skontrolujte /votingsite status - ak API kľúč nie je akceptovaný, hlasy (skutočné aj skúšobné) nemajú kam ísť. Skopírujte ho znovu zo stránky Upraviť a overte, že za ním nie je medzera navyše.
  • Votifier push nikdy nedorazí, ale dopytovanie funguje. Zvyčajne býva zablokovaný práve port Votifieru, nie API - väčšina hostingov má predvolene otvorený odchádzajúci HTTP, ale nie ľubovoľný ďalší prichádzajúci port. mode: both (alebo prevádzka samostatného listenera iného odmeňovacieho pluginu) je rozumná trvalá záloha namiesto boja s firewallom.
  • Odmena sa spustí, ale v hre sa nič neobjaví. Odmeňovacie príkazy bežia na konzole, takže príkaz, ktorý funguje len keď ho napíše hráč (bez oprávnenia, bez op), potichu zlyhá. Najprv ho otestujte presne tak, ako by bežal z konzoly.
  • VotingPlugin hlási „invalid service site" alebo hlas nikdy nespáruje. Hodnota ServiceSite musí súhlasiť znak po znaku (na veľkosti písmen nezáleží). Overte ju príkazom /av servicesites, namiesto toho, aby ste ju odhadovali podľa domény tejto stránky.
  • /av VotePresets hlási, že žiadne presety nie sú k dispozícii, alebo adresa nikam nepasuje. Zoznam presetov sťahuje počas behu z GitHubu, takže za tým takmer vždy stojí sieť samotného servera - firewall, proxy, DNS alebo výpadok GitHubu - ktorá blokuje raw.githubusercontent.com, nie že by VoxelRank zo zoznamu zmizol. Zhoda podľa adresy navyše potrebuje celú adresu vrátane https://; holé názvy domén nerozpozná.
  • Nastavenia na záložke Odmeny a hlasovanie akoby sa neukladali. Platia len pre nárokovaný inzerát - pozri filter Nárokované v zozname serverov. Importovaný, nenárokovaný záznam ešte nemá vlastníka, ktorý by mu mohol odmeny nastaviť; najprv si ho nárokujte.

Rýchle odpovede

Potrebujem Votifier vôbec?

Nie. Režim poll (predvolený pre plugin VoxelRank) funguje bez čohokoľvek ďalšieho nainštalovaného - Votifier len skracuje oneskorenie medzi hlasom a odmenou a je to jediná cesta dovnútra, ak radšej prevádzkujete VotingPlugin, SuperVotes alebo SuperbVote.

Môžem používať náš plugin a VotingPlugin súčasne?

Nie pre rovnakú odmenu - vyberte si jeden, ktorý má odmeňovacie príkazy skutočne spúšťať, inak sa hlas môže vyplatiť dvakrát. Samotný Votifier vie upozorniť viac než jeden listener, takže ide o pravidlo „nenastavujte rovnakú odmenu dvakrát", nie o technické obmedzenie.

Môj hosting mi nedovolí otvoriť ďalší port pre Votifier.

Použite režim poll s pluginom VoxelRank. Ten robí len odchádzajúce požiadavky, takže nie je čo otvárať. VotingPlugin a podobné odmeňovacie pluginy obdobu poll režimu nemajú - potrebujú prichádzajúci port pre Votifier.

Potrebujete pomoc?

Zasekli ste sa pri niektorom kroku vyššie, alebo niečo nezodpovedá tomu, čo váš server naozaj posiela? Kontaktujte nás - najrýchlejšie cesty pre otázku ohľadom hlasov a odmien sú uvedené priamo tam.