LuckPerms - system uprawnien i rang
LuckPerms to bezkonkurencyjny standard zarzadzania uprawnieniami na serwerach Minecraft. Obsluguje grupy (rangi), dziedziczenie, prefixy, sufixy, konteksty, wagi i posiada wbudowany edytor webowy. Działa na Bukkit, Fabric, Forge, Velocity i BungeeCord.
Czym jest LuckPerms
LuckPerms to darmowy, open-source plugin zarzadzania uprawnieniami, który okresla co dany gracz może robic na serwerze. Każda komenda, każda funkcja każdego pluginu jest kontrolowana przez "nod uprawnienia" (permission node) - na przyklad essentials.home pozwala używać /home, a worldedit.selection.pos pozwala zaznaczac regiony.
Zamiast przypisywac uprawnienia kazdemu graczowi z osobna, tworzysz grupy (rangi): Gracz, VIP, Moderator, Admin. Każda grupa ma przypisane uprawnienia. Gracz należy do grupy i automatycznie otrzymuje jej uprawnienia. To samo podejscie, które znasz z systemow operacyjnych czy korporacyjnych narzędzi IT.
LuckPerms jest rozwijany od 2016 roku przez Lucko i posiada pełna dokumentacje po angielsku. Pobierz z oficjalnej strony, Modrinth lub SpigotMC.
Dlaczego LuckPerms zastapil PermissionsEx
Jeszcze w 2018-2019 roku wiekszosc polskich serwerow korzystala z PermissionsEx (PEX) lub GroupManager. Oba pluginy zostaly porzucone przez swoich autorow i przestaly otrzymywac aktualizacje. PermissionsEx 2.x mial powstac jako nastepca, ale projekt nigdy nie wyszedl ze fazy alfa i ostatecznie został porzucony w 2021 roku.
LuckPerms przejal dominacje z kilku powodow:
- Aktywny rozwoj - regularne aktualizacje pod każda nowa wersje Minecraft, szybkie poprawki błędów
- Wieloplatformowosc - jeden plugin na Bukkit, Fabric, Forge, Velocity i BungeeCord. Ten sam system uprawnien na całej sieci serwerow
- Edytor webowy - graficzny interfejs w przegladarce, który eliminuje potrzebe edycji plikow YML ręczne
- Nowoczesna architektura - obsługa wielu backendow danych (YAML, JSON, HOCON, MySQL, MariaDB, PostgreSQL, MongoDB), cache, verbose debug
- Pełen support - aktywny Discord ze wsparciem technicznym, szczegolowa wiki
Migracja z PEX lub GroupManager jest prosta: komenda /lp migration permissionsex automatycznie importuje wszystkie grupy i uprawnienia. Po migracji stary plugin można usunąć.
Grupy i dziedziczenie
System rang w LuckPerms opiera sie na grupach z dziedziczeniem. Typowa hierarchia na serwerze survival:
Admin (waga 100) - pelen dostep
Moderator (waga 50) - dziedziczy po Helper + moderacja
Helper (waga 30) - dziedziczy po VIP + podstawowa pomóc
VIP (waga 20) - dziedziczy po Gracz + bonusy
Gracz (waga 10) - domyslna grupa, podstawowe uprawnienia Dziedziczenie oznacza, ze Moderator automatycznie posiada wszystkie uprawnienia Helpera, VIP-a i Gracza, plus własne. Nie musisz kopiowac tych samych nodow do każdej grupy - wystarczy, ze każda grupa dziedziczy po tej nizszej.
Tworzenie grupy i przypisywanie uprawnien:
# Tworzenie grup
/lp creategroup gracz
/lp creategroup vip
/lp creategroup moderator
# Ustawianie dziedziczenia
/lp group vip parent add gracz
/lp group moderator parent add vip
# Dodawanie uprawnien
/lp group gracz permission set essentials.home true
/lp group gracz permission set essentials.tpa true
/lp group gracz permission set essentials.spawn true
/lp group vip permission set essentials.sethome.multiple.3 true
/lp group vip permission set essentials.fly true
/lp group moderator permission set essentials.ban true
/lp group moderator permission set essentials.mute true
/lp group moderator permission set essentials.kick true
# Przypisywanie gracza do grupy
/lp user NickGracza parent set vip Prefixy i sufixy
LuckPerms przechowuje prefixy rang (wyswietlane w chacie przed nickiem), które pluginy chatu (EssentialsX Chat, ChatManager) automatycznie odczytuja:
/lp group gracz meta addprefix 10 "&7[Gracz] "
/lp group vip meta addprefix 20 "&6[VIP] "
/lp group moderator meta addprefix 50 "&c[Mod] "
/lp group admin meta addprefix 100 "&4[Admin] " Liczba po addprefix to waga - wyższy prefix wygrywa, jeśli gracz należy do wielu grup.
Edytor webowy
Jedna z najcenniejszych funkcji LuckPerms to wbudowany edytor webowy. Komenda /lp editor generuje jednorazowy link do strony luckperms.net/editor, gdzie możesz graficznie zarzadzac grupami, uprawnieniami i graczami.
Edytor pozwala na:
- Przegladanie i edycje wszystkich grup i graczy w jednym widoku
- Dodawanie/usuwanie uprawnien z wyszukiwarka (podpowiada istniejace nody z zainstalowanych pluginow)
- Przeciaganie grup w hierarchii dziedziczenia
- Edycje prefixow, sufixow i metadanych
- Eksport i import konfiguracji
Po zakonczeniu edycji klikasz "Save" i edytor generuje komende do wklejenia w konsoli serwera. Zmiany sa aplikowane natychmiast, bez restartu.
Edytor jest szczególnie przydatny przy poczatkowej konfiguracji serwera, kiedy musisz ustawic dziesiątki uprawnien dla wielu grup jednoczesnie. Jest tez bezpieczniejszy niz reczna edycja plikow YAML, bo waliduje skladnie i zapobiega typowym bledom.
Najważniejsze komendy
| Komenda | Co robi |
|---|---|
/lp user Gracz info | Wyswietla informacje o graczu (grupy, uprawnienia) |
/lp user Gracz parent set grupa | Ustawia główna grupe gracza |
/lp user Gracz permission set nod true | Nadaje uprawnienie konkretnemu graczowi |
/lp group grupa permission set nod true | Nadaje uprawnienie całej grupie |
/lp group grupa parent add rodzic | Ustawia dziedziczenie grupy |
/lp editor | Otwiera edytor webowy |
/lp verbose on | Włącza tryb debug - pokazuje każde sprawdzenie uprawnienia w czasie rzeczywistym |
/lp tree | Generuje drzewo wszystkich zarejestrowanych nodow uprawnien |
Komenda /lp verbose jest bezcenna przy debugowaniu. Kiedy gracz mowi "nie moge użyć komendy X", włącz verbose, popros go o uzycie komendy, a LuckPerms pokaze dokładnie jaki nod uprawnienia jest sprawdzany i dlaczego jest odrzucany. Oszczedza godziny zgadywania.
Konteksty i zaawansowane ustawienia
Konteksty pozwalaja ograniczac uprawnienia do konkretnych warunkow. Na przyklad gracz może miec essentials.fly tylko w świecie "lobby", ale nie w "survival":
/lp group vip permission set essentials.fly true world=lobby Inne konteksty: server= (na sieciach z Velocity), world=, gamemode=. Możesz tez tworzyć uprawnienia tymczasowe - na przyklad VIP na 30 dni:
/lp user Gracz parent addtemp vip 30d Tymczasowe uprawnienia automatycznie wygasają po uplywie czasu. To standard na serwerach sprzedajacych rangi VIP - kupujesz range na miesiąc, plugin automatycznie ja zdejmuje po 30 dniach.
Konfiguracja i backend danych
Domyslnie LuckPerms przechowuje dane w plikach YAML w folderze plugins/LuckPerms/. Na większych serwerach lub sieciach serwerow rekomendowana jest baza danych:
- MySQL / MariaDB - najpopularniejszy wybor, wspoldzielony między serwerami w sieci
- PostgreSQL - alternatywa dla MySQL
- MongoDB - dokumentowa baza, rzadziej uzywana
- H2 / SQLite - lokalne pliki bazy, dobre na pojedynczych serwerach
Konfiguracja bazy w plugins/LuckPerms/config.yml:
storage-method: mysql
data:
address: localhost:3306
database: luckperms
username: minecraft
password: haslo Przy sieci serwerow (np. lobby + survival + minigry) wszystkie serwery lacza sie z ta sama baza. Zmiana rangi na jednym serwerze natychmiast obowiazuje na wszystkich, bez koniecznosci synchronizacji.
Powiązane: EssentialsX (komendy kontrolowane uprawnieniami), Vault (integracja z chatem), WorldGuard (uprawnienia regionow).