ServerPlugin [PermissionsPlugin] GPex3 - *ALPHA*

Dieses Thema im Forum "Selbstgeschriebene Plugins | Mods | Programme" wurde erstellt von Paulomart, 8. April 2014.

  1. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    [PermissionsPlugin] GPex3 - Jetzt mit UUIDs!

    GPex³ Alpha
    "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 (Text):
    1.  
    2. useMysql: true
    3. mongo:
    4.   database: gpex
    5.   host: localhost
    6.   password: geheim123
    7.   port: 27017
    8.   user: user
    9.   collection: gpex3
    10. mysql:
    11.   database: gpex3
    12.   host: localhost
    13.   password: geheim123
    14.   port: 3306
    15.   user: user123
    16.   table: playerData
    17. useNameTagHooks: true
    18. chatFormat: '%s: %s'
    19. groupsConfig:
    20.   webLoaded: false
    21.   webURL: http://gpex.host.com
    22.   localPath: plugins/GPex/gpex.yml
    23.  
    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:
    Code (Text):
    1.  
    2. defaultgroup: Spieler
    3. groups:
    4.   Spieler:
    5.     tabprefix: '&7'
    6.     tabsuffix: ''
    7.     chatrefix: '&7'
    8.     chatsuffix: ''
    9.     inherited: ''
    10.     permissions:
    11.     - Some.Plugin.Player.Permission
    12.   Owner:
    13.     tabprefix: '&c'
    14.     tabsuffix: ''
    15.     chatrefix: '&c&l'
    16.     chatsuffix: ''
    17.     inherited: Spieler
    18.     permissions:
    19.     - '*'
    20. serverpex:
    21.   SERVERNAME:
    22.     GRUPPENNAME:
    23.       permissions:
    24.       - test
    25.  
    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/

    [​IMG]GPex3 von Paul Heidenreich ist lizenziert unter Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz
     
    #1
    R1zoma gefällt das.
  2. BuildingDave
    Offline

    BuildingDave

    Registriert seit:
    5. Juli 2012
    Beiträge:
    321
    gibt es erfahrungswerte wenn 100.000 + spieler darüber verwaltet werden?
     
    #2
  3. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    #3
  4. Moehritz
    Offline

    Moehritz

    Registriert seit:
    3. Mai 2012
    Beiträge:
    54
    Minecraft:
    Moehritz
    Wird es dafür irgendwann eine BungeeCord implementierung geben?
     
    #4
  5. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    BungeeCord Implementierung heißt, dass man Spielern Rechte aufm BungeeCord geben kann und so?
     
    #5
  6. Moehritz
    Offline

    Moehritz

    Registriert seit:
    3. Mai 2012
    Beiträge:
    54
    Minecraft:
    Moehritz
    Ja so kann man das ungefähr umschreiben :up:
     
    #6
  7. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Wofür sollte das gut sein^^? Geht es dir nur um die Permissions oder auch um die Prefixe und Suffixe?
     
    #7
  8. Moehritz
    Offline

    Moehritz

    Registriert seit:
    3. Mai 2012
    Beiträge:
    54
    Minecraft:
    Moehritz
    Alles?^^ Permissions gibt es am BungeeCord wie am Bukkit; die Hauseigene Permissionsverwaltung empfinde ich als recht unpraktisch. Pre/Suffixe sind für Serverübergreifende Chats natürlich auch nicht verkehrt
     
    #8
  9. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Hört sich eigentlich ganz Intressant an^^. Bin akutell noch um Urlaub, ich werde mich mal dran setzen wenn ich wieder da bin :D
     
    #9
  10. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    #10
  11. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    GPex 3.0.8 - Permissions
    Changelog: https://github.com/Paulomart/GPex3/compare/3.0.5-Alpha...master

    Permissions nur für bestimmte Server und Spieler.
    Spieler, die offline sind, können jetzt mir /gpex ausgewählt werden.
    Mit /gpex list <Spielername> können alle Daten von einem Spieler angezeigt werden.

    Ich würde mich über Feedback freuen :)
     
    #11
  12. R1zoma
    Offline

    R1zoma

    Registriert seit:
    5. Juni 2014
    Beiträge:
    16
    Minecraft:
    R1zoma
    Ich liebe das Plugin :) Echt ein gutes Permisson System ich nutze es sehr gern :)
     
    #12
  13. CoLu
    Offline

    CoLu

    Registriert seit:
    31. Oktober 2013
    Beiträge:
    314
    Minecraft:
    CoLu
    Wird hier dran noch gearbeitet?
     
    #13
  14. GermanUbuntu
    Online

    GermanUbuntu

    Ja, Paulh arbeitet noch an GPex, wenn benötigt werden auch updates raus kommen
     
    #14
  15. Eisphoenix
    Offline

    Eisphoenix

    Registriert seit:
    9. Oktober 2014
    Beiträge:
    82
    Ort:
    Garmisch-Partenkirchen
    Minecraft:
    Eisphoenix
    Kann es sein das die Website nicht mehr geht?
     
    #15
  16. Mc_IceDragon
    Offline

    Mc_IceDragon

    Registriert seit:
    23. August 2015
    Beiträge:
    5
    Minecraft:
    Mc_IceDragon
    ich kann es net Downloaden der Download link geht nicht
     
    #16
  17. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    #17
  18. Mc_IceDragon
    Offline

    Mc_IceDragon

    Registriert seit:
    23. August 2015
    Beiträge:
    5
    Minecraft:
    Mc_IceDragon
    Danke
     
    #18
  19. Eisphoenix
    Offline

    Eisphoenix

    Registriert seit:
    9. Oktober 2014
    Beiträge:
    82
    Ort:
    Garmisch-Partenkirchen
    Minecraft:
    Eisphoenix
    Aber schöne Animation ^^
     
    #19
  20. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Hm?
     
    #20