SilberRegen
Workaholic
HINWEIS: Pex ist veraltet und die offizielle Version nicht mehr sicher.
Server die Pex benutzen können zum Absturz gebracht werden.
Meine Empfehlung: Luckperms
=====================================================================
Ziel: Sichtung, Sortierung und sinnvolle Editierung einer vorhandenen permissions.yml.
Oder: Wie man weit über 50% an Dateilänge spart und dabei den Server auch noch sicherer macht.
Schwierigkeit: ➊➋➂➃➄ | Zeitfaktor: 2 - 3 Std.
Andere Tutorials: Permissions sicher einrichten|Neue Gruppen hinzufügen
Voraussetzungen:
Es wurden massig Gruppen angelegt, Permissions doppelt und dreifach vergeben und natürlich fleißig "*" verteilt.
Unsicher, unübersichtlich und unnötig viel Arbeit (an der falschen Stelle).
Wenn eure permissions.yml furchtbar aussieht und ihr das gerne ändern würdet, ist das hier euer Tutorial.
Vorweg: Ich gebe hier keine fertig bearbeiteten Dateien aus, da ich lediglich die vorhandenen Sachen überarbeitet habe und für eine vollständige Überarbeitung unbedingt jeder Node jedes Plugins nochmal überprüft werden und dann eingepflegt werden sollte, wenn fehlend.
Außerdem kann jeder der so eine Datei abliefert bitte selber seinen Müll aufräumen. Ich zeige gerne wie es geht, aber Drecksarbeit mache ich bestimmt nicht für jeden gratis.
____________________________________________________________________________________________________
Wir starten mit dieser hübschen Datei:
https://pastebin.com/zhB5VQap
Wie wir sehen, sehen wir nichts bzw. die Permissions vor lauter Permissions nicht.
Schritt 1 - Permissions in eine Tabelle aufnehmen
Damit wir ein bisschen Übersicht bekommen starten wir Google Tabellen (oder unser gewähltes Tabellenprogramm) und legen uns jede Gruppe in eine eigene Spalte. Unter die Gruppennamen packen wir jeweils unsere Präfixe und lassen noch etwas Platz um später Sachen wie "inheritance", "rank", "weight" und vielleicht ein paar Notizen hinzufügen zu können.
Keine Sorge, mit einem Rechtsklick auf die Zeilennummer, (links am Rand) oder die Buchstaben der Spalten (oben am Rand) kann man sich auch nachträglich Platz schaffen durch hinzufügen von Zeilen oder Spalten.
Anschließend kopieren wir für jede Gruppe den ganzen Batzen an Permissionnodes und fügen ihn in der passenden Spalte ein.
Es ist wichtig die Bindestriche zu belassen, damit sie später einfach zurück kopierbar sind.
Das kann dann so aussehen:
____________________________________________________________________________________________________
Schritt 2 - Sortieren und Übersicht schaffen
Die Permissions markieren wir jetzt die Permissions und sortieren sie alphabetisch. In "Google Tabellen" geht das durch Rechtsklick auf den markierten Bereich und Auswahl von "Bereich sortieren". Dies machen wir für jede Spalte einzeln.
Es sollte uns nun möglich sein, grob abzuschätzen, welche Gruppen die meisten und welche die wenigsten Permissions haben. Zusammen mit den Informationen aus den Bezeichnungen der Gruppen sortieren wir die Spalten nun so um, dass die mit den wenigsten Permissions links und die mit dein meisten Rechts steht.
Das was jetzt kommt, dauert etwas länger, ist aber der wichtigste Vorgang, um die lange Liste an Nodes in eine übersichtliche Form zu bringen.
Wir versuchen identische Permissions in eine Zeile zu bekommen. Hat eine Gruppe die Permissions nicht, so soll dort ein leeres Feld stehen.
Das klappt ganz gut, wenn man alphabetisch vorgeht und sich an den Gruppen mit den meisten Permissions orientiert. In den Gruppen mit weniger Permissions, schneiden wir diese so aus und fügen sie so wieder ein, dass sie mit der ersten übereinstimmenden Permission der Referenzgruppe auf gleicher Höhe liegt.
Dieser Vorgang wird solange wiederholt bis in jede Permission ihre eigene Zeile hat.
Bilder sagen oft mehr als tausend Worte, daher im Spoiler, wie das ganze für zwei Gruppen aussehen kann:
Bei vielen Gruppen muss man natürlich öfter mal in den Zeilen springen aber es lohnt sich hier Geduld zu haben.
Wenn wir damit fertig sind, können wir leicht erkennen, ob Permissions fehlen, doppelt sind und ganz wichtig: Welche Permissions ein Sicherheitsrisiko darstellen (ich verweise hier nochmal auf das Tutorial dazu).
Neben einigen optischen Aufwertungen der Tabelle, habe ich fehlende, doppelte und sicherheitsrelevante Nodes mit diversen Farben gekennzeichnet. Welche Farben man nimmt ist reine Geschmackssache, aber man ordnet am besten einer Farbe eine Bedeutung zu.
Wenn ihr mit mehreren Leute am Dokument arbeitet (mit Google Tabellen geht das z.B. recht einfach) könnt ihr dies in einer Legende hinterlegen, damit der nächste weiß, was ihr meint.
Zusätzlich habe ich spätere Gruppen und Rangleitern farbig markiert und die Tabelle sieht nun so aus:
____________________________________________________________________________________________________
Schritt 3 - Vererbung festlegen, Optimierung und überflüssige Gruppen entfernen
Es hat wenig Sinn 25 Gruppen anzulegen, die alle dieselben Rechte haben und sich nur im Präfix unterscheiden.
Gerade wenn nur wenige Spieler im Chat anders betitelt werden sollen, bietet sich an tatsächlich Einzelpräfixe für diese Spieler zu vergeben.
So habe ich an dieser Stelle direkt die Gruppe "Teamleitung" entfernt, die außer einer falsch geschriebenen Extrapermission und einem anderen Präfix nichts zu bieten hat. Später werde ich auch noch "Owner" kappen, da auch hier der Unterschied nur im Titel liegt.
Wer meint als "Owner" eine eigene Gruppe verdient zu haben, kann sich natürlich auch eine eigene Gruppe anlegen. Wenn's glücklich macht.
An den Gruppen "Admin", "Owner" und "Teamleitung" können wir außerdem sehen, dass der Ersteller wahlweise nicht wusste wie "*" funktioniert oder dieses nachträglich eingefügt hat, nachdem er feststellte, dass das Eintragen aller Permission wohl etwas länger dauert. Das ist natürlich nur eine gemeine Unterstellung von mir.
Im Beispiel habe ich die "*"-Permission herausgenommen und wie im Tutorial zu sicheren Permissions ersetzt.
In unserem Beispiel ist auch die Benennung der Gruppen ungünstig, weil sie teils Sonderzeichen und durchgängig Großbuchstaben enthalten.
Da nie jemand außer den Administratoren sehen wird, wie diese Gruppen intern heißen und lediglich die Präfixe ingame zu sehen sind, passen wir diese nun so an, dass sie kürzer und durchgängig klein geschrieben sind.
Hier die Übersicht, welche Bezeichnungen ich gewählt habe und wie es aussehen könnte:
Server die Pex benutzen können zum Absturz gebracht werden.
Meine Empfehlung: Luckperms
=====================================================================
Ziel: Sichtung, Sortierung und sinnvolle Editierung einer vorhandenen permissions.yml.
Oder: Wie man weit über 50% an Dateilänge spart und dabei den Server auch noch sicherer macht.
Schwierigkeit: ➊➋➂➃➄ | Zeitfaktor: 2 - 3 Std.
Andere Tutorials: Permissions sicher einrichten|Neue Gruppen hinzufügen
Voraussetzungen:
- eine miese permissions.yml zum Bearbeiten
- Notepad++ oder ein anderer brauchbarer Texteditor
- Google Tabellen oder ein Programm wie Excel/OpenOffice Tabellen/Libre Calc
- Kenntnis über die Benutzung von STRG+X, STRG+C, STRG+V
- Eine grundlegende Idee, wie man im Tabellenprogramm Sachen verschiebt/kopiert/entfernt
- Motivation zum Aufräumen
- Grundlagenkenntnisse zum Aufbau sicherer Permissions
Es wurden massig Gruppen angelegt, Permissions doppelt und dreifach vergeben und natürlich fleißig "*" verteilt.
Unsicher, unübersichtlich und unnötig viel Arbeit (an der falschen Stelle).
Wenn eure permissions.yml furchtbar aussieht und ihr das gerne ändern würdet, ist das hier euer Tutorial.
Die im Tutorial verwendete Konfiguration habe ich mir nicht ausgedacht, sondern sie wurde so ins Forum gestellt (spielerbezogene Informationen habe ich entfernt).
Da ich keinerlei Informationen des ursprünglichen Erstellers habe, wie genau die Gruppen angedacht waren, habe ich hier ein paar Annahmen gemacht und die Gruppen anhand der vergebenen Permissions sortiert.
Da ich keinerlei Informationen des ursprünglichen Erstellers habe, wie genau die Gruppen angedacht waren, habe ich hier ein paar Annahmen gemacht und die Gruppen anhand der vergebenen Permissions sortiert.
Vorweg: Ich gebe hier keine fertig bearbeiteten Dateien aus, da ich lediglich die vorhandenen Sachen überarbeitet habe und für eine vollständige Überarbeitung unbedingt jeder Node jedes Plugins nochmal überprüft werden und dann eingepflegt werden sollte, wenn fehlend.
Außerdem kann jeder der so eine Datei abliefert bitte selber seinen Müll aufräumen. Ich zeige gerne wie es geht, aber Drecksarbeit mache ich bestimmt nicht für jeden gratis.
Wir starten mit dieser hübschen Datei:
https://pastebin.com/zhB5VQap
Wie wir sehen, sehen wir nichts bzw. die Permissions vor lauter Permissions nicht.
Schritt 1 - Permissions in eine Tabelle aufnehmen
Damit wir ein bisschen Übersicht bekommen starten wir Google Tabellen (oder unser gewähltes Tabellenprogramm) und legen uns jede Gruppe in eine eigene Spalte. Unter die Gruppennamen packen wir jeweils unsere Präfixe und lassen noch etwas Platz um später Sachen wie "inheritance", "rank", "weight" und vielleicht ein paar Notizen hinzufügen zu können.
Keine Sorge, mit einem Rechtsklick auf die Zeilennummer, (links am Rand) oder die Buchstaben der Spalten (oben am Rand) kann man sich auch nachträglich Platz schaffen durch hinzufügen von Zeilen oder Spalten.
Anschließend kopieren wir für jede Gruppe den ganzen Batzen an Permissionnodes und fügen ihn in der passenden Spalte ein.
Es ist wichtig die Bindestriche zu belassen, damit sie später einfach zurück kopierbar sind.
Das kann dann so aussehen:
____________________________________________________________________________________________________
Schritt 2 - Sortieren und Übersicht schaffen
Die Permissions markieren wir jetzt die Permissions und sortieren sie alphabetisch. In "Google Tabellen" geht das durch Rechtsklick auf den markierten Bereich und Auswahl von "Bereich sortieren". Dies machen wir für jede Spalte einzeln.
Es sollte uns nun möglich sein, grob abzuschätzen, welche Gruppen die meisten und welche die wenigsten Permissions haben. Zusammen mit den Informationen aus den Bezeichnungen der Gruppen sortieren wir die Spalten nun so um, dass die mit den wenigsten Permissions links und die mit dein meisten Rechts steht.
Das was jetzt kommt, dauert etwas länger, ist aber der wichtigste Vorgang, um die lange Liste an Nodes in eine übersichtliche Form zu bringen.
Wir versuchen identische Permissions in eine Zeile zu bekommen. Hat eine Gruppe die Permissions nicht, so soll dort ein leeres Feld stehen.
Das klappt ganz gut, wenn man alphabetisch vorgeht und sich an den Gruppen mit den meisten Permissions orientiert. In den Gruppen mit weniger Permissions, schneiden wir diese so aus und fügen sie so wieder ein, dass sie mit der ersten übereinstimmenden Permission der Referenzgruppe auf gleicher Höhe liegt.
Dieser Vorgang wird solange wiederholt bis in jede Permission ihre eigene Zeile hat.
Bilder sagen oft mehr als tausend Worte, daher im Spoiler, wie das ganze für zwei Gruppen aussehen kann:
Bei vielen Gruppen muss man natürlich öfter mal in den Zeilen springen aber es lohnt sich hier Geduld zu haben.
Wenn wir damit fertig sind, können wir leicht erkennen, ob Permissions fehlen, doppelt sind und ganz wichtig: Welche Permissions ein Sicherheitsrisiko darstellen (ich verweise hier nochmal auf das Tutorial dazu).
Neben einigen optischen Aufwertungen der Tabelle, habe ich fehlende, doppelte und sicherheitsrelevante Nodes mit diversen Farben gekennzeichnet. Welche Farben man nimmt ist reine Geschmackssache, aber man ordnet am besten einer Farbe eine Bedeutung zu.
Wenn ihr mit mehreren Leute am Dokument arbeitet (mit Google Tabellen geht das z.B. recht einfach) könnt ihr dies in einer Legende hinterlegen, damit der nächste weiß, was ihr meint.
Zusätzlich habe ich spätere Gruppen und Rangleitern farbig markiert und die Tabelle sieht nun so aus:
muhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu muhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuumuhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh 

muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu muhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu muhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuumuhmuh, muh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu 
muhuuu mumumuh muh muhmuhmuh, muh
muh muuuh
muhuu, muh 

muh muuuh
muh, muhuumuh
muh muuuh
muh, muhuu, muh 
muhuuu mumumuh 

muh muhmuhmuh, muh
muh muuuh
muhuu, muh 
muh muuuh
muh, muhuu
Schritt 3 - Vererbung festlegen, Optimierung und überflüssige Gruppen entfernen
Es hat wenig Sinn 25 Gruppen anzulegen, die alle dieselben Rechte haben und sich nur im Präfix unterscheiden.
Gerade wenn nur wenige Spieler im Chat anders betitelt werden sollen, bietet sich an tatsächlich Einzelpräfixe für diese Spieler zu vergeben.
So habe ich an dieser Stelle direkt die Gruppe "Teamleitung" entfernt, die außer einer falsch geschriebenen Extrapermission und einem anderen Präfix nichts zu bieten hat. Später werde ich auch noch "Owner" kappen, da auch hier der Unterschied nur im Titel liegt.
Wer meint als "Owner" eine eigene Gruppe verdient zu haben, kann sich natürlich auch eine eigene Gruppe anlegen. Wenn's glücklich macht.
An den Gruppen "Admin", "Owner" und "Teamleitung" können wir außerdem sehen, dass der Ersteller wahlweise nicht wusste wie "*" funktioniert oder dieses nachträglich eingefügt hat, nachdem er feststellte, dass das Eintragen aller Permission wohl etwas länger dauert. Das ist natürlich nur eine gemeine Unterstellung von mir.
Im Beispiel habe ich die "*"-Permission herausgenommen und wie im Tutorial zu sicheren Permissions ersetzt.
In unserem Beispiel ist auch die Benennung der Gruppen ungünstig, weil sie teils Sonderzeichen und durchgängig Großbuchstaben enthalten.
Da nie jemand außer den Administratoren sehen wird, wie diese Gruppen intern heißen und lediglich die Präfixe ingame zu sehen sind, passen wir diese nun so an, dass sie kürzer und durchgängig klein geschrieben sind.
Hier die Übersicht, welche Bezeichnungen ich gewählt habe und wie es aussehen könnte:
| Alt | Neu |