Jak głos zamienia się w nagrodę
Współpracują trzy elementy. Gracz głosuje na liście serwerów. Lista wysyła wiadomość o głosie do Votifiera na twoim serwerze, razem z nickiem gracza i nazwą usługi, która identyfikuje listę. VotingPlugin nasłuchuje tych wiadomości, szuka strony do głosowania, której ServiceSite pasuje do nazwy usługi, i uruchamia jej nagrody.
VotingPlugin nie odbiera więc głosów sam. Najpierw potrzebujesz działającego Votifiera, zwykle NuVotifiera. Jeśli jeszcze go nie skonfigurowałeś, przejdź przez poradnik konfiguracji NuVotifier i wróć tutaj.
- Votifier odbiera głos i go sprawdza (token dla v2, klucz RSA dla v1).
- VotingPlugin dopasowuje nazwę usługi i daje nagrody.
- BestMCServerList wysyła nazwę usługi
BestMCServerList.
Krok 1: zainstaluj VotingPlugin
- Upewnij się, że NuVotifier działa i jest osiągalny. Testowy głos z twojej strony Votifier powinien pojawić się w konsoli.
- Wrzuć plik JAR VotingPlugin do folderu
pluginsserwera Spigot lub Paper i zrestartuj go raz. - VotingPlugin tworzy swoje pliki, m.in.
plugins/VotingPlugin/VoteSites.ymldla stron do głosowania iConfig.ymldla ustawień ogólnych.
W sieci z proxy głosy zwykle trafiają do proxy, a nagrody są wydawane na serwerach backendowych. Trzymaj ten sam VoteSites.yml na każdym backendzie.
Krok 2: dodaj BestMCServerList do VoteSites.yml
Każda lista, na której jesteś, dostaje własny wpis pod VoteSites. Klucz to nazwa wewnętrzna: krótka, bez spacji i bez kropek. Najważniejsza jest linia 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: '&aThanks for voting on BestMCServerList!'Enabled: truejest konieczne, domyślnie jest false.ServiceSitemusi pasować do nazwy usługi wysyłanej przez listę. VotingPlugin porównuje ją bez rozróżniania wielkości liter, ale poza tym tekst musi być identyczny. U nas toBestMCServerList.VoteURLto link, który gracze dostają pod/vote. Skopiuj link do głosowania ze strony swojego serwera;your-serveroznacza twój własny slug.DisplayItemjest wymagany dla każdej strony, bo pokazuje się w menu VotingPlugin.- Komendy są wykonywane z konsoli, a
%player%zamienia się w nick głosującego.eco givewymaga pluginu ekonomii; użyj komend, które masz na swoim serwerze. Wiadomość możesz oczywiście przetłumaczyć na polski.
Zapisz plik i wpisz /av reload.
Krok 3: opóźnienie głosowania i dzienny reset
Na BestMCServerList każdy nick Minecrafta może zagłosować raz na serwer w ciągu dnia kalendarzowego, a dzień liczy się według strefy czasowej Europe/Berlin. Nowy głos jest możliwy zaraz po północy czasu berlińskiego, a nie 24 godziny po ostatnim.
VoteDelay: 24hsłuży do/vote next, czyli odliczania, które widzą gracze. Nie blokuje głosów.VoteDelayDaily: trueresetuje opóźnienie zamiast tego raz dziennie, co pasuje do list z dziennym resetem, takich jak nasza.VoteDelayDailyHourustawia godzinę w czasie serwera (1–24). Jeśli zegar twojego serwera nie chodzi według czasu berlińskiego, pamiętaj o różnicy przy ustawianiu.WaitUntilVoteDelay: trueodrzucałby głosy, które przyjdą przed końcem opóźnienia. Zostawfalse: my już pilnujemy jednego głosu na nick dziennie, a złe ustawienie opóźnienia odebrałoby graczom nagrody.
Krok 4: przetestuj nagrody
- Wpisz
/av vote <player> BestMCServerList. To uruchamia nagrody tej strony dla gracza i pokazuje, że konfiguracja nagród działa. Nie testuje Votifiera. - Otwórz swoją stronę Votifier na BestMCServerList i naciśnij Wyślij testowy głos. Wysyłamy głos dla nicku
TestVote, który nie liczy się do rankingu. Dziennik dostarczeń pokazuje, czy twój serwer go przyjął. - Sprawdź w konsoli linię w rodzaju
[VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!. - Wpisz
/av servicesites, żeby zobaczyć nazwy usług, które VotingPlugin dotąd otrzymał.
Jeśli testowy głos dociera, ale VotingPlugin zgłasza nieznaną stronę usługi, problemem jest linia ServiceSite. Przy AutoCreateVoteSites: true w Config.yml (domyślnie) VotingPlugin może też sam utworzyć nowy wpis; nadal potrzebuje on Enabled: true i twoich nagród.
Gracze Bedrock i głosy offline
Gracze Bedrock, którzy wchodzą przez Geyser i Floodgate, mają prefiks w nicku, domyślnie kropkę: .Steve. Głosują pełnym nickiem, a my przekazujemy go do Votifiera bez zmian. W VotingPlugin ustaw ten sam prefiks w Config.yml. W sieci użyj tej samej wartości na proxy i na każdym backendzie:
BedrockPlayerPrefix: '.'.Steve i Steve to różni gracze. Nigdy nie usuwaj prefiksu, żeby nick „pasował”.
Gracze nie muszą być online, gdy głosują. Nagrody mają RewardType o wartości ONLINE, OFFLINE albo BOTH (domyślnie). Testuj też głosy offline, bo komendy, które wymagają gracza online, działają wtedy inaczej.
Vote party, kamienie milowe i serie
Gdy podstawowe nagrody działają, SpecialRewards.yml dodaje cele, które zachęcają do głosowania: VoteParty, które uruchamia się, gdy cały serwer osiągnie określoną liczbę głosów, VoteMilestones dla osobistych sum i VoteStreaks za głosowanie kilka dni z rzędu. Dbaj, żeby nagrody były przydatne, ale uczciwe; nagrody, które psują ekonomię, sprawiają, że głosowanie wydaje się obowiązkiem.
Chcesz odznakę rangi dla najaktywniejszych głosujących? Poradnik o prefiksach LuckPerms pokazuje, jak komendą dać graczom prefiks-obrazek, którą możesz uruchomić jako nagrodę.
Częste błędy
| Problem | Rozwiązanie |
|---|---|
| Testowy głos dociera, nikt nic nie dostaje | Strona do głosowania nie jest włączona albo ServiceSite to nie BestMCServerList. Sprawdź /av servicesites. |
| W konsoli nie ma nic | Votifier nie odbiera głosu. Sprawdź port, token i firewall w dzienniku dostarczeń na swojej stronie Votifier. |
| NuVotifier zapisuje, że brak listenerów | VotingPlugin nie jest zainstalowany albo się nie załadował. Sprawdź log startowy. |
/av vote działa, prawdziwe głosy nie | Komenda admina pomija Votifier. Testuj przyciskiem Wyślij testowy głos. |
| Gracze Bedrock nic nie dostają | BedrockPlayerPrefix nie pasuje do prefiksu Floodgate. |