LuckPerms - system uprawnień i rang

LuckPerms to bezkonkurencyjny standard zarządzania uprawnieniami na serwerach Minecraft. Obsługuje 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 zarządzania uprawnieniami, który określa co dany gracz może robić na serwerze. Każda komenda, każda funkcja każdego pluginu jest kontrolowana przez "nod uprawnienia" (permission node) - na przykład essentials.home pozwala używać /home, a worldedit.selection.pos pozwala zaznaczać regiony.
Zamiast przypisywać uprawnienia każdemu 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 podejście, które znasz z systemów 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 zastąpił PermissionsEx
Jeszcze w 2018-2019 roku większość polskich serwerów korzystala z PermissionsEx (PEX) lub GroupManager. Oba pluginy zostały porzucone przez swoich autorów i przestały otrzymywać aktualizacje. PermissionsEx 2.x mial powstac jako następca, ale projekt nigdy nie wyszedl ze fazy alfa i ostatecznie został porzucony w 2021 roku.
LuckPerms przejął dominacje z kilku powodow:
- Aktywny rozwój - 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 uprawnień na całej sieci serwerów
- Edytor webowy - graficzny interfejs w przeglądarce, który eliminuje potrzebę edycji plików 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 się na grupach z dziedziczeniem. Typowa hierarchia na serwerze survival:
Admin (waga 100) - pełen dostęp
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) - domyślna grupa, podstawowe uprawnienia Dziedziczenie oznacza, ze Moderator automatycznie posiada wszystkie uprawnienia Helpera, VIP-a i Gracza, plus własne. Nie musisz kopiować 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 uprawnień
/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 (wyświetlane 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 zarządzać grupami, uprawnieniami i graczami.
Edytor pozwala na:
- Przeglądanie i edycje wszystkich grup i graczy w jednym widoku
- Dodawanie/usuwanie uprawnień z wyszukiwarka (podpowiada istniejące nody z zainstalowanych pluginów)
- Przeciąganie grup w hierarchii dziedziczenia
- Edycje prefixow, sufixow i metadanych
- Eksport i import konfiguracji
Po zakończeniu edycji klikasz "Save" i edytor generuje komendę do wklejenia w konsoli serwera. Zmiany sa aplikowane natychmiast, bez restartu.
Edytor jest szczególnie przydatny przy początkowej konfiguracji serwera, kiedy musisz ustawić dziesiątki uprawnień dla wielu grup jednoczesnie. Jest tez bezpieczniejszy niż ręczna edycja plików YAML, bo waliduje składnię i zapobiega typowym bledom.
Najważniejsze komendy
| Komenda | Co robi |
|---|---|
/lp user Gracz info | Wyświetla informacje o graczu (grupy, uprawnienia) |
/lp user Gracz parent set grupa | Ustawia główna grupę 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 uprawnień |
Komenda /lp verbose jest bezcenna przy debugowaniu. Kiedy gracz mówi "nie mogę użyć komendy X", włącz verbose, poproś go o użycie komendy, a LuckPerms pokaże dokładnie jaki nod uprawnienia jest sprawdzany i dlaczego jest odrzucany. Oszczędza godziny zgadywania.
Konteksty i zaawansowane ustawienia
Konteksty pozwalają ograniczać uprawnienia do konkretnych warunkow. Na przykład gracz może mieć 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 przykład VIP na 30 dni:
/lp user Gracz parent addtemp vip 30d Tymczasowe uprawnienia automatycznie wygasają po upływie czasu. To standard na serwerach sprzedających rangi VIP - kupujesz range na miesiąc, plugin automatycznie ja zdejmuje po 30 dniach.
Konfiguracja i backend danych
Domyślnie LuckPerms przechowuje dane w plikach YAML w folderze plugins/LuckPerms/. Na większych serwerach lub sieciach serwerów rekomendowana jest baza danych:
- MySQL / MariaDB - najpopularniejszy wybór, współdzielony między serwerami w sieci
- PostgreSQL - alternatywa dla MySQL
- MongoDB - dokumentowa baza, rzadziej używana
- 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: hasło Przy sieci serwerów (np. lobby + survival + minigry) wszystkie serwery łączą się z ta sama baza. Zmiana rangi na jednym serwerze natychmiast obowiązuje na wszystkich, bez konieczności synchronizacji.
Powiązane: EssentialsX (komendy kontrolowane uprawnieniami), Vault (integracja z chatem), WorldGuard (uprawnienia regionów).