GroupManager

Aus Nitradopedia
Wechseln zu: Navigation, Suche
(Essentials) GroupManager
Plugin KeinLogo.jpg
Servermod: Bukkit
Kategorie: Permissions
Entwickler: khobbits, md_5, ementalo, etc.
Entwicklerwebsite: Link
Was bewirkt es? Managment der Permissions
Besonderheiten: Dient der Verwaltung von Spielerrechten
Download: Link

GroupManager ist ein weiteres Permissions Plugin wie PermissionsEx und PermissionsBukkit, es erlaubt einem, Gruppen und Spielern Rechte zu vergeben.

Besonderheiten:

  • Eingebautes Anti-Grief Plugin
  • Kompatibilität mit TheYeti (Permissions 2 und 3) - separates Plugin namens "EssentialsGroupBridge"
  • Viele Konsolen- Ingame- Befehle zum modifizieren der Gruppen bzw. Permissions
  • Kompatibel zu dem Bukkit SuperPerms Standard

Installation

Schritt 1 - Es gibt 2 Möglichkeiten, GroupManager zu installieren. Entweder direkt über das Webinterface (Name: EssentialsGroupManager), oder man lädt sich von hier das GroupManager ZIP-Paket herunter, und entpackt es lokal. In diesem Archiv befindet sich das Haupt-Plugin und das Brücken- Plugin zu Permissions 2.x, 3.x. Als nächste muss man die Dateien hoch laden, dies kann direkt über das Webinterface erledigt werden, oder über FTP (vgl. FTP - WinSCP)

Schritt 2 - Jetzt muss man nur noch die Konfigurations- Dateien erstellen lassen, indem man den Server neu startet oder aktualisieren lässt. Danach kann man Anfangen GroupManager zu konfigurieren und Gruppen zu erstellen.

GroupManager konfigurieren

Die config.yml ist nach einer erfolgreichen Installation in dem "GroupManager" Ordner zu finden, welcher wiederum in dem Plugins- Ordner zu finden ist.
Konfigurationsoptionen:

  • opOverrides - Wenn diese Option auf "true" ist, dann haben alle Operatoren (kurz OP's) zusätzlich noch alle Rechte sämtlicher Plugins. Mögliche Werte sind "true" oder "false".
  • validate_toggle - Diese Option erlaubt es einzustellen, ob die Namen der Spieler automatisch vervollständigt werden sollen . Dies kann bei mehren Spielern mit den fast gleichen Namen schlecht enden.
  • minutes - Diese Option ist ein Unterpunkt von "data". Hier kann man einstellen, in welchem Intervall GroupManager seine Dateien speichern soll. Mögliche Werte sind alle natürlichen Zahlen.
  • hours - Diese Option ist wie "minutes" ein Unterpunkt von "data". Mit dieser Option legt man fest, in welchem Intervall GroupManager Backups erstellen soll. Die Backups landen dann im Unterordner "backup". Mögliche Werte sind alle natürlichen Zahlen.
  • level - Diese Einstellung legt fest, wann GroupManager etwas loggen soll. Mögliche Werte sind "ALL, CONFIG, FINE, FINER, FINEST, INFO, OFF, SEVERE, WARNING". Am besten belässt man diese auf der Standard- Einstellung.
  • mirrors - Unter dieser Einstellung kann man die Vererbung der einzelnen Welten festlegen. In dem folgendem Beispiel vererbt die Welt "world_nether" die Gruppen und User Einstellungen von der Welt "world". Alternativ kann man "users" oder "groups" weglassen, dann werden nur die Gruppen bzw. nur die User vererbt.
      world:
        world_nether:
        - users
        - groups


So kann eine config.yml aussehen. Hier der Spezialfall, dass die Welt "world_the_end" nur die User- Einstellungen von der Welt "world" erbt.

settings:
  config:
    opOverrides: true
    validate_toggle: true
    
  data:
    save:
      minutes: 10
      hours: 24
      
  logging:
    level: INFO
    
  mirrors:
        world:
          world_nether:
          - users
          - groups
          world_the_end:
          - users

Gruppen erstellen

GroupManager kreiert bei seinem erstem Start Standard- Gruppen. Es gibt verschiedene Dateien für Gruppen. Einmal gibt es in dem Hauptverzeichnis von GroupManager eine Datei namens "globalgroups.yml". In dieser kann man globale Gruppen erstellen, in welche dann aber kein User kann. Globale Gruppen werden nur zu Vererbung in Gruppen einzelner Welten verwendet. Neben den Globalen Gruppen gibt es auch noch in dem jeweiligen Welten- Ordner (unter /plugins/GroupManager/worlds/) eine "groups.yml" und eine "users.yml". Die Gruppen und User- Rechte gelten nur in der jeweiligen Welt, außer wenn man die Vererbung der Welten konfiguriert hat (siehe GroupManager konfigurieren). In der "users.yml" wird gespeichert, welcher User in welcher Gruppe ist.
In den Standardmäßig erstellten Dateien sind schon vorgegebene Gruppen vorhanden. Entweder kann man diese erweitern, oder man leer diese, und erstellt benutzerdefinierte Gruppen. Bei weiteren erstellen von Gruppen, muss man auch die richtige Formatierung achten. Diese ist so aufgebaut, und muss auch bei jeder Gruppe so aufgebaut sein:

groups:
  Default:
    default: true
    permissions:
    - eine.sinnlose.permission
    - -eine.sinnlose.negierte.permission
    inheritance:
    - g:default
    info:
      prefix: '&8[Gast]&f '
      build: false
      suffix: ' '
  Admin:
    default: false
    premissions:
    - '*'
     info:
      prefix: '&4[Admin]&4 '
      build: true
      
  Spieler:
    default: false
    permissions:
    - weitere.sinnlose.permission
    - -weitere.sinnlose.negierte.permission
    - essentials.msg
    - essentials.msg
    - ChestShop.shop.sell
    - ChestShop.shop.buy
    inheritance:
    - g:Spieler
    - Default
    info:
      prefix: '&e[Spieler]&f '
      build: true
      suffix: ' '
  Mod:
    default: false
    permissions:
    - essentials.fly
    - essentials.kick
    - essentials.kit
    - essentials.spawn
    - essentials.warp
    - essentials.gamemode
    - essentials.msg
    - essentials.nick
  Info:
    prefix: '&5[Moderator]&5 '
    build: true
    suffix: ' ' 
  Owner:
    default: false
    permissions:
    - '*'
    info:
      prefix: '&1[Owner]&1 '
      build: true
      suffix: ' '
     

Alle Gruppen sind zwei Leerzeichen eingerückt. Alle weiteren unter Optionen sind wiederum zwei Leerzeichen eingerückt. Die Listen (z.B. bei "permissions:" oder "inheritance:") beginnen direkt unter der entsprechenden Option. Achtung: In einer YAML-Konfiguration sind keine Tabs bzw. Tabulatoren erlaubt. Falls diese verwendet werden, kann der Server die Datei nicht korrekt erkennen.

Die einzelnen Unteroptionen erklärt:

  • default - Wenn diese Option auf "true" ist, dann ist diese Gruppe die Standard Gruppe, in welche jede neuen Spieler reinkommen. Hinweis: Diese Option darf nur bei einer Gruppe pro Welt gesetzt werden. Es kann keine 2 Standard- Gruppen geben.
  • permissions - In dieser Liste werden alle Rechte zu dieser Gruppe eingetragen.
  • inheritance - In dieser List wird angegeben, welche Rechte von anderen Gruppen vererbt werden. Bei einer Vererbung von einer globalen Gruppe muss man ein g: vor hängen. (Mehr dazu bei "Vererbung")
  • prefix & suffix - Hier kann man ein Präfix bzw. ein Suffix für die jeweilige Gruppe festlegen. (Mehr dazu bei "Präfixe")
  • build - Mit "build" kann festgelegt werden, ob die jeweilige Gruppe Baurechte haben darf oder nicht.


Hinweis: Jede Gruppe darf es nur einmal pro Welt geben. Sollte man bei "permissions:" oder "inheritance:" keine Werte angeben, dann muss man diese als leere Liste deklarieren: "permissions: []". Andersherum genau das selbe, wenn man eine Liste mit Inhalt hat, aber diese noch mit "[]" als eine leere Liste deklariert hat, dann muss man diese einfach entfernen. Alle Operationen sollte mit einem ausgeschalteten Server vorgenommen werden.

Einer Gruppe alle Rechte (eines Plugins) geben: Wenn man einer Gruppe alle Rechte (eines Plugins) geben will, dann kommt das Sternchen * zum Einsatz. Wenn man einer Gruppe nur ein * als Recht gibt, dann hat die Gruppe alle Rechte auf dem Server. Alternativ kann man einer Gruppe alle Rechte eines Plugins geben. Hier kommt der Haupt- Permissions- Stamm mit einem Sternchen dahinter. Beispiel:

   permissions:
   - "*"  <-- Gibt alle Rechte
   - essentials.* <-- Gibt alle Rechte des Plugins Essentials



Einer Gruppe Rechte geben: Unter "permissions:" kannst du Rechte der Plugins vergeben. Die entsprechenden "Permissions-Nodes" von Plugins findet man meistens auf den Entwicklerseiten des jeweiligen Plugins. Außerdem kann man ein bestimmtes Recht entziehen, in dem man ein - vorstellt (Beispiel: siehe Oben). Eine neue "Permissions-Node" muss man in einer Liste direkt unter "permissions:" hinzufügen. (direkt unter dem "p") Beispiel:

   permissions:
   - essentials.msg
   - essentials.msg
   - ChestShop.shop.sell
   - ChestShop.shop.buy



Globale Gruppen: Globale Gruppen legt man nach dem selben Schema an, außer das dort Gruppenname ein g: vorangestellt habe müssen, und es können nur Permissions festgelegt werden. Keine Vererbung, Präfixe oder sonstiges.

User Gruppen zuteilen (Ränge, Vererbung)

Ränge vergeben: Bei GroupManager kann man im gegensatz zu PermissionsEx manuell keine Ränge erstellen. GroupManager geht von der Reihenfolge aus, in der die Gruppen in der groups.yml vergeben sind. Wenn z.B. die Gruppe "Default" als erstes steht, dann hat sie den niedrigsten Rang. Somit hat die letzte Gruppe den höchsten Rang.

Vererbung: Dass man nicht immer wieder die selben Rechte verschiedenen Gruppen geben muss, lohnt es sich, die Rang- niedrigerer Gruppe zu vererben, z.B. die Gruppe Spieler erbt die Rechte von der Gruppe "Default". Somit ist es nicht mehr notwendig, die Rechte der "Default"- Gruppe in die Spieler Gruppe zu kopieren. Außerdem kann man auch globale Gruppen erben lassen.

Spieler zuteilen: Man kann ganz bequem über /manuadd SPIELER GRUPPE einen Spieler eine Gruppe zuteilen. Als erstes sollte man sich über diesen Befehl (über die Konsole) Rechte geben. Dann kann man bequem direkt im Spiel die Gruppen zuteilen. Im Gegensatz zu PermissionsEx kann man bei GroupManager nicht direkt von einer zur nächsten Gruppen einen Spieler "promoten". Man braucht immer /manuadd SPIELER GRUPPE oder /manpromote SPIELER GRUPPE


Präfixe und Suffixe vergeben

Präfixe und Suffixe anlegen: Dies kann man entweder direkt in der groups.yml (siehe "Gruppen erstellen") oder man macht es bequem direkt im Spiel über /mangaddv GRUPPE OPTION WERT. Bei Option kann man prefix oder suffix verwenden.

Präfixe und Suffixe anzeigen lassen: Dazu braucht man ein externes Plugin, welches die Prefixe bzw. Suffixe von Essentials abfragt und anzeigt. (z.B. Essentials-Chat, iChat)

Abschließende Hinweise

  • Eine übersicht aller restlichen Befehle findet man hier (Englisch)
  • Wenn man eine Datei extern bearbeitet - während der Server online ist - sollte man statt /reload /manload verwenden, da GroupManager bei einem reload alle Daten überschreibt.