[PermissionsPlugin] GPex3 - Jetzt mit UUIDs!
Hallo liebe Serverbesitzter und Pluginbegeisterte,
dieses mal geht es um GPex3, ein von mir entwickeltes PermissionPlugin. GPex3 ist der direkte Nachfolger von GPex2. Deswegen sind viele der grundlegenden Einstellungen gleich gebleiben.
Funktionen
- Mysql und MongoDB
- Gruppenmanagement
- Gruppenvererbungen
- Gruppen Pre- und Suffix
- Spieler Pre- und Suffix
- "*" und "Plugin.Commands.*" Unterstützung
- positive/negative Permission
- Spielern Permissions auf allen oder nur auf bestimmten Servern, Gruppen und Pre- und Suffixe für bestimmte Zeit.
Grundlegendes
GPex3 ist für den Dauerbetrieb auf BungeeCord-Servern konzepiert. Deswegen gibt es eine lokale Config, die für eine GPex Instanze zuständig ist. Die lokale Config befindet sich unter dem Pfad "/plugins/GPex/config.yml". Desweiteren, gibt es eine globale Config, die von mehreren Instanzen genutzt werden kann. Der Pfad der globalen Config kann in der lokalen Config eingestellt werden.
Befehle
In GPex3 werden nur JSON Strings verwendet. Alle Befehle basieren darauf und auch die Datenspeicherung in Mysql oder MongoDB.
Es gibt in JSON immer einen "Key" und eine "Value". Die Keys sind vorgegeben und die Werte (Values) können gesetzt werden.
GPex kann diese Keys verwerten: group, tabprefix, tabsuffix, chatprefix, chatsuffix, permissions.
Ein JSON kann jetzt so aussehen: {"group":"owner"} oder so {"tabsuffix":"&lBabo", "chatsuffix":"&dBla"}.
Wie man sehen kann ist es möglich mehrere Keys zu kombinieren.
Jetzt könnte man z.B. die Gruppe eines Spielers setzen:
/gpex set <Spielername> {"group":"VIP"}
oder gleich noch das Chatprefix:
/gpex set <Spielername> {"group":"VIP", "chatprefix":"&bVIP"}
Falls man einzelne Permissions für einen Spieler zuweisen will, geht das auch:
/gpex set <Spielername> {"permissions": ["permission1.bla", "permission2.kaka"]}
Anders ist hier bei, das der Wert kein String ist, wie sonst immer, sondern ein Array. Arrays sind einfach eine Liste von Strings, die mit [ anfangen und mit ] aufhören. Einzelne Strings werden mit , getrennt.
Wenn man jetzt völlig verrückt werden will, kann man sogar einen Spieler eine Permission nur für einen bestimmten Server zuweisen:
/gpex set <Spielername> {"permissions": ["s:<servername>:<permission>"]}
(Servername wird aus der server.properties genommen)
Möchtest du jetzt irgentetwas nur auf bestimmte Zeit zuweisen, kannst du einfach am Ende des Befehls ein Timelimit anhängen.
Timelimts sind entweder ein absolutes Datum wie: "18.04.2014 19:48:21" (Format: dd-MM-yyyy HH:mm:ss)
Oder eine relative Anzahl von Tagen: "50 days" (<Anzahl an Tagen> days)
Eine Gruppen Zuweisung sieht dann so aus:
/gpex set <Spielername> {"group":"VIP"} 30.04.2014 20:00:00
Um den Spieler bis zum 30.04.2014 um 20:00:00 die Gruppe VIP zu zuweisen.
/gpex set <Spielername> {"group":"VIP"} 30 days
Um den Spieler von JETZT an 30 Tage lang die Gruppe VIP zu zuwiesen
Mehr Infos über JSON: http://json.org/
Einstellungen
Lokale Config:
GPex legt diese Config nach dem ersten Start an. Zunächst sollten dort alle Mysql oder MongoDB Einstellungen getroffen werden.
useMysql: Ob GPex Mysql oder MongoDB benutzen sollte.
mysql/mongo: GPex benötigt eine Table/Collection in einer Datenbank. Dort werden die Spielerdaten gespeichert.
chatFormat: Hier kann das Format der Nachichten im Chat eingestellt werden. Der erste Parameter ist der Name des Spielers, der zweite die Chatnachicht.
webLoaded: Wenn es auf true gesetzt wird, läd GPex die globale Config von der webURL herrunter und verwendet diese.
localPath: Falls webLoaded auf false steht, lädt GPex die globale Config von diesen Pfad.
Globale Config:
Diese Config wird standartmäßig unter dem Pfad "/plugins/GPex/gpex.yml" beim ersten mal gespeichert.
defaultgroup: Die Standartgruppe, in die jeder, wenn er das erstemal auf den Server kommt gesetzt wird.
groups: tabprefix und tabsuffix wird vor/nach dem Namen in der Tabliste und im Nametag angezeigt, wenn ein Nametag Hook besteht. Im Chat wird das chatprefix und das chatsuffix vor/nach dem Namen angezeigt.
inherited: Gruppe, von den die aktuelle alle Permissions erben soll. Permissions: Eine Liste von positiven oder negativen Permissions (Negative mit - davor).
serverpex: GPex kann für einen bestimmten Server andere Permissions dazu geben als oben in "groups" angegeben. SERVERNAME beschreibt den Namen des Servers, in den server.propeties angegeben, nicht der BungeeCord Servername. Achtung: Suffix und Prefix bearbeiten ist nicht möglich.
Wie GPex Permission lädt
Als erstes werden die Permissions von der Gruppe des Spielers geladen. Darüber werden die ServerPex geschieben. Dann werden alle Vererbungen, diese überschreiben wenn möglich. Als letztes werden die Spieler bezogenen Permissions geladen.
GitHub und Bugs
Den Quellcode von GPex gibts hier: http://github.com/paulomart/gpex3
Bugs und Vorschläge bitte hier: https://github.com/Paulomart/GPex3/issues
Download
Letzte Version (Minecraft 1.8.*): https://static.paul.cool/dl/gpex/GPex3-3.0.9-Alpha.jar
Alle Versionen: https://static.paul.cool/dl/gpex/
GPex3 von Paul Heidenreich ist lizenziert unter Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz
GPex³ Alpha
"OMG, GPEX WAS EPIC, BUT THIS IS BETTER!"
- Paulomart
"OMG, GPEX WAS EPIC, BUT THIS IS BETTER!"
- Paulomart
Hallo liebe Serverbesitzter und Pluginbegeisterte,
dieses mal geht es um GPex3, ein von mir entwickeltes PermissionPlugin. GPex3 ist der direkte Nachfolger von GPex2. Deswegen sind viele der grundlegenden Einstellungen gleich gebleiben.
Funktionen
- Mysql und MongoDB
- Gruppenmanagement
- Gruppenvererbungen
- Gruppen Pre- und Suffix
- Spieler Pre- und Suffix
- "*" und "Plugin.Commands.*" Unterstützung
- positive/negative Permission
- Spielern Permissions auf allen oder nur auf bestimmten Servern, Gruppen und Pre- und Suffixe für bestimmte Zeit.
Grundlegendes
GPex3 ist für den Dauerbetrieb auf BungeeCord-Servern konzepiert. Deswegen gibt es eine lokale Config, die für eine GPex Instanze zuständig ist. Die lokale Config befindet sich unter dem Pfad "/plugins/GPex/config.yml". Desweiteren, gibt es eine globale Config, die von mehreren Instanzen genutzt werden kann. Der Pfad der globalen Config kann in der lokalen Config eingestellt werden.
Befehle
In GPex3 werden nur JSON Strings verwendet. Alle Befehle basieren darauf und auch die Datenspeicherung in Mysql oder MongoDB.
Es gibt in JSON immer einen "Key" und eine "Value". Die Keys sind vorgegeben und die Werte (Values) können gesetzt werden.
GPex kann diese Keys verwerten: group, tabprefix, tabsuffix, chatprefix, chatsuffix, permissions.
Ein JSON kann jetzt so aussehen: {"group":"owner"} oder so {"tabsuffix":"&lBabo", "chatsuffix":"&dBla"}.
Wie man sehen kann ist es möglich mehrere Keys zu kombinieren.
Jetzt könnte man z.B. die Gruppe eines Spielers setzen:
/gpex set <Spielername> {"group":"VIP"}
oder gleich noch das Chatprefix:
/gpex set <Spielername> {"group":"VIP", "chatprefix":"&bVIP"}
Falls man einzelne Permissions für einen Spieler zuweisen will, geht das auch:
/gpex set <Spielername> {"permissions": ["permission1.bla", "permission2.kaka"]}
Anders ist hier bei, das der Wert kein String ist, wie sonst immer, sondern ein Array. Arrays sind einfach eine Liste von Strings, die mit [ anfangen und mit ] aufhören. Einzelne Strings werden mit , getrennt.
Wenn man jetzt völlig verrückt werden will, kann man sogar einen Spieler eine Permission nur für einen bestimmten Server zuweisen:
/gpex set <Spielername> {"permissions": ["s:<servername>:<permission>"]}
(Servername wird aus der server.properties genommen)
Möchtest du jetzt irgentetwas nur auf bestimmte Zeit zuweisen, kannst du einfach am Ende des Befehls ein Timelimit anhängen.
Timelimts sind entweder ein absolutes Datum wie: "18.04.2014 19:48:21" (Format: dd-MM-yyyy HH:mm:ss)
Oder eine relative Anzahl von Tagen: "50 days" (<Anzahl an Tagen> days)
Eine Gruppen Zuweisung sieht dann so aus:
/gpex set <Spielername> {"group":"VIP"} 30.04.2014 20:00:00
Um den Spieler bis zum 30.04.2014 um 20:00:00 die Gruppe VIP zu zuweisen.
/gpex set <Spielername> {"group":"VIP"} 30 days
Um den Spieler von JETZT an 30 Tage lang die Gruppe VIP zu zuwiesen
Mehr Infos über JSON: http://json.org/
Einstellungen
Lokale Config:
Code:
useMysql: true
mongo:
database: gpex
host: localhost
password: geheim123
port: 27017
user: user
collection: gpex3
mysql:
database: gpex3
host: localhost
password: geheim123
port: 3306
user: user123
table: playerData
useNameTagHooks: true
chatFormat: '%s: %s'
groupsConfig:
webLoaded: false
webURL: http://gpex.host.com
localPath: plugins/GPex/gpex.yml
useMysql: Ob GPex Mysql oder MongoDB benutzen sollte.
mysql/mongo: GPex benötigt eine Table/Collection in einer Datenbank. Dort werden die Spielerdaten gespeichert.
chatFormat: Hier kann das Format der Nachichten im Chat eingestellt werden. Der erste Parameter ist der Name des Spielers, der zweite die Chatnachicht.
webLoaded: Wenn es auf true gesetzt wird, läd GPex die globale Config von der webURL herrunter und verwendet diese.
localPath: Falls webLoaded auf false steht, lädt GPex die globale Config von diesen Pfad.
Globale Config:
Code:
defaultgroup: Spieler
groups:
Spieler:
tabprefix: '&7'
tabsuffix: ''
chatrefix: '&7'
chatsuffix: ''
inherited: ''
permissions:
- Some.Plugin.Player.Permission
Owner:
tabprefix: '&c'
tabsuffix: ''
chatrefix: '&c&l'
chatsuffix: ''
inherited: Spieler
permissions:
- '*'
serverpex:
SERVERNAME:
GRUPPENNAME:
permissions:
- test
defaultgroup: Die Standartgruppe, in die jeder, wenn er das erstemal auf den Server kommt gesetzt wird.
groups: tabprefix und tabsuffix wird vor/nach dem Namen in der Tabliste und im Nametag angezeigt, wenn ein Nametag Hook besteht. Im Chat wird das chatprefix und das chatsuffix vor/nach dem Namen angezeigt.
inherited: Gruppe, von den die aktuelle alle Permissions erben soll. Permissions: Eine Liste von positiven oder negativen Permissions (Negative mit - davor).
serverpex: GPex kann für einen bestimmten Server andere Permissions dazu geben als oben in "groups" angegeben. SERVERNAME beschreibt den Namen des Servers, in den server.propeties angegeben, nicht der BungeeCord Servername. Achtung: Suffix und Prefix bearbeiten ist nicht möglich.
Wie GPex Permission lädt
Als erstes werden die Permissions von der Gruppe des Spielers geladen. Darüber werden die ServerPex geschieben. Dann werden alle Vererbungen, diese überschreiben wenn möglich. Als letztes werden die Spieler bezogenen Permissions geladen.
GitHub und Bugs
Den Quellcode von GPex gibts hier: http://github.com/paulomart/gpex3
Bugs und Vorschläge bitte hier: https://github.com/Paulomart/GPex3/issues
Download
Letzte Version (Minecraft 1.8.*): https://static.paul.cool/dl/gpex/GPex3-3.0.9-Alpha.jar
Alle Versionen: https://static.paul.cool/dl/gpex/
GPex3 von Paul Heidenreich ist lizenziert unter Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz
Zuletzt bearbeitet: