Discord
Wiki - Serwery

Zarzadzanie graczami na serwerze Minecraft

Rangi, uprawnienia, prefiksy i moderacja. LuckPerms to standard branzy, a ten poradnik pokaze Ci, jak go skonfigurowac od zera.

Czas czytania: ~15 min Poziom: Sredniozaawansowany

Po co system uprawnien?

Wbudowany system Minecrafta zna tylko dwa poziomy dostepu: zwykly gracz i operator (OP). OP ma dostep do wszystkiego: /stop, /ban, /gamemode, blokow komend. Nie ma nic pomiedzy. Na serwerze dla 3 znajomych to wystarczy. Na serwerze publicznym to recepta na katastrofe.

Plugin uprawnien rozwiazuje ten problem, dajac granularna kontrole. Mozesz stworzyc range "Moderator", ktora pozwala na /kick i /mute, ale nie na /stop ani /op. Albo range "Budowniczy" z dostepem do WorldEdit, ale bez komend administracyjnych.

LuckPerms to standardowy plugin uprawnien od lat. Jest darmowy, open source, aktywnie rozwijany i obsluguje Paper, Spigot, BungeeCord, Velocity, Fabric i Forge. Nie ma powodu, zeby uzywac czegos innego.

Instalacja LuckPerms

  1. Pobierz LuckPerms z oficjalnej strony luckperms.net/download. Wybierz wersje odpowiednia dla swojego serwera (Bukkit/Spigot, BungeeCord, Velocity, Fabric, Forge).
  2. Wrzuc plik .jar do folderu plugins/ (lub mods/ dla Fabric/Forge).
  3. Zrestartuj serwer. LuckPerms wygeneruje folder konfiguracyjny plugins/LuckPerms/ z plikiem config.yml.
  4. Sprawdz dzialanie: wpisz /lp w konsoli. Powinienes zobaczyc informacje o wersji i dostepnych komendach.

Baza danych: Domyslnie LuckPerms uzywa pliku H2 (lokalnego). Na wiekszych serwerach lub sieciach serwerow przełacz na MySQL/MariaDB w config.yml, zeby moc synchronizowac uprawnienia miedzy serwerami.

Tworzenie rang (grup)

Grupa (group) w LuckPerms to ranga. Kazdy gracz nalezy do co najmniej jednej grupy. Domyslna grupa to default, do ktorej trafiaja wszyscy nowi gracze.

# Stworz grupy /lp creategroup vip /lp creategroup helper /lp creategroup moderator /lp creategroup admin # Usun grupe /lp deletegroup stara_grupa # Lista grup /lp listgroups

Przypisywanie graczy do rang

# Ustaw glowna grupe gracza /lp user Gracz parent set vip # Dodaj dodatkowa grupe (gracz moze byc w wielu grupach) /lp user Gracz parent add helper # Usun grupe od gracza /lp user Gracz parent remove vip # Sprawdz grupy gracza /lp user Gracz parent info # Tymczasowa ranga (np. VIP na 30 dni) /lp user Gracz parent addtemp vip 30d

Tymczasowe rangi to swietny mechanizm dla serwerow ze sklepem. Gracz kupuje VIP na miesiąc, a LuckPerms automatycznie odbierze range po uplywie czasu.

Przypisywanie uprawnien

Kazdy plugin definiuje wlasne permisje (permissions). Na przyklad EssentialsX uzywa essentials.home, essentials.tpa, essentials.fly. Dodajesz je do grupy tak:

# Dodaj permisje do grupy /lp group default permission set essentials.home /lp group default permission set essentials.tpa /lp group default permission set essentials.spawn # Odmow permisji (jawne zablokowanie) /lp group default permission set essentials.fly false # Usun permisje z grupy /lp group vip permission unset essentials.fly # Dodaj permisje z wildcardem (wszystkie komendy EssentialsX) /lp group admin permission set essentials.* # Sprawdz permisje grupy /lp group default permission info

Gdzie znalezc permisje pluginow?

  • Dokumentacja pluginu (np. EssentialsX Permissions)
  • Strona pluginu na SpigotMC/BukkitDev (sekcja "Permissions")
  • Plik plugin.yml wewnatrz .jar pluginu
  • Komenda /lp verbose on - pokazuje, jakie permisje sa sprawdzane w czasie rzeczywistym

Verbose to Twoj najlepszy przyjaciel. Nie wiesz, jaka permisja kontroluje dana komende? Wlacz /lp verbose on, wykonaj komende jako gracz testowy, a w logach zobaczysz dokladnie, jaka permisja zostala sprawdzona i czy przeszla. To oszczedza godziny szukania po dokumentacji.

Dziedziczenie rang

Dziedziczenie (inheritance) to mechanizm, dzieki ktoremu wyzsza ranga automatycznie posiada permisje nizszej. Zamiast kopiowac te same permisje do kazdej grupy, budujesz hierarchie:

# Moderator dziedziczy po VIP (ma wszystko co VIP + swoje) /lp group moderator parent add vip # Admin dziedziczy po Moderator /lp group admin parent add moderator # VIP dziedziczy po default /lp group vip parent add default

Efekt: Admin ma permisje Admina + Moderatora + VIPa + default. Wystarczy dodac nowa permisje do grupy default, a wszystkie wyzsze rangi tez ja dostaną.

Typowa hierarchia rang

default (wszyscy nowi gracze) └── vip (dodatkowe komendy, np. /fly, wiecej homow) └── helper (kick, mute, sprawdzanie logow) └── moderator (ban, tempban, vanish, inspekcja) └── admin (pelna kontrola, konfiguracja pluginow)

Wagi rang (weight)

Waga okresla priorytet rangi. Wyzsza waga = wazniejsza ranga. Ma znaczenie przy prefiksach (wyswietlany jest prefiks rangi o najwyzszej wadze) i przy konfliktach uprawnien.

/lp group default meta setweight 1 /lp group vip meta setweight 10 /lp group helper meta setweight 20 /lp group moderator meta setweight 30 /lp group admin meta setweight 100

Prefiksy i formatowanie czatu

Prefiksy to kolorowe tagi przed nickiem gracza na czacie, np. [Admin], [VIP]. LuckPerms przechowuje prefiksy, ale do ich wyswietlania potrzebujesz pluginu czatu.

Ustawianie prefiksow w LuckPerms

# Format: /lp group [grupa] meta setprefix [waga] "[prefiks]" /lp group default meta setprefix 1 "&7[Gracz] " /lp group vip meta setprefix 10 "&6[VIP] " /lp group helper meta setprefix 20 "&a[Helper] " /lp group moderator meta setprefix 30 "&c[Mod] " /lp group admin meta setprefix 100 "&4[Admin] " # Sufiksy (po nicku) /lp group vip meta setsuffix 10 " &e*"

Kody kolorow: &0-&9 i &a-&f dla kolorow, &l bold, &o italic, &r reset.

Pluginy czatu

LuckPerms sam nie formatuje czatu. Potrzebujesz jednego z tych pluginow:

  • LPC (LuckPerms Chat Formatter) - minimalistyczny, wbudowany w LuckPerms (wlacz w config.yml: apply-wildcards: true). Wystarczy na wiekszosc serwerow.
  • EssentialsX Chat - jesli juz uzywasz EssentialsX. Format czatu w config.yml EssentialsX.
  • Vault - warstwa abstrakcji miedzy LuckPerms a pluginami czatu/ekonomii. Wiele pluginow pobiera prefiksy przez Vault.

Edytor webowy LuckPerms

Konfiguracja przez komendy dziala, ale przy wiekszej liczbie rang i permisji robi sie uciazliwa. LuckPerms ma wbudowany edytor webowy, ktory pokazuje wszystko w przegladarce:

# Otworz edytor webowy /lp editor

Serwer wygeneruje jednorazowy link (np. https://luckperms.net/editor/xxxxx). Otwierasz go w przegladarce i widzisz:

  • Wszystkie grupy i ich hierarchie (wizualna drzewo)
  • Permisje kazdej grupy (z mozliwoscia dodawania/usuwania)
  • Metadane (prefiksy, sufiksy, wagi)
  • Uprawnienia poszczegolnych graczy

Po wprowadzeniu zmian klikasz "Save" i kopiujesz komende, ktora wklejasz na serwer. Zmiany sa aplikowane natychmiast. To zdecydowanie najwygodniejszy sposob zarzadzania uprawnieniami.

Wskazowka: Edytor webowy dziala nawet na serwerze bez publicznego IP. Link jest generowany przez serwery LuckPerms i zawiera wszystkie dane. Nie potrzebujesz otwierania portow.

Konteksty - uprawnienia per swiat

Konteksty (contexts) pozwalaja na przypisanie permisji tylko w okreslonym swiecie lub serwerze. Dzieki temu gracz moze miec /fly w swiecie Creative, ale nie w Survival.

# Permisja tylko w swiecie creative /lp group vip permission set essentials.fly true world=world_creative # Permisja tylko w swiecie survival /lp group default permission set essentials.home.multiple.5 true world=world # Na konkretnym serwerze w sieci (BungeeCord/Velocity) /lp group vip permission set essentials.fly true server=creative

Konteksty dzialaja z Multiverse i innymi pluginami swiatow. To potezne narzedzie na serwerach z wieloma swiatami (wiecej o zarzadzaniu swiatami w poradniku o tworzeniu swiatow).

Przykladowa konfiguracja serwera

Oto kompletny przyklad konfiguracji rang dla typowego polskiego serwera Survival z pluginami EssentialsX, WorldGuard i CoreProtect:

Grupa default (nowi gracze)

/lp group default permission set essentials.home /lp group default permission set essentials.home.set /lp group default permission set essentials.spawn /lp group default permission set essentials.tpa /lp group default permission set essentials.tpaccept /lp group default permission set essentials.msg /lp group default permission set essentials.mail /lp group default permission set essentials.balance /lp group default permission set essentials.pay /lp group default permission set griefprevention.claims /lp group default meta setprefix 1 "&7[Gracz] " /lp group default meta setweight 1

Grupa VIP

/lp group vip parent add default /lp group vip permission set essentials.fly /lp group vip permission set essentials.home.multiple.5 /lp group vip permission set essentials.nick /lp group vip permission set essentials.hat /lp group vip permission set essentials.workbench /lp group vip meta setprefix 10 "&6[VIP] " /lp group vip meta setweight 10

Grupa Moderator

/lp group moderator parent add vip /lp group moderator permission set essentials.kick /lp group moderator permission set essentials.mute /lp group moderator permission set essentials.tempban /lp group moderator permission set essentials.vanish /lp group moderator permission set essentials.invsee /lp group moderator permission set coreprotect.inspect /lp group moderator permission set coreprotect.rollback /lp group moderator permission set coreprotect.lookup /lp group moderator permission set worldguard.region.bypass.* /lp group moderator meta setprefix 30 "&c[Mod] " /lp group moderator meta setweight 30

Grupa Admin

/lp group admin parent add moderator /lp group admin permission set * /lp group admin meta setprefix 100 "&4[Admin] " /lp group admin meta setweight 100

Uwaga: Permisja * (wildcard) daje dostep do WSZYSTKIEGO. Uzywaj jej tylko dla grupy Admin. Nigdy dla Moderatora, VIPa czy default. Kazda grupa powinna miec tylko te permisje, ktore naprawde potrzebuje.

Co dalej?

System uprawnien gotowy. Oto co warto zrobic nastepnie:

Komentarze