Jak skonfigurować nagrody za głosowanie (Votifier, VotingPlugin i inne)
Zainstaluj wtyczkę towarzyszącą, skonfiguruj Votifier do natychmiastowego dostarczania nagród, albo podepnij pod tę stronę VotingPlugin, SuperVotes lub SuperbVote - z dokładnie takimi wartościami, jakich ta strona naprawdę oczekuje.

Każda wtyczka do nagród potrzebuje od Ciebie dwóch rzeczy: sposobu, żeby dowiedzieć się, że ktoś zagłosował, oraz czegoś, co uruchomi się, gdy to się stanie. Ten artykuł omawia obie rzeczy - wtyczkę towarzyszącą publikowaną przez tę stronę, Votifier do natychmiastowego dostarczania nagród, oraz co zrobić, jeśli masz już VotingPlugin, SuperVotes lub inną wtyczkę do nagród.
Opcja A: wtyczka VoxelRank (zalecana)
Wtyczka towarzysząca rozmawia bezpośrednio z API tej strony. Votifier nie jest wymagany - wtyczka działa, odpytując w regularnych odstępach o nieodebrane głosy, więc działa też za NAT-em i nadrabia wszystko, co umknęło, gdy serwer był wyłączony. Votifier jest jednak dostępny jako opcjonalny dodatek do natychmiastowego dostarczania nagród (zobacz Opcję B).
- Pobierz plik jar ze swojego Panelu (karta Twojego serwera ma przycisk pobierania, gdy tylko istnieje build), albo bezpośrednio z /download/plugin.
- Wrzuć go do
plugins/i uruchom serwer raz. To wygenerujeplugins/VotingSite/config.yml. - Otwórz stronę Edytuj swojego serwera → zakładkę Nagrody i głosowanie i skopiuj pokazany tam Klucz API.
- Wklej go do
site.api-keywconfig.yml(sprawdź też, czysite.urlwskazuje na tę stronę), a potem uruchom/votingsite reload. - Zdecyduj, w jaki sposób głosy mają do Ciebie docierać, ustawiając
modewconfig.yml:poll(domyślnie) - wtyczka sama pobiera nieodebrane głosy. Nic więcej nie trzeba instalować.votifier- strona wysyła każdy głos w momencie jego oddania. Wymaga NuVotifier lub innego listenera Votifier (Opcja B poniżej).both- push przez Votifier z odpytywaniem jako zabezpieczeniem, bez duplikatów dzięki id głosu.
- Uzupełnij
rewards.commands(a jeśli chcesz, takżemilestonesivote-party) o polecenia konsoli, które mają się uruchamiać przy głosie. - Przetestuj to:
/votingsite testvote <player>symuluje głos bez czekania na prawdziwy./votingsite statuspokazuje tryb, czy klucz API jest akceptowany oraz ile głosów dostarczono do tej pory.
Gracze otrzymują swój link do głosowania i licznik głosów poleceniem /voxelrank vote - nie /vote, którego ta wtyczka celowo nigdy nie przejmuje (dwie wtyczki rywalizujące o to samo polecenie to dokładnie sposób, w jaki nagroda po cichu przestaje działać - zobacz odpowiednią notatkę w config.yml).
Opcja B: natychmiastowe dostarczanie przez NuVotifier
Pomiń tę część, jeśli tryb poll wystarczająco Ci odpowiada - nie jest on wymagany. Dodaj ją, gdy zależy Ci na tych kilku minutach opóźnienia wynikających z odpytywania, albo gdy wolisz uruchomić osobną wtyczkę do nagród zamiast tej wbudowanej w stronę.
NuVotifier to aktywnie rozwijany fork oryginalnego Votifiera - oryginalny projekt jest dziś praktycznie nierozwijany, więc „zainstalowanie Votifiera" w praktyce oznacza instalację NuVotifiera (albo kompatybilnego forka, jak VotifierPlus).
- Wrzuć plik jar NuVotifiera do
plugins/i zrestartuj serwer. Na serwerze Bukkit/Spigot/Paper zachowuje on klasyczną nazwę folderuplugins/Votifier/ze względu na kompatybilność wsteczną - to własny folder NuVotifiera, a nie pozostałość po starej wtyczce - i przy pierwszym uruchomieniu generuje w nimconfig.ymloraz parę kluczy w folderzersa/. - Dane dostępowe znajdziesz w
plugins/Votifier/config.yml: token v2 (zalecany) jest generowany automatycznie pod kluczemdefaultw sekcjitokens:- skopiuj go bez zmian. Jeśli wolisz starszą metodę, klucz publiczny v1 znajduje się wplugins/Votifier/rsa/public.key; odpowiadający muprivate.keyzostaw w tym samym folderze na serwerze i nigdy nim się nie dziel. - Sprawdź
port, na którym nasłuchuje NuVotifier (domyślnie8192), i upewnij się, że jest otwarty w Twoim firewallu lub panelu hostingowym - to inny port niż zwykły port Minecrafta, a większość hostingów nie otwiera go automatycznie. - Na stronie Edytuj swojego serwera → zakładce Nagrody i głosowanie wpisz host Votifiera (adres swojego serwera) oraz ten port, a następnie wklej token v2 lub klucz v1 z kroku 2. Jeśli wypełnisz oba, użyty zostanie tylko jeden - v2 ma pierwszeństwo.
- Kliknij Wyślij głos testowy bezpośrednio w tej zakładce. Wysyła to prawdziwy pakiet Votifier na host/port/klucz/token aktualnie wpisany w formularzu - nie trzeba niczego wcześniej zapisywać - i od razu pokazuje, czy NuVotifier go zaakceptował. Jeśli się nie uda, własny log konsoli NuVotifiera (domyślnie
debug: true) pokaże, czy połączenie w ogóle dotarło do wtyczki, co szybko odróżnia „zły klucz" od „zablokowanego portu". - Zapisz, oddaj prawdziwy głos i sprawdź, czy nagroda dociera od razu, zamiast czekać na kolejne odpytanie.
Pod spodem ta strona wysyła standardowy handshake VOTIFIER 2 z ładunkiem JSON podpisanym HMAC, gdy ustawiony jest token v2, a w przeciwnym razie wraca do klasycznego bloku v1 szyfrowanego RSA - to ten sam protokół, który już obsługuje każdy listener kompatybilny z Votifierem, nic specyficznego dla tej strony.
Masz już VotingPlugin?
Jeśli na Twoim serwerze działa już VotingPlugin, nie musisz instalować naszej wtyczki - i nie musisz ręcznie dodawać do niej tej strony, bo VotingPlugin ma dla niej utrzymywany preset.
Uruchom to w grze jako operator (lub z uprawnieniem VotingPlugin.Commands.AdminVote.VotePresets):
/av VotePresets
VotingPlugin pobiera aktualną listę presetów z własnego repozytorium VotingPlugin-Presets, pozwala wybrać jeden - VoxelRank jest wśród nich - a następnie pyta o wartości, których dany preset potrzebuje: nazwę wyświetlaną, adres URL głosowania Twojego wpisu, opóźnienie między głosami i tym podobne. Albo od razu przejdź dalej z własnym linkiem do głosowania:
/av VotePresets https://voxelrank.com/server/your-slug/vote
Uwzględnij https://; VotingPlugin automatycznie dopasowuje nazwę hosta do właściwego presetu, zamiast zmuszać Cię do szukania go na liście.
Tak czy inaczej, wtyczka zapisuje lub aktualizuje odpowiedni wpis pod VoteSites: w VoteSites.yml - ServiceSite, VoteURL, sensowne domyślne opóźnienia oraz zastępczy przedmiot wyświetlany lub wiadomość z podziękowaniem, jeśli strona jeszcze go nie ma - a potem przeładowuje strony do głosowania za Ciebie. Wszystko inne, co już jest w pliku, pozostaje nietknięte. Zrób kopię zapasową VoteSites.yml, jeśli zmieniasz już istniejącą konfigurację, a nie dodajesz nowej, i sprawdź, co zostało zapisane - zwłaszcza nagrody, bo preset to punkt wyjścia, a nie gotowa konfiguracja - zanim zaczniesz to reklamować graczom.
VotingPlugin nadal potrzebuje własnego połączenia Votifier, żeby faktycznie odbierać głosy - skieruj go na tę samą konfigurację NuVotifiera z Opcji B powyżej. Wymaga też, żeby serwer mógł połączyć się z GitHubem (raw.githubusercontent.com), by w ogóle pobrać presety; jeśli /av VotePresets zgłasza brak dostępnych presetów, to problem sieci lub firewalla na serwerze, a nie brakujący preset. /av gui, albo bezpośrednia edycja VoteSites.yml, wciąż działają jako rozwiązanie zapasowe - ServiceSite musi brzmieć dokładnie VoxelRank.com, co możesz potwierdzić poleceniem /av servicesites po prawdziwym lub administracyjnym głosie testowym.
Inne wtyczki do nagród
Używasz czegoś lżejszego niż VotingPlugin? SuperVotes i SuperbVote to lekkie listenery Votifier z własnymi systemami vote-party i poleceń nagród. Żadna z nich nie śledzi presetów per strona tak jak VotingPlugin - skieruj którąkolwiek z nich na ten sam host, port i token v2 (lub klucz v1) Votifier z zakładki Nagrody i głosowanie powyżej i skonfiguruj jej nagrody tak samo, jak przy każdym innym głosie.
Rozwiązywanie problemów
- Nic się nie dzieje po
/votingsite testvote. Najpierw sprawdź/votingsite status- jeśli klucz API nie jest akceptowany, głosy (prawdziwe i testowe) nie mają dokąd trafić. Skopiuj go ponownie ze strony Edytuj i upewnij się, że na końcu nie ma spacji. - Push Votifiera nigdy nie dociera, ale odpytywanie działa. Zwykle blokowany jest port Votifiera, a nie API - większość hostingów domyślnie otwiera wychodzący ruch HTTP, ale nie dowolny dodatkowy port przychodzący.
mode: both(albo uruchomienie osobnego listenera innej wtyczki do nagród) to rozsądne stałe rozwiązanie zamiast walki z firewallem. - Nagroda się uruchamia, ale nic nie pojawia się w grze. Polecenia nagród są wykonywane z konsoli, więc polecenie, które działa tylko wpisane przez gracza (bez uprawnienia, bez
op), po cichu zawiedzie. Najpierw przetestuj dokładne polecenie z konsoli. - VotingPlugin loguje „invalid service site" albo nigdy nie dopasowuje głosu. Wartość
ServiceSitemusi zgadzać się znak w znak, pomijając wielkość liter. Sprawdź ją poleceniem/av servicesites, zamiast zgadywać na podstawie nazwy domeny tej strony. /av VotePresetsmówi, że brak dostępnych presetów, albo adres URL do niczego nie pasuje. Lista presetów jest pobierana z GitHuba w czasie działania, więc niemal zawsze chodzi o sieć samego serwera - firewall, proxy, DNS albo awarię GitHuba - blokującąraw.githubusercontent.com, a nie znak, że VoxelRank zniknął z listy. Dopasowanie po URL wymaga też pełnego adresu zhttps://; same nazwy hostów nie są rozpoznawane.- Ustawienia w zakładce Nagrody i głosowanie wyglądają, jakby się nie zapisywały. Dotyczą one tylko wpisu odebranego - zobacz filtr Odebrano na liście serwerów. Zaimportowany, nieodebrany wpis nie ma jeszcze właściciela, dla którego można skonfigurować nagrody; najpierw go odbierz.
Szybkie odpowiedzi
Czy w ogóle potrzebuję Votifiera?
Nie. Tryb poll (domyślny dla wtyczki VoxelRank) działa bez instalowania czegokolwiek więcej - Votifier tylko skraca opóźnienie między głosem a nagrodą i jest jedyną drogą, jeśli wolisz zamiast tego uruchomić VotingPlugin, SuperVotes lub SuperbVote.
Czy mogę używać naszej wtyczki i VotingPluginu jednocześnie?
Nie dla tej samej nagrody - wybierz jedną, która ma faktycznie wykonywać polecenia nagrody, bo inaczej głos mógłby zostać wypłacony podwójnie. Sam Votifier może powiadamiać więcej niż jeden listener, więc to zasada „nie konfiguruj tej samej nagrody dwa razy", a nie ograniczenie techniczne.
Mój hosting nie pozwala mi otworzyć dodatkowych portów dla Votifiera.
Użyj trybu poll z wtyczką VoxelRank. Wykonuje ona tylko żądania wychodzące, więc nie ma nic do otwierania. VotingPlugin i podobne wtyczki do nagród nie mają odpowiednika trybu odpytywania - potrzebują przychodzącego portu Votifier.
Potrzebujesz pomocy?
Utknąłeś na którymś z powyższych kroków, albo coś nie zgadza się z tym, co Twój serwer faktycznie wysyła? Skontaktuj się z nami - najszybsze sposoby na pytanie dotyczące głosów/nagród są tam wymienione.