Bukkit Plugin – PermissionsEx

Czas zacząć od instalowania na nasz serwer wtyczek, które go usprawnią i zwiększą jego możliwości. Pierwszą będzie podstawowa i wszystkim znana wtyczka odpowiedzialna za permisje. Gdyby nie ona, nikt nie miałby praw do wykonywania czegokolwiek. Praktycznie każdy inny plugin opiera się na permisjach, dzięki którym możesz ustalić prawa graczy związanych z tymi wtyczkami. Dla niektórych obsługa tej wtyczki może być problematyczna, ale postaram się wyjaśnić krok po kroku jak ją konfigurować.

PermissionsEx jest jak wszystkie wtyczki dostępne na stronie Bukkit.org(Pobierz). Ważne jest jednak by pobrać odpowiednią wersję, która właściwie pasuje do serwera. Jest to dość ważna kwestia, ponieważ spora liczba pluginów może być już nieobsługiwana przez najnowsze wersje Craftbukkit. Jeśli nie jesteś pewien, na jaką wersję jest dany plugin, to zainstaluj go na serwerze, a następnie sprawdź komendą /pl. Każdy plugin, który zostanie błędnie wczytany będzie zabarwiony na czerwono. Jednak część z nich wciąż może prezentować zielony kolor i tak będąc niesprawnymi. Najlepiej po załadowaniu serwera sprawdzić konsolę w poszukiwaniu błędów, można je łatwo rozpoznać. Oznaczają się tagiem [SEVERE] oraz przedstawiają nazwę wtyczki wraz z listą wykrytych błędów. Poniżej przykład:

15:55:20 [SEVERE] Error occurred while enabling NAZWA PLUGINU(Is it up to date?): Found interface org.bukkit.command.ConsoleCommandSender, but class was expected
java.lang.IncompatibleClassChangeError: Found interface org.bukkit.command.ConsoleCommandSender, but class was expected
at ...

Instalacja wtyczek to proces, który polega jedynie na przerzuceniu odpowiednich plików do katalogu „plugins”. Jednak konfigurowanie zainstalowanych pluginów może dla niektórych być problematyczne. Większość dodatków po pobraniu to zaledwie sam plugin, a pliki konfiguracyjne pojawiają się dopiero po pierwszym uruchomieniu. Także po dodaniu jakiegokolwiek pluginu, odpal tymczasowo serwer, by mogły wygenerować się odpowiednie pliki konfiguracyjne.

Dzisiaj będziemy omawiać wtyczkę, jaką jest PermissionsEx. Zwykle edytuje się ja po dodaniu jakiegokolwiek innego pluginu w celu ustalenia praw do użytkowania jej dla wybranych grup.

PermissionsEx pozwala na tworzenie grup oraz ustalania im praw. Prawa te nazywane są Node, możemy nadawać je wybranym grupom. Przeważająca ilość wtyczek obsługuje permisje, czyli posiada swoją listę praw, jakie możemy nadać konkretnym grupom.

Po zainstalowaniu PermissionsEx otrzymamy jego katalog z dwoma plikami konfiguracyjnymi. Pierwszym z nich jest config.yml. Rozszerzenie tego pliku powoduje, że tekst, jaki będziemy zapisywać w nim, będzie szczegółowo brany pod uwagę podczas ładowania serwera. Popełnienie w nim jednego błędu spowoduje niewłaściwe wczytanie pluginu lub jego wyłączenie. Początkującym nie polecam edytowania czegokolwiek w tym pliku. Standardowe ustawienia są stworzone tak, by każdy mógł używać wtyczki bez problemów.

Drugim plikiem jest permissions.yml i tym będziemy interesować się przez większość czasu działania naszego serwera. Edytowanie go to dość prosta sprawa, jeśli nie zapomnimy o zasadzie działania pliku yml. Wyjaśnię ją pokrótce na przykładzie poniżej.

Linia główna #1:
    Ta linia podlega linii #1:
        - Ta linia podlega linii powyżej.
Linia główna #2:
    Ta linia podlega linii #2, ale nie podlega linii #1.

Pierwsza linia nie zawiera żadnych wcięć w tekst, to znaczy, że jest najważniejszą linią w hierarchii. Każda linia, która jest poniżej linii #1, posiadająca wcięcia w tekst podlega tej linii. Każda linia, która jest poniżej linii z mniejszą ilością wcięć, podlega niej. Każde wcięcie w tekst to cztery spacje.

Jeśli już rozumiecie, to poniżej zamieszczam przykładowy kod na grupy do PermissionsEx.

groups:
    Gość:
        default: true
        permissions:
        – Przykładowy.Node
    Gracz:
        prefix: ‘&7[GRACZ]&0 ‘
        permissions:
        – Node.Gracza
    Admin:
        prefix: ‘&4[ADMIN]&0 ‘
        permissions:
        – ‘*’
users:
    KodekPL:
        group:
        – Admin
    LosowyGracz:
        group:
        – Gracz

Pierwsza linia, czyli „groups:” to wcześniej wspomniana Linia główna #1. Definiuje ona, gdzie w kodzie znajdują się wymyślone przez nas grupy. Także każda linia, która jest poniżej groups, zawierająca pojedyncze wcięcie w tekst oznacza grupę.

Typową grupą początkową jest Gość. Każda linia poniżej zawierająca wcięcie ustala jakieś ustawienia tej grupy. Pierwszym ustawieniem jest:

default: true – Ustawienie to, decyduje czy grupę tę ma przyjmować każdy nowy gracz, jaki wejdzie na serwer.

Następną linią jest permissions, jednak to rozpoczyna listę praw, jakie będziemy nadawać grupie. Przykładowym prawem, jakie wpisałem w grupę Gość, jest Przykładowy.Node. Każde takie prawo poprzedzamy myślnikiem, a jest to wprowadzone wyłącznie dla zachowania czytelności.

Następną grupą jest Gracz. Różni się on tym, że posiada prefix i nie jest domyślną grupą dla nowych użytkowników serwera. Prefix to przedrostek, jaki będzie pojawiać się przed nazwą gracza. Jednak wymagane jest posiadanie pluginu, jaki zaleca PermissionsEx, by te prefixy były widoczne. Ja jednak polecam inny plugin, który opiszę wkrótce(EssentialsChat).

Ostatnią grupą jest Admin. Posiada on również prefix, ale poza tym wyróżnia się specyficznym Node. To prawo pozwala administratorowi na wszystko. Gwiazdka definiuje wszystkie możliwe prawa dostępnych wtyczek, także nie musicie wypisywać ich po kolei, jeśli chcecie mieć dostęp do wszystkich pluginów.

Na samym końcu możemy zobaczyć kolejną linię główną. Nie posiada ona żadnych wcięć, także jest całkowicie odseparowana od tekstu powyżej. Prezentuje ona użytkowników, którzy należą do wybranych grup. Nie ma w tym żadnej filozofii. Nazwa gracza oraz grupa, do której należy. Jeśli zrozumieliście wszystko, co napisałem powyżej, nie powinno być dla was problemem zrozumienie zapisu tej listy.

Na końcu wpisu znajdziecie pełną listę praw, jakie oferuje PermissionsEx.

Ostatnią sprawą związaną z tą wtyczką są komendy. Podczas gry możecie dodawać wybranych użytkowników do grup, tworzyć nowe grupy, czy nawet dodawać permisje do konkretnych grup.

Każdą komendę rozpoczynać będziemy frazą /pex. Wpisując samo /pex możemy uzyskać szybką pomoc związaną z tą wtyczką. Poniżej przedstawię tylko kilka najważniejszych komend, całą resztę znajdziecie tutaj.

/pex reload – Ponownie wczytuje bazę permisji.

/pex user PSEUDONIM delete – Usuwa permisje wybranego użytkownika.

/pex user PSEUDONIM group set GRUPA – Za pomocą tej komendy ustalamy grupę wybranemu graczowi.

Lista permisji PermissionsEx

permissions.manage.* – Dodawanie użytkowników, grup i permisji(Przydatne dla moderatorów).

Bardziej złożone permisje znajdziecie TUTAJ oraz TUTAJ.