Przejdź do treści

Nagrody za głosowanie w Minecraft z VotingPlugin

Listy serwerów wysyłają twojemu serwerowi wiadomość przy każdym głosie, ale nic się nie dzieje, dopóki nie zareaguje na nią plugin nagród. VotingPlugin to popularny wybór: daje przedmioty, pieniądze albo komendy za każdą stronę do głosowania, pokazuje linki do głosowania pod /vote i dodaje dodatki, takie jak vote party i serie. Ten poradnik krok po kroku łączy go z BestMCServerList.

Aktualizacja:

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

  1. Upewnij się, że NuVotifier działa i jest osiągalny. Testowy głos z twojej strony Votifier powinien pojawić się w konsoli.
  2. Wrzuć plik JAR VotingPlugin do folderu plugins serwera Spigot lub Paper i zrestartuj go raz.
  3. VotingPlugin tworzy swoje pliki, m.in. plugins/VotingPlugin/VoteSites.yml dla stron do głosowania i Config.yml dla 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.

plugins/VotingPlugin/VoteSites.yml
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: true jest konieczne, domyślnie jest false.
  • ServiceSite musi 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 to BestMCServerList.
  • VoteURL to link, który gracze dostają pod /vote. Skopiuj link do głosowania ze strony swojego serwera; your-server oznacza twój własny slug.
  • DisplayItem jest 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 give wymaga 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: 24h służy do /vote next, czyli odliczania, które widzą gracze. Nie blokuje głosów.
  • VoteDelayDaily: true resetuje opóźnienie zamiast tego raz dziennie, co pasuje do list z dziennym resetem, takich jak nasza. VoteDelayDailyHour ustawia 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: true odrzucałby głosy, które przyjdą przed końcem opóźnienia. Zostaw false: my już pilnujemy jednego głosu na nick dziennie, a złe ustawienie opóźnienia odebrałoby graczom nagrody.

Krok 4: przetestuj nagrody

  1. Wpisz /av vote <player> BestMCServerList. To uruchamia nagrody tej strony dla gracza i pokazuje, że konfiguracja nagród działa. Nie testuje Votifiera.
  2. 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ął.
  3. Sprawdź w konsoli linię w rodzaju [VotingPlugin] Received a vote from service site 'BestMCServerList' by player 'TestVote'!.
  4. 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:

plugins/VotingPlugin/Config.yml
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

ProblemRozwiązanie
Testowy głos dociera, nikt nic nie dostajeStrona do głosowania nie jest włączona albo ServiceSite to nie BestMCServerList. Sprawdź /av servicesites.
W konsoli nie ma nicVotifier nie odbiera głosu. Sprawdź port, token i firewall w dzienniku dostarczeń na swojej stronie Votifier.
NuVotifier zapisuje, że brak listenerówVotingPlugin nie jest zainstalowany albo się nie załadował. Sprawdź log startowy.
/av vote działa, prawdziwe głosy nieKomenda admina pomija Votifier. Testuj przyciskiem Wyślij testowy głos.
Gracze Bedrock nic nie dostająBedrockPlayerPrefix nie pasuje do prefiksu Floodgate.

Najczęstsze pytania

Jaka jest nazwa usługi BestMCServerList dla VotingPlugin?

To BestMCServerList. Wpisz dokładnie to w linię ServiceSite strony do głosowania w VoteSites.yml.

Czy do VotingPlugin potrzebuję NuVotifier?

Tak. VotingPlugin daje nagrody, ale głosy docierają do serwera przez Votifier. NuVotifier to utrzymywana wersja i obsługuje protokół v1 i v2.

Kiedy gracze mogą znowu zagłosować na BestMCServerList?

Raz na nick Minecrafta, serwer i dzień kalendarzowy. Dzień zmienia się o północy w strefie czasowej Europe/Berlin.

Czy gracze Bedrock dostają nagrody za głosowanie?

Tak, jeśli głosują pełnym nickiem Floodgate, np. .Steve, a BedrockPlayerPrefix w VotingPlugin pasuje do twojego prefiksu Floodgate.

Źródła

Sprawdzone w oficjalnej dokumentacji: