PermissionsEx

Aus Nitradopedia
Wechseln zu: Navigation, Suche
PermissionsEx (PEX)
PermissionsEx.png
Servermod: Bukkit
Kategorie: Permissions
Entwickler: t3hk0d3
Entwicklerwebsite: Link
Was bewirkt es? Verwaltung der Rechte
Besonderheiten: Dient der Verwaltung von Spielerrechten
Download: Link

Herzlich Willkommen zum PermissionsEx Tutorial.
PermissionsEx (PEX) ist ein Permissions (Rechte)-Plugin, welches auf dem Plugin Permissions von TheYeti / Nijikokun basiert. Es unterstützt außerdem den neusten Bukkit-Permissions-Standard, sowie ein leistungsstarkes und strukturiertes Ingame Befehls-Management und feinkörnige Einstellungen für Veränderungen durch Spieler an Welten (dieser Teil von PEX heißt Modifyworld).

Besonderheiten:

  • YAML-Backend: "permissions.yml" - Alle Benutzer, Gruppen und ihre Berechtigungen werden in einer Datei gespeichert.
  • MySQL und SQLite Unterstützung, aber auch andere DB-Server (wie PostgreSQL) sind möglich. PEX erstellt beim Serverstart das DB-Schema (Tabellen und erste Daten) automatisch.
  • Zahlreiche Chat- und Konsolen-Befehle, die sich alleine über die Befehle InGame steuern lassen, ein Verändern der Dateien ist nicht mehr notwendig.
  • Komplette Steuerung von Veränderung der Welt durch Spieler (Modifyworld). Es bietet die Möglichkeit die Handlungen der Spieler einzuschränken. Zum Beispiel das Zerstören/Abbauen von Blöcken, Boote fahren oder nicht von Mobs angegriffen werden zu verbieten bzw. zu erlauben. Standardmäßig aktiviert.
  • Es können Vererbungen der Gruppen eingestellt werden, die Option für Präfix/Suffix ist vorhanden.
  • Multi-World-Berechtigungen - globale Berechtigungen
  • Einfache Migration von Permissions 2.x! Konverter für YAML und SQL wurden in PermissionsCompat eingebettet.
  • Auf Performance abgestimmt - Low-Level-Caching hilft viel, wenn 100+ Spieler online sind (Verringert die Serverauslatung).
  • Chat-Manager - kleines Chat-Plugin, gebündelt mit PEX. Beinhaltet Standardeinstellungen wie die Anzeige von Präfixen, Suffixen und Farben. (Besser geeignet sind Mchat oder Herochat).

Installation

  • Die aktuellste PermissionsEx Version kann hier gefunden werden [1].


Es gibt 2 Möglichkeiten die Installation durchzuführen


1) Über den FTP Browser z.B Filezilla wird ganz einfach die PermissionsEx.jar in den ,,Plugins Ordner gezogen und wird somit auf den Server hoch geladen

Filezilla.jpg



2) Über das Nitrado Webinterface unter ,,Bukkit Plugins kann ganz einfach PermissionsEx installiert werden.


  • Bei Minecraft Bukkit auf "Plugins" klicken
  • PermissionsEx & Version auswählen
  • Auf Installieren klicken

Permissionsex-installation.PNG


  • Verwende die Modifyworld.jar, um den Spielern das Bauen/Angreifen/Zerstören von Blöcken u.v.m. verbieten oder erlauben möchtest.
  • Verwende die ChatManager.jar, wenn du im Chat Format "&-Farbcodes" verwenden willst. (Du kannst jedoch auch andere Chatplugins wie z.B. herochat oder mchat verwenden)


PermissionsEx (PEX) wird alle benötigten Konfigurations-Dateien bei der ersten Nutzung automatisch erstellen.
Stelle sicher, dass PermissionsEX (PEX) das einzige Permissions-Plugin auf dem Server ist!

Die "permissions.yml" die man standardmäßig im Hauptverzeichnis findet darf nicht verwendet werden!

Erste Schritte

  • Nachdem die PermissionsEx.jar auf den Server hochgeladen wurde erstellt diese einen Ordner mit dem Namen: ,,PermissionsEx in diesem befindet sich die "permissions.yml" und "config.yml"
  • Nach dem Erstellen der Konfiguration mit dem Namen: ,, Permissions.yml wird diese mit dem Notepad bzw. Notepad ++ geöffnet
  • Aktiviere ChatManager falls installiert, gehe dazu auf: plugins/ChatManager/config.yml, setze "enable: true"

Im nächsten Artikel wird gezeigt, wie man die "permissions.yml" konfiguriert und wie man sie richtig verwendet.

Gruppen erstellen

Als erstes wird eine "Admin" Gruppe erstellt, welche alle Permissions (Zu Deutsch "Rechte") hat und so den Server richtig administrieren kann. Dies kann über zwei Wege geschehen. Entweder über die Konsole oder indem man die "permissions.yml" direkt editiert.

Über die Konsole:

Um eine Gruppe zu erstellen geht man in die Nitrado Konsole und schreibt:

pex group Admin create

Mit diesem Befehl gibt man nun dieser Gruppe alle Rechte:

pex group Admin add *

Jetzt muss nur noch der Serverleiter der Gruppe "Admin" hinzugefügt werden.

pex user DeinSpielerName group set Admin


Über die Permissions.yml im PermissionsEx Ordner:

Einfach folgendes in die permissions.yml einfügen:

# Einen Kommentar ueber eine Zeile erstellt man mit einem Raute-Zeichen. 
groups:
 Spieler:
   default: true
   prefix: 'Spieler'
   suffix: ' '
   permissions:
 Admin:
   default: false
   prefix: 'Admin'
   suffix: ' '
   permissions:
   - '*'
users:
    DeinSpielerName:
        group:
        - Admin


ACHTUNG: Nur der Serverleiter sollte in der Ops.txt (diese Datei ist im Hauptverzeichnis auffindbar) eingetragen sein. Da diese die Adminrechte von PEX überschreibt, die in der Konfiguration eingetragen sind! Durch das eintragen des Namens in die Ops.txt Datei wird einem Spieler der komplette Zugriff auf alle Befehle gewährt und somit auch Zugriff auf den Server, daher sollte nur mit Bedacht ein Spieler in die Ops.txt eigetragen werden.!

Die Standardgruppe (Spieler) sollte keine Adminrechte bekommen, damit ist die Permissionnode (- '*') gemeint.

Wir merken uns also:
Um Gruppen zu erstellen wird folgender Befehl verwendet: /pex group NameDerGruppe create
Um einen Spieler in eine andere Gruppe zu setzten verwenden wir: /pex user SpielerName group set Gruppe
Um dem Serverleiter alle Rechte zu geben verwenden wir: /op SpielerName

Permissions hinzufügen

Wenn eine Gruppe als Standard Gruppe festgelegt werden soll, in der jeder neue Spieler automatisch eingeteilt wird muss bei "default" in der Permissions.yml die Einstellung auf "default: true" geändert werden. Die anderen Gruppen hingegen können ein "default: false" beinhalten, dies ist aber nicht notwendig.

groups:
 Spieler:
   default: true    #<--
   prefix: 'Spieler'
   suffix: ' '
   permissions:

Um einer Gruppe z.B. für Modifyworld genügend Rechte zu geben, so dass diese normal Spielen können, wird die Permission-Node "modifyworld.*" hinzugefügt.

Diese kann entweder per Konsole gegeben werden oder InGame (sollte derzeit ein "Admin" Online sein). Es spielt keine Rolle da die Befehle gleich sind.

Um also einer Gruppe eine gewisse Permission zu geben, wird folgender Befehl verwendet

pex group <GruppenNamen> add <Permission>

Nun wird z.B. der Gruppe "Spieler" die Permission-Node modifyworld.* gegeben. Dazu wird Ingame oder per Konsole folgender Befehl verwendet:

pex group Spieler add modifyworld.*

Nun hat die "Spieler" Gruppe die Permission modifyworld.*. Nun sollte die Permissions.yml folgendermaßen aussehen:

groups:
 Spieler:
   default: true
   prefix: 'Spieler'
   suffix: ' '
   permissions:
   - modifyworld.*
 Admin:
   default: false             #<-- Optional. Wird im weiteren Verlauf des Tutorials weggelassen
   prefix: 'Admin'
   suffix: ' '
   permissions:
   - '*'
users:
    DeinSpielerName:
        group:
        - Admin


Nochmal eine Zusammenfassung:
Der Befehl um einer Gruppe eine Permission hinzuzufügen lautet: /pex group GruppenNamen add Permission
Um Eine Permission für eine bestimmte Welt zu geben wird folgender Befehl verwendet: /pex group GruppenNamen add Permission DerNameDerWelt

  • Mit diesem Befehl wird nur der Gruppe in der Welt die ausgewählt wurde der Befehl erlaubt z.B. der Befehl /fireball.



Negative Permissions:
Sollte eine Gruppe alle Rechte (-'*') bekommen aber die Gruppe soll trotzdem nicht alle Rechte haben oder z.B. keine "Server-Stopp-Rechte" dann wird vor die Permission die nicht erlaubt werden soll ein Bindestrich gesetzt. Dies sieht dann wie folgt aus:

 groups:
  Admin:
    prefix: 'Admin'
    suffix: ' '
    permissions:
    - -bukkit.command.stop          #<-- Das heißt, die Gruppe hat alle Rechte außer den Server mit /stop zu stoppen (dies geht mit allen Rechten)
    - '*'

Präfixe vergeben

pex group <GruppenNamen> prefix <Präfix>

Soll beispielsweise der Admin Gruppe der Prefix "[Admin]" gegeben werden ,wird folgender Befehl verwendet:

pex group Admin prefix &4[Admin]

Nun haben die Spieler der Gruppe "Admin" ein Rotes [Admin] Prefix.


Das "&4" ist der Farbcode, andere Farbcodes stehen in der Farbliste darunter:

ColorCode.png

Farbcodes werden immer mit "&" + Buchstaben/Nummer ohne "#" verwendet.

Die Zusammenfassung:
Um ein Prefix zu vergeben wird der Befehl: /pex group GruppenNamen prefix Prefix verwendet.


Erbung & Ranking

Nun kommt das "Erbung & Ranking" System von PermissionsEx an die Reihe.

Erbung:
Wird beispielsweise eine neue Gruppe "Minenarbeiter", mit den oben genannten Befehlen oder über die Permissions.yml im PermissionsEx Ordner, erstellt,
so kann z.B. die "Minenarbeiter"-Gruppe die Rechte der "Spieler" Gruppe erben. Dies wird mit einer neuen Zeile der "inheritance" erreicht. Dies sieht wie folgt aus..

 groups:
  Spieler:
    default: true
    prefix: 'Spieler'
    suffix: ' '
    permissions:
    - modifyworld.*
  Minenarbeiter:
    prefix: 'Minenarbeiter'
    suffix: ' '
    inheritance:
    - Spieler      #<-- Das Bedeutet der Spieler in der Gruppe "Minenarbeiter" erbt alle Rechte der Gruppe "Spieler". Hier das Recht "- modifyworld.*".
    permissions:    #<-- Nun hat die Gruppe "Minenarbeiter" alle Rechte der "Spieler" Gruppe und noch weitere Rechte, die aber nicht auf die "Spieler" Gruppe zutreffen.
    - simplewarp.user
    - herochat.join.global
  Admin:
    prefix: 'Admin'
    suffix: ' '
    permissions:
    - '*'



Ranking:
Wenn ein Spieler Promoted (aufgestuft) oder Demoted (abgestuft) werden soll geht dies entweder per PermissionsEx oder einfach über das Plugin SetRankPex Mit diesem Plugin ist es ganz einfach einen Spieler zu Promoten oder Demoten

Vorher muss noch ein "Rank" definiert werden:

In der "permissions.yml" würde das wie folgt aussehen.

    vip:
        inheritance:
        - default
        prefix: '&6[VIP]&f'
        permissions:
        - commandbook.home
        options:
            rank: '30'

Der Befehl dazu wäre "/pex group vip rank 30". Es gilt: Je höher der Rank der Gruppe, desto niedriger ist die Gruppe selbst. Demnach ist 1 der höchste Rang.

Mit PermissionsEx ohne SetRankPex funktioniert dies folgendermaßen

  • 1) /pex promote <Gruppe> <z.B. Spieler , Premium , Moderator , Admin , Leiter>

Mit SetRankPex funktioniert dies wie folgt:

  • 2) /rank Spielername Gruppe


Zusammenfassung:

Die Zeile um Erbungen zu erstellen heißt "inheritance:"
und der Befehl um Ranks zu setzen: /pex promote <Gruppe> <z.B. Spieler , Premium , Moderator , Admin , Leiter>

Zum Abschluss


Gratulation, du hast nun das Tutorial abgeschlossen und bist in der Lage mit PermissionsEx umzugehen sowie zu Konfigurieren!
Falls Probleme auftreten, Permissions nicht funktionieren, dann lasse deine permissions.yml hier kontrollieren.

Hier das Englisches-Wiki von PermissionsEx.

Hier ist noch eine fertige "permissions.yml" eines Servers:

groups:
    default:
        default: true
        permissions:
        - lwc.protect
        - bm.use
        - dt.home
        - dt.travel
        - ChestShop.shop.create
        - modifyworld.*
        - courier.send
        - courier.write
        - courier.list
        - commandbook.msg
        - mcmmo.ability.*
        - mcmmo.skills.*
        - mcmmo.chat.partychat
        - commandbook.away
        - commandbook.spawn
        - commandbook.who
        - commandbook.kit.list
        - commandbook.kit.kits.starter
        - commandbook.warp.teleport
        - iConomy.holdings
        - iConomy.help
        - iConomy.payment
        - ChestShop.shop.buy
        - ChestShop.shop.sell
        - multiverse.access.*
        - multiverse.portal.access.*
        - ultimatearena.player
        prefix: '&7[Spieler]&f'
        options:
            rank: '100'
        worlds:
            world_creative:
                permissions:
                - simpleregionmarket.buy
            world_city:
                permissions:
                - simpleregionmarket.buy
                - commandbook.home.set
                - commandbook.home.teleport
            world_mining:
                permissions:
                - -lwc.protect
    vip:
        inheritance:
        - default
        prefix: '&6[VIP]&f'
        permissions:
        - commandbook.kit.kits.vip
        - commandbook.time.set
        - commandbook.teleport
        - commandbook.teleport.other
        options:
            rank: '30'
    Builder:
        inheritance:
        - vip
        permissions:
        - worldedit.*
        - whomode.use
        prefix: '&6[Builder]&f'
        options:
            rank: '10'
    Mod:
        inheritance:
        - Builder
        permissions:
        - commandbook.kick
        - commandbook.bans.ban
        - commandbook.bans.unban
        prefix: '&e[Mod]&f'
        options:
            rank: '10'
    Admin:
        permissions:
        - -vanish.silentjoin
        - '*'
        prefix: '&6[Admin]&f'
        suffix: '&4'
        options:
            rank: '1'
users:
    Spieler1:
        group:
        - default
    Spieler2:
        group:
        - vip
    Spieler3:
        group:
        - vip
    Spieler4:
        group:
        - Builder
        permissions:
        - spectate.use


Fehler finden

  • 1) Sollte es zu Problemen kommen, überprüfe deine Permissions.yml auf dieser Internetseite: Überprüfung der YML-Dateien
    Kopiere den Inhalt einer Datei und füge sie in die linke Spalte ein. Sollte es zu einem Fehler kommen, so hast du sehr wahrscheinlich "Tabs"
    verwendet oder die Formatierung nicht richtig beachtet!
  • 2) Achtet immer auf die Abstände vor den "Wörtern." Wenn bei "Admin" vier Leerzeichen davor sind, dann müssen diese vier Leerzeichen bleiben! Es darf nichts an der "Anordnung" geändert werden
  • 3) Verwendet keine Umlaute wie Ä, Ö, Ü oder ß. Damit kann Permissions nicht umgehen und es kommt zur einer Fehlermeldung!


Über diesen Artikel

Dieses Tutorial basiert auf der Plugin-Version 1.19.5
Dieses Tutorial wurde erstellt durch: McRain Dieses Tutorial wurde erstellt am: 08.10.2011
Zuletzt bearbeitet durch: NameLess Letzte Aktualisierung am: 12.07.2013