Hallo alle Zusammen,
hier ist ein Plugin, dass vielleicht manche unter einem anderen Namen bereits kennen.
Manche von euch kennen dieses Plugin im Spiel "Minecraft". Es heißt: "PermissionEx"
Dieses Plugin läuft mit YAML-Daten. Dort wird in einer "permission.yml" die Gruppen und Spielerberechitigungen geladen.
Das Plugin kann auch von anderen Entwicklern genutzt werden, um eigene Plugin-Permissions zu bauen.
Für Admin eines Servers, sind solche Plugins ein wichtiger Bestandteil, um einen Server zu schützen und zu verwalten.
Das beste an der Sache: Es können nun auch "Supports" für Plugins angelegt werden.
Admins müssen z.B. nicht mehr selber Grundstücke anlegen. Dass kann jetzt auch der Support übernehmen, ohne Admin-Rechte.
Hier ist eine grobe Erklärung der permissions.yml (Genaue Erklärung folgt später in der PDF
4 inheritance: [] <---- Liste "Inheritance" - [] = Leere Liste, wenn ihr hier einen neuen Eintrag machen wollt, dann bitte "[]" löschen, neue Zeile und mit "-" hinzufügen. Sieh Admin!
6 chatColor: '[#ffffff]' <---- Folgendes erhält beim Chat diese Farbe: PREFIX, SUFIX, SPIELERNAME. Meldung bleibt weiß! "[]" immer mitschreiben!
default: true <---- Die Gruppe ist "default" auf "true" gestellt, bedeutet dass diese Gruppe die erste ist, die man als neuer Spieler erhält.
prefix: New <------- PREFIX: Steht immer im Chat VOR dem Spielername (Bespiel: [ADMIN] PatickBronke: <Meldung>) - Hinweis: Wenn leer (''), dann wird es ausgeblendet
- -aktivesign.sign.create.* <---- "Negativ"-Permission (Ist nur Beispiel - existiert noch nicht) - Hier der der Spieler keine AktiveSigns erstellen! "-" = Außer! (Später mehr)
- aktivesign.signs.* <--- Ein "Positiv"-Permission(Ist nur Beispiel - existiert noch nicht) ".*" = Spieler darf alle Schilder von AktiveSign nutzen.
(2, 4, 6 = So viele Leerschritte müssen die einzelnen Optionen eingerückt werden, sonst mach die permissions.yml einen Fehler.)
Wenn ihr euch sicher gehen wollt, ob die permissions.yml richtig geschrieben ist, empfehle ich entweder eine Kopie der "Admin"-Gruppe zu erstellen (Markieren und STR + C und dann vor "users" wieder einfügen STR + V - WICHTIG: Leerzechen vor dem Gruppennamen mitnehmen.)
Die permissions.yml kann mit dem Befehl /pm reload neu geladen werden!
Bei diesem Plugin gibt es eine bestimmte Reihenfolge, wie eine Permission ausgewertet wird.
- Player-Permissions (Negativ & Positiv)
- "Negativ"-Gruppen-Permissions
- "Positiv"-Gruppen-Permissions
Das heißt: Spieler-Permissions haben immer eine größere Priorität als eine Gruppen-Permission. Was in der Gruppe verboten ist, kann für einen einzelnen Spieler erlaubt werden.
Dann kommen die Negativ-Permissions: Wurde also dem Spieler explizit verboten, dies zu tun? Wenn das auch nicht zutrifft, dann wird erst nach dem "Positiven"-Gruppen-Permission
In diesem Bespiel darf die Gruppe "default" in AktiveSign alles machen, außer Schilder erstellen.
Um somit nicht so viele Permissions schreiben zu müssen, benutzt man die "Negativ"-Permissions
Alle ADMINS (müssen in der server.propertiys eingetragen sein), können den Befehl /pm eingeben und laden automatisch in der Admin-Gruppe, die in der Config festgelegt ist.
/pm help
- Zeigt die Hilfe
Permission: permissionmanager.help
/pm reload
- Permission neu laden
Permission: permissionmanager.reload
/pm group <group> create
- Erstellt eine neue Gruppe
Permission: permissionmanager.groups.create
/pm group <group> delete
- Löscht eine Gruppe
Permission: permissionmanager.groups.delte
/pm group <group> info
- Zeigt alle Informationen über die Gruppe an
Permission: permissionmanager.groups.info
/pm group <group> add <permission>
- Fügt einer Gruppe eine Permission hinzu
Permission: permissionmanager.groups.permissions.add
/pm group <group> remove <permission>
- Löscht ein Permission von der Gruppe
- Permission: permissionmanager.permissions.remove
/pm group <group> addi <inheritance>
- Fügt ein "Inheritance" hinzu (Geerbt von)
- Permission: permissionmanager.groups.inheritance.add
/pm group <group> removei <inheritance>
- Löscht eine "Inheritance" von der Gruppe
- Permission: permissionmanager.groups.inheritance.remove
/pm group <group> prefix
- Löscht die Prefix einer Gruppe
- Permission: permissionmanager.groups.prefix
/pm group <group> prefix <prefix (text)
- Ändert die Prefix einer gruppe
- Permission: permissionmanager.groups.prefix
/pm group <group> sufix
- Löscht die Sufix einer Gruppe
- Permission: permissionmanager.groups.sufix
/pm group <group> sufix <sufix (text)>
- Ändert die Sufix einer gruppe
- Permission: permissionmanager.groups.sufix
/pm group <group> rank <number>
- Ändert den Rank (Noch keine Auswirkung) ( -1 = Aus)
- Permission: permissionmanager.groups.rank
/pm group <group> default <true|false>
- Ändert den "default"-Wert einer Gruppe
- Permission: permissionmanager.groups.default
/pm user <playername> info
- Zeigt die Spielerinformationen an
- Permission: permissionmanager.users.info
/pm user <playername> add <permission>
- Fügt den Spieler eine Permission hinzu
- Permission: permissionmanager.users.permissions.add
/pm user <playername> remove <permission>
- Löscht vom Spieler eine Permission
- Permission: permissionmanager.users.permissions.remove
/pm user <playername> setgroup <group>
- Ändert die Gruppe eines Spielers
- Permission: permissionmanager.users.group.set
/pm user <playername> addgroup <group>
- Fügt einem Spieler eine Gruppe hinzu
- Permission: permissionmanager.users.group.add
/pm user <playername> removegroup <group>
- Löscht vom Spieler eine Gruppe
- Permission: permissionmanager.users.group.remove
Weitere Permission:
'*' = Alleskönner-Permission (Admin-Rechte) - WICHTIG: Es können aber mit Negativ-Permission auch Admin die Rechte entzogen werden.
Information zu den letzten beiden Kommandos: Mann kann einem Spieler nicht nur eine Gruppe zuweisen! Die Gruppe, die als erstes in der Liste steht, wird im Chat als Prefix/Sufix angezeigt.
ToolsAPI
Allgemeiner Hinweis:
Dieses Plugin unterscheidet nicht mehr zwischen ADMIN und Spieler. Es unterscheidet nur noch zwischen "Hast du die Permission oder hast du sie nicht!"
Auch einer mit Admin-Rechte kann bestimmte Berechtigungen nicht haben, wenn bei ihm die Permission nicht drinnen steht.
Sollte ein Fehler auftreten, dann bitte mir bescheid geben. Wenn ein Fehler beim Auswerten kommt, kommt immer ein "NEIN" zurück. (Aus Sicherheitsgründen)
Viel Spaß!
P.S
Vielen Dank noch an noci für seine Unterstützung. Ohne ihn, hätte ich das nicht geschafft.
UPDATE 1.1.0 - Servergroup (Mehr Infos: HIER)
UPDATE 1.1.1 - Nur ein paar Befehle hinzugefügt. Es hat sich NICHTS an der javadoc geändert!!