Jak se z hlasu stane odměna
Spolupracují tři části. Hráč hlasuje na seznamu serverů. Seznam pošle zprávu o hlasu do Votifieru na tvém serveru, spolu se jménem hráče a názvem služby, který identifikuje seznam. VotingPlugin na tyto zprávy čeká, najde hlasovací web, jehož ServiceSite odpovídá názvu služby, a spustí odměny tohoto webu.
VotingPlugin tedy sám hlasy nepřijímá. Nejdřív potřebuješ fungující Votifier, obvykle NuVotifier. Pokud ho ještě nemáš nastavený, projdi návod na nastavení NuVotifieru a vrať se.
- Votifier hlas přijme a ověří (token u v2, RSA klíč u v1).
- VotingPlugin porovná název služby a rozdá odměny.
- BestMCServerList posílá název služby
BestMCServerList.
Krok 1: Nainstaluj VotingPlugin
- Ujisti se, že NuVotifier běží a je dostupný. Testovací hlas z tvé stránky Votifieru by se měl objevit v konzoli.
- Dej JAR VotingPluginu do složky
pluginssvého Spigot nebo Paper serveru a jednou restartuj. - VotingPlugin si vytvoří soubory, mimo jiné
plugins/VotingPlugin/VoteSites.ymlpro hlasovací weby aConfig.ymlpro obecná nastavení.
Na síti s proxy hlasy obvykle dorazí na proxy a odměny se spouštějí na backend serverech. VoteSites.yml drž na všech backendech stejný.
Krok 2: Přidej BestMCServerList do VoteSites.yml
Každý seznam, na kterém jsi, dostane vlastní položku pod VoteSites. Klíč je interní název: krátký, bez mezer a bez teček. Důležitý je řádek ServiceSite.
VoteSites:
BestMCServerList:
Enabled: true
Name: 'BestMCServerList'
Priority: 5
ServiceSite: 'BestMCServerList'
VoteURL: 'https://bestmcserverlist.net/server/your-server/vote'
VoteDelay: 24h
WaitUntilVoteDelay: false
VoteDelayDaily: true
ForceOffline: false
DisplayItem:
Material: 'DIAMOND'
Amount: 1
Rewards:
Commands:
- 'eco give %player% 250'
- 'give %player% diamond 2'
Messages:
Player: '&aDíky za hlas na BestMCServerList!'Enabled: trueje nutné, výchozí hodnota je false.ServiceSitemusí odpovídat názvu služby, který seznam posílá. VotingPlugin nerozlišuje velikost písmen, jinak ale text musí být stejný. U nás je toBestMCServerList.VoteURLje odkaz, který hráči dostanou přes/vote. Zkopíruj odkaz na hlasování ze stránky svého serveru;your-serverzastupuje tvůj vlastní slug.DisplayItemje povinný pro každý web, protože se zobrazuje v menu VotingPluginu.- Příkazy se spouštějí z konzole a
%player%se změní na jméno hlasujícího.eco givepotřebuje plugin na ekonomiku; použij příkazy, které tvůj server má.
Ulož soubor a spusť /av reload.
Krok 3: Prodleva mezi hlasy a denní reset
Na BestMCServerList může každé Minecraft jméno hlasovat jednou za kalendářní den pro každý server a den se řídí časovým pásmem Europe/Berlin. Nový hlas je možný hned po půlnoci berlínského času, ne 24 hodin po posledním.
VoteDelay: 24hse používá pro/vote next, tedy odpočet, který hráči vidí. Hlasy neblokuje.VoteDelayDaily: truemísto toho resetuje prodlevu jednou denně, což sedí na seznamy s denním resetem jako ten náš.VoteDelayDailyHournastavuje hodinu v čase serveru (1–24). Pokud hodiny tvého serveru neběží v berlínském čase, mysli na rozdíl.WaitUntilVoteDelay: trueby odmítal hlasy, které dorazí před koncem prodlevy. Nech ho nafalse: jeden hlas na jméno a den už hlídáme my a špatně nastavená prodleva by hráče připravila o odměny.
Krok 4: Otestuj odměny
- Spusť
/av vote <player> BestMCServerList. Tím spustíš odměny daného webu pro hráče a ověříš, že config odměn funguje. Votifier to netestuje. - Otevři svou stránku Votifieru na BestMCServerList a stiskni Poslat testovací hlas. Pošleme hlas pro jméno
TestVote, který se do žebříčku nepočítá. Protokol doručení ukáže, jestli ho tvůj server přijal. - Hledej v konzoli řádek jako
[VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!. - Spusť
/av servicesites, který vypíše názvy služeb, které VotingPlugin zatím dostal.
Pokud testovací hlas dorazí, ale VotingPlugin hlásí neznámý service site, problém je v řádku ServiceSite. S AutoCreateVoteSites: true v Config.yml (výchozí stav) může VotingPlugin vytvořit novou položku i sám; ta ale pořád potřebuje Enabled: true a tvoje odměny.
Bedrock hráči a hlasy offline
Bedrock hráči, kteří se připojují přes Geyser a Floodgate, mají před jménem prefix, ve výchozím stavu tečku: .Steve. Hlasují pod tímto celým jménem a my ho Votifieru předáme beze změny. Ve VotingPluginu nastav stejný prefix v Config.yml. Na síti použij stejnou hodnotu na proxy i na každém backendu:
BedrockPlayerPrefix: '.'.Steve a Steve jsou různí hráči. Nikdy prefix neodstraňuj, aby jméno sedělo.
Hráči nemusí být při hlasování online. Odměny mají RewardType ONLINE, OFFLINE nebo BOTH (výchozí). Otestuj i hlasy offline, protože příkazy, které potřebují hráče online, se chovají jinak.
Vote party, milníky a série
Jakmile základní odměny fungují, SpecialRewards.yml přidá cíle, které hráče udrží u hlasování: VoteParty, která se spustí, když celý server dosáhne určitého počtu hlasů, VoteMilestones pro osobní součty a VoteStreaks za hlasování několik dní po sobě. Drž odměny užitečné, ale férové; odměny, které rozbijí ekonomiku, dělají z hlasování povinnost.
Chceš odznak ranku pro nejaktivnější hlasující? Návod na prefixy v LuckPerms ukazuje, jak dát hráčům obrázkový prefix příkazem, který můžeš spustit jako odměnu.
Časté chyby
| Problém | Řešení |
|---|---|
| Testovací hlas dorazí, nikdo nic nedostane | Hlasovací web není zapnutý, nebo ServiceSite není BestMCServerList. Zkontroluj /av servicesites. |
| V konzoli vůbec nic | Votifier hlas nepřijímá. Zkontroluj port, token a firewall pomocí protokolu doručení na své stránce Votifieru. |
| NuVotifier hlásí, že nejsou dostupné žádné listenery | VotingPlugin není nainstalovaný nebo se nenačetl. Zkontroluj log při startu. |
/av vote funguje, skutečné hlasy ne | Příkaz pro adminy Votifier přeskakuje. Testuj místo toho přes Poslat testovací hlas. |
| Bedrock hráči nic nedostávají | BedrockPlayerPrefix neodpovídá tvému prefixu ve Floodgate. |