LuckPerms to plugin, którego prawie każdy serwer używa do decydowania, kto co może. Tworzysz grupy, takie jak member, mod i admin, dajesz każdej grupie węzły uprawnień i przypisujesz graczy do właściwych grup. Oto jak od początku dobrze go skonfigurować.
Zainstaluj LuckPerms
Pobierz LuckPerms z oficjalnej strony (luckperms.net) i wybierz wersję dla swojego oprogramowania serwera: Bukkit dla Papera, Spigota i Purpura albo wersje dla Velocity, Fabrica lub innych, jeśli ich używasz. Wrzuć plik jar do folderu plugins i zrestartuj serwer. Jeśli nigdy wcześniej nie dodawałeś pluginu, najpierw przeczytaj, jak instalować pluginy.
Przy pierwszym uruchomieniu LuckPerms tworzy folder plugins/LuckPerms z plikiem config.yml i lokalną bazą danych. Każdy gracz automatycznie trafia do grupy o nazwie default.
Nadaj sobie admina w bezpieczny sposób
Zanim zrobisz cokolwiek innego, daj swojemu kontu pełny dostęp. Zrób to z konsoli serwera, a nie z gry, bo w grze nie masz jeszcze uprawnień do komend LuckPerms:
lp user YourName permission set * true
Węzeł * oznacza „wszystkie uprawnienia”. Dla właściciela to w porządku, a później możesz zamiast tego przenieść się do grupy admin.
Dlaczego po prostu nie użyć /op? Op daje graczowi prawie wszystko naraz i omija twój system rang, więc trudno zobaczyć, na co ranga naprawdę pozwala. Łatwo też zapomnieć, kto ma opa. Zostaw opa na sytuacje awaryjne, a administracją zarządzaj przez grupy LuckPerms. Co jakiś czas sprawdzaj ops.json i usuwaj każdego, kogo tam nie powinno być.
Używaj edytora webowego
Wpisywanie każdego uprawnienia komendą działa, ale edytor webowy jest szybszy. Uruchom:
/lp editor
LuckPerms wyświetli link. Otwórz go w przeglądarce, a zobaczysz każdą grupę i każdego gracza, dodasz uprawnienia z podpowiedziami, ustawisz grupy nadrzędne i edytujesz prefiksy. Gdy skończysz, kliknij Save. Edytor poda ci komendę w stylu /lp applyedits abc123: uruchom ją w grze albo w konsoli, żeby zastosować zmiany. Dopóki tego nie zrobisz, na serwerze nic się nie zmieni.
Poniższe komendy i tak warto znać, bo będziesz ich używać do szybkich zmian i w instrukcjach innych pluginów.
Utwórz grupy i dziedziczenie
Prosta drabinka administracji wygląda tak: default → member → helper → mod → admin. Każda grupa dziedziczy po tej poniżej, więc mod automatycznie ma wszystko, co helper, a ty dodajesz tylko dodatkowe uprawnienia.
/lp creategroup member
/lp creategroup helper
/lp creategroup mod
/lp creategroup admin
/lp group member parent add default
/lp group helper parent add member
/lp group mod parent add helper
/lp group admin parent add mod
Nadaj każdej grupie wagę, żeby LuckPerms wiedział, która jest wyżej, gdy gracz jest w kilku grupach, na przykład przy prefiksach:
/lp group member setweight 10
/lp group helper setweight 20
/lp group mod setweight 30
/lp group admin setweight 40
Dodaj gracza do grupy komendą /lp user Steve parent add mod. Żeby była to jego jedyna grupa, użyj zamiast tego parent set. Nie zmieniaj nazwy grupy default i jej nie usuwaj: to grupa, do której trafia każdy nowy gracz.
Popularne węzły uprawnień (przykłady z EssentialsX)
Węzeł uprawnienia to krótki tekst, taki jak essentials.home. Każdy plugin wymienia swoje węzły na swojej wiki albo stronie pluginu. Dodaj go do grupy tak:
/lp group default permission set essentials.home true
Oto typowy zestaw na start z EssentialsX:
| Grupa | Przykładowe węzły | Na co pozwalają |
|---|---|---|
| default | essentials.spawn, essentials.home, essentials.sethome, essentials.tpa, essentials.tpaccept, essentials.msg | Podstawowe komendy, których potrzebuje każdy gracz |
| member | essentials.sethome.multiple, essentials.kit.member | Drobne nagrody dla stałych graczy |
| helper | essentials.mute, essentials.kick | Radzenie sobie z problemami na czacie |
| mod | essentials.tempban, essentials.vanish, essentials.invsee | Postępowanie z łamiącymi regulamin |
| admin | essentials.ban, essentials.gamemode, essentials.fly | Pełna moderacja i narzędzia do budowania |
Żeby coś odebrać, ustaw to na false. Na przykład /lp group helper permission set essentials.kick false blokuje to uprawnienie, nawet jeśli grupa nadrzędna na nie pozwala. Całkowicie usuniesz węzeł komendą permission unset.
Gdy coś nie działa, sprawdź to: /lp user Steve permission check essentials.home pokazuje, czy gracz ma uprawnienie i skąd ono pochodzi. /lp verbose on na żywo zapisuje każde sprawdzenie uprawnień, co jest najszybszym sposobem na znalezienie dokładnego węzła, którego potrzebuje komenda.
Prefiksy i sufiksy
Prefiks to znacznik przed nickiem na czacie, na przykład [Mod]. Ustaw go na grupie z liczbą priorytetu (wyższa wygrywa, gdy gracz ma kilka):
/lp group mod meta addprefix 30 "&9[Mod] "
/lp group admin meta addprefix 40 "&c[Admin] "
LuckPerms przechowuje prefiks, ale sam nie formatuje czatu. Potrzebujesz też Vaulta i pluginu czatu, który odczytuje prefiksy. Przy EssentialsX Chat ustaw w konfiguracji EssentialsX format w stylu '{PREFIX}{DISPLAYNAME}{SUFFIX}&r: {MESSAGE}'. Sufiksy działają tak samo z meta addsuffix.
Ścieżki (tracks): awansowanie i degradowanie
Ścieżka to uporządkowana lista grup. Pozwala administracji przesuwać ludzi o jeden stopień w górę lub w dół bez pamiętania nazw grup.
/lp createtrack staff
/lp track staff append helper
/lp track staff append mod
/lp track staff append admin
/lp user Steve promote staff
/lp user Steve demote staff
Możesz zrobić drugą ścieżkę dla rang graczy, na przykład member → regular → veteran, i dać starszej administracji uprawnienie do korzystania tylko z tej ścieżki.
Uprawnienia i rangi czasowe
LuckPerms potrafi sam sprawić, że coś wygaśnie. Żeby dać graczowi grupę VIP na 30 dni:
/lp user Steve parent addtemp vip 30d
Pojedyncze uprawnienia działają tak samo: /lp user Steve permission settemp essentials.fly true 1h. Czas możesz zapisać jako 30m, 12h albo 7d. W ten sposób pluginy sklepów zwykle wydają miesięczne rangi, więc nikt nie musi pamiętać o ich zdejmowaniu.
Konteksty: dla świata i dla serwera
Kontekst ogranicza, gdzie uprawnienie działa. Dodaj world= albo server= na końcu komendy:
/lp group default permission set essentials.fly true world=creative
/lp group mod permission set essentials.vanish true server=survival
Nazwa świata to nazwa folderu świata. Nazwa serwera pochodzi z opcji server: w config.yml LuckPerms na każdym serwerze, więc nadaj każdemu backendowi czytelną nazwę, taką jak lobby albo survival.
MySQL dla sieci i Velocity
Na jednym serwerze domyślne lokalne przechowywanie wystarczy. W sieci każdy serwer powinien korzystać z tych samych danych, inaczej ranga nadana w lobby nie będzie istnieć na survivalu. W każdym config.yml LuckPerms:
- Ustaw
storage-methodnamysql(albomariadb). - Uzupełnij sekcję
data:adresem bazy danych, nazwą, użytkownikiem i hasłem. Użyj tej samej bazy na każdym serwerze. - Zainstaluj LuckPerms także na proxy Velocity, wskazując tę samą bazę, żeby działały uprawnienia i komendy na poziomie proxy.
- Zostaw
messaging-servicena wartości domyślnej albo ustawsql, żeby zmiana na jednym serwerze trafiała do pozostałych. Jeśli coś wygląda na niezsynchronizowane,/lp syncprzeładowuje dane.
Pełną konfigurację sieci opisuje poradnik jak skonfigurować sieć Velocity.
Typowe błędy
- Dawanie
*grupom administracji. To obejmuje każdą komendę LuckPerms, więc helper mógłby zrobić się właścicielem. Dawaj administracji konkretne węzły, których potrzebuje. - Uruchamianie komend w grze, zanim masz dostęp. Do pierwszej konfiguracji używaj konsoli.
- Zapominanie o zastosowaniu zmian z edytora. Zapisz w przeglądarce, a potem uruchom komendę
applyedits. - Prefiks się nie wyświetla. Zwykle brakuje Vaulta albo pluginu czatu, albo format czatu nie zawiera placeholdera prefiksu.
- Osobne bazy danych w sieci. Wtedy rangi wydają się znikać, gdy gracze przechodzą między serwerami.
- Sprzedawanie przewagi w grze przez rangi. Płatne rangi ograniczaj do kosmetyków i wygody; co pozwalają zasady, opisuje poradnik jak zarabiać na serwerze.
Gdy rangi są gotowe, następnym krokiem jest reszta konfiguracji: zobacz najlepsze pluginy na serwer Minecraft i napisz jasny regulamin serwera, żeby nowa administracja wiedziała, czego pilnować.