LuckPerms: Vollständiger Leitfaden zur Rechteverwaltung auf dem Minecraft-Server
LuckPerms ist der De-facto-Standard für die Rechteverwaltung auf Minecraft-Servern. Wer Paper, Spigot, Velocity, BungeeCord, Fabric oder Forge betreibt und den Zugriff zwischen Spielern, Moderatoren und Admins trennen will, landet fast immer bei diesem Plugin. Seit 2016 aktiv entwickelt, läuft es auf zehntausenden Servern und verarbeitet Milliarden von Permission-Checks.
Wir gehen alles Schritt für Schritt durch: Installation, erste Befehle, Gruppen, Vererbung, Präfixe, Tracks, Kontexte, Web-Editor, Storage-Backends, Synchronisation im BungeeCord-Netzwerk, PlaceholderAPI-Integration und die üblichen Stolperfallen.
Warum LuckPerms und nicht PEX oder GroupManager
PermissionsEx (PEX) ist tot, offiziell nicht mehr gepflegt, hat kritische Bugs mit Datenverlust und läuft schlecht mit aktuellen Paper-Versionen. GroupManager aus EssentialsX gilt als veraltet und bietet nur einen Bruchteil der Features. LuckPerms hat sich aus mehreren Gründen durchgesetzt:
- Speicherung in jeder Datenbank: YAML, SQLite, H2, MySQL, MariaDB, PostgreSQL, MongoDB
- Web-Editor unter luckperms.net/editor mit Admin-Panel-Feeling
- Kontexte (Welt, Server, Gamemode, Dimension) out of the box
- Tracks für Promotions: default nach vip nach moderator nach admin per Befehl
- Stabile API für Plugin-Entwickler
- Rechte-Synchronisation im BungeeCord / Velocity-Netzwerk per MySQL + Messaging
Wer noch PEX nutzt, sollte jetzt migrieren. Der Befehl ist eingebaut: /lp import pex.
Installation
Paper / Spigot / Purpur
- Neueste Version von luckperms.net/download herunterladen, Datei
LuckPerms-Bukkit-5.x.x.jar - In den Ordner
plugins/legen - Server neu starten (nicht
/reload, das zerschießt oft Plugins) - Prüfen:
/plugins
LuckPerms muss grün erscheinen. Rot heißt Problem: meist Java-Versionsmismatch oder Kollision mit einem anderen Permission-Plugin.
Velocity (Proxy)
LuckPerms-Velocity-5.x.x.jarherunterladen- In den
plugins/-Ordner von Velocity legen - Proxy neu starten
Auf Velocity steuert LuckPerms die Rechte für Proxy-Befehle (Serverwechsel, globale Kommandos). Backend-Gameserver brauchen eine eigene Installation.
BungeeCord / Waterfall
Analog zu Velocity, LuckPerms-Bungee-5.x.x.jar herunterladen, in plugins/ von BungeeCord legen, neu starten.
Fabric
- Fabric Loader und Fabric API müssen installiert sein
LuckPerms-Fabric-5.x.x.jarherunterladen- In
mods/ablegen - Neu starten
Bei Fabric muss der Client kein LuckPerms haben, nur der Server.
Forge / NeoForge
LuckPerms-Forge-5.x.x.jar oder LuckPerms-NeoForge-5.x.x.jar herunterladen, in mods/ ablegen, Server neu starten.
Plattform-Kompatibilität
| Plattform | Unterstützt | Hinweise |
|---|---|---|
| Paper 1.16+ | Ja | Empfohlen |
| Spigot 1.8-1.20 | Ja | Für Legacy-Server |
| Velocity | Ja | Proxy |
| BungeeCord | Ja | Proxy, Legacy |
| Fabric 1.17+ | Ja | Benötigt Fabric API |
| Forge 1.16+ | Ja | |
| NeoForge | Ja | 1.20.1+ |
| Sponge | Ja | API 7/8 |
| Nukkit | Ja | Bedrock-Server |
Erste Schritte
Nach der Installation erstellt LuckPerms automatisch die Gruppe default. Jeder Spieler ohne anderweitige Zuweisung landet dort. Man kann die Gruppe nicht löschen.
Funktionstest:
/lp info
Zeigt Plugin-Version, aktives Storage-Backend, Messaging-Dienst und Zählerstände für Spieler und Gruppen in der Datenbank.
Gruppenliste:
/lp listgroups
Zu sehen ist nur default mit Weight 0.
Basis-Hierarchie aufbauen
Für die meisten Server reichen fünf Gruppen: default, vip, moderator, admin, owner. Erstellen:
/lp creategroup vip
/lp creategroup moderator
/lp creategroup admin
/lp creategroup owner
Gewichte setzen. Das Weight bestimmt die Priorität bei Konflikten (wer mutet wen, welcher Präfix gewinnt) und die Sortierreihenfolge. Höher = wichtiger.
/lp group default permission set weight.1 true
/lp group vip permission set weight.10 true
/lp group moderator permission set weight.50 true
/lp group admin permission set weight.100 true
/lp group owner permission set weight.1000 true
Alternativ per meta:
/lp group vip meta setweight 10
/lp group moderator meta setweight 50
/lp group admin meta setweight 100
/lp group owner meta setweight 1000
Vererbung einrichten
Damit admin automatisch alle Rechte von moderator erbt und moderator von vip, Parents setzen:
/lp group vip parent set default
/lp group moderator parent set vip
/lp group admin parent set moderator
/lp group owner parent set admin
Baumstruktur: default nach vip nach moderator nach admin nach owner. Jedes Recht für default gilt automatisch für alle darüber.
Prüfen:
/lp group admin info
Unter Parents erscheint moderator, unter Inherited Permissions alle Nodes der darunterliegenden Gruppen.
Rechte vergeben
Gruppe ein Recht geben
/lp group default permission set essentials.help true
/lp group default permission set essentials.spawn true
/lp group vip permission set essentials.fly true
/lp group vip permission set essentials.hat true
/lp group moderator permission set essentials.ban true
/lp group moderator permission set essentials.kick true
Recht entziehen
/lp group vip permission unset essentials.fly
Unset entfernt die Node komplett. Wer explizit verbieten will (die Gruppe hat einen Wildcard essentials.*, aber ein einzelner Befehl soll blockiert sein), setzt false:
/lp group vip permission set essentials.nuke false
Recht an einen einzelnen Spieler geben
/lp user Steve permission set worldedit.limit.unrestricted true
/lp user Steve parent set vip
Zeile eins gibt Steve ein persönliches Recht. Zeile zwei packt ihn in die vip-Gruppe.
Temporäre Rechte
LuckPerms kann Rechte mit Ablaufdatum vergeben:
/lp user Steve parent add vip 30d
/lp group vip permission set essentials.fly true 7d
Erste Zeile: Steve ist 30 Tage in vip. Zweite: Gruppe bekommt Flug für 7 Tage.
Einheiten: s (Sekunden), m (Minuten), h (Stunden), d (Tage), w (Wochen), mo (Monate), y (Jahre).
Syntax der Permission Nodes
Jedes Plugin definiert eigene Nodes. Üblich ist hierarchisch per Punkt:
essentials.fly
essentials.home
essentials.home.multiple
worldedit.region.copy
worldedit.region.paste
Wildcards
Sternchen * gibt alles unter einem Zweig:
/lp group admin permission set essentials.* true
/lp group moderator permission set worldedit.region.* true
Bequem, aber gefährlich. essentials.* schaltet Befehle wie /fly, /heal, /god frei, die Moderatoren vielleicht nicht haben sollten.
Negative Rechte
False verbietet explizit:
/lp group vip permission set essentials.* true
/lp group vip permission set essentials.nuke false
/lp group vip permission set essentials.burn false
VIP bekommt fast alle EssentialsX-Befehle, außer den beiden riskanten.
Globale und Root-Nodes
Manche Nodes haben Sonderbedeutung:
*ist der absolute Wildcard, vergibt alles Mögliche. Nur für Owner.luckperms.*öffnet alle LuckPerms-Befehle. Gefährlich, der Spieler kann dann selbst Rechte verteilen.-bukkit.command.pluginsblockiert/plugins, damit die Pluginliste nicht sichtbar ist.
Kontexte: Welt, Server, Gamemode
Kontexte erlauben Rechte nur unter bestimmten Bedingungen. Klassiker: /fly im lobby, aber nicht im survival.
/lp group vip permission set essentials.fly true world=lobby
/lp group vip permission set essentials.fly false world=survival
Kontexte gelten auch für Gruppen:
/lp user Steve parent add builder world=creative
Steve bekommt die Rechte der builder-Gruppe nur in der Welt creative.
Server-Kontexte
Wer mehrere Server unter einer LuckPerms-Instanz (per MySQL + BungeeCord) laufen lässt, trennt Rechte per server-Kontext:
/lp user Steve permission set essentials.fly true server=survival
/lp user Steve permission set essentials.gamemode true server=creative
Servername in der config.yml von LuckPerms auf jedem Backend:
server: survival
Eingebaute Kontexte
Ab Werk: world, server, dimension (Forge), gamemode. Addons liefern region (WorldGuard), faction (Factions) und mehr.
Präfixe und Suffixe
LuckPerms zeichnet keine Präfixe in Chat oder Tab, es speichert sie nur. Das Rendern übernehmen EssentialsX Chat, VentureChat, DeluxeChat oder TAB.
Präfix für eine Gruppe setzen:
/lp group vip meta setprefix "&a[VIP] "
/lp group moderator meta setprefix "&9[MOD] "
/lp group admin meta setprefix "&c[ADMIN] "
/lp group owner meta setprefix "&4[OWNER] "
Suffix:
/lp group admin meta setsuffix " &7*"
Präfixe werden vererbt. Hat ein Spieler keinen eigenen Präfix, wird der der höchsten Gruppe nach Weight genommen.
Mehrere Präfixe mit Priorität
/lp user Steve meta addprefix 100 "&6[DEV] "
/lp user Steve meta addprefix 50 "&a[VIP] "
Höhere Zahl, höhere Priorität. Der erste Präfix wird zuerst angezeigt.
EssentialsX Chat Konfiguration
In plugins/EssentialsChat/config.yml (in neueren Versionen gemeinsame Config) Format setzen:
chat:
format: '{PREFIX}&f{DISPLAYNAME}&7: &f{MESSAGE}'
Je Gruppe eigenes Format:
chat:
format: '{PREFIX}&f{DISPLAYNAME}&7: &f{MESSAGE}'
group-formats:
Default: '{PREFIX}&7{DISPLAYNAME}&7: &f{MESSAGE}'
admin: '{PREFIX}&c{DISPLAYNAME}&7: &f{MESSAGE}'
Tracks: Aufstieg und Abstieg
Ein Track ist eine geordnete Kette von Gruppen. Praktisch für Rang-Systeme.
/lp createtrack staff
/lp track staff append vip
/lp track staff append moderator
/lp track staff append admin
/lp track staff append owner
Prüfen:
/lp track staff info
Spieler auf nächste Gruppe im Track befördern:
/lp user Steve promote staff
War Steve vip, ist er jetzt moderator. Nächste Promo: admin.
Zurückstufen:
/lp user Steve demote staff
Server-spezifische Tracks
Tracks funktionieren mit Kontexten. Promotion nur auf einem bestimmten Server:
/lp user Steve promote staff server=survival
Web-Editor
Das Killer-Feature. Auf dem Server:
/lp editor
Man erhält eine URL der Form https://luckperms.net/editor/abc123. Im Browser öffnen und man hat ein volles UI: Gruppenbaum, Rechteliste, Kontexte, Präfixe. Massen-Edits, Drag & Drop, Sortierung.
Nach Änderungen auf Save klicken, Code erscheint. Auf dem Server anwenden:
/lp applyedits abc123
Sicher by design: Der Editor speichert keine Serverdaten, nur den Snapshot, den man sendet.
Editor nur für eine Gruppe öffnen:
/lp editor group vip
Nur für einen Spieler:
/lp editor user Steve
Speicherung
Standardmäßig nutzt LuckPerms H2, eine eingebettete Datei-DB. Für einen Einzelserver reicht das. Bei BungeeCord- oder Velocity-Netzwerken mit mehreren Backends ist MySQL für die Synchronisation Pflicht.
Konfiguration in plugins/LuckPerms/config.yml:
storage-method: h2
Optionen: h2, sqlite, yaml, json, hocon, mysql, mariadb, postgresql, mongodb.
MySQL für ein Netzwerk
storage-method: mysql
data:
address: 127.0.0.1:3306
database: luckperms
username: luckperms
password: DEIN_PASSWORT
pool-settings:
maximum-pool-size: 10
minimum-idle: 10
maximum-lifetime: 1800000
connection-timeout: 5000
table-prefix: 'luckperms_'
Datenbank und User anlegen (MySQL 8):
CREATE DATABASE luckperms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'luckperms'@'localhost' IDENTIFIED BY 'DEIN_PASSWORT';
GRANT ALL PRIVILEGES ON luckperms.* TO 'luckperms'@'localhost';
FLUSH PRIVILEGES;
Die Tabellen erstellt LuckPerms beim ersten Start selbst.
Messaging für Echtzeit-Sync
MySQL allein reicht nicht. Änderung auf Server A, Server B merkt das erst beim Neustart oder per Hand-Sync. Abhilfe schafft Messaging:
messaging-service: pluginmsg
Optionen:
pluginmsgüber den Minecraft-Plugin-Kanal, gratis, braucht Proxy (BungeeCord/Velocity)redisbraucht Redis-Serverrabbitmqbraucht RabbitMQsqlfragt MySQL regelmäßig ab, nicht sofort
Für die meisten Netzwerke reicht pluginmsg.
Backups
Export aller Daten:
/lp export backup.json.gz
Datei landet in plugins/LuckPerms/. Import:
/lp import backup.json.gz
Vor großen Änderungen (Migrationen, Masseneditings) Backup machen.
Migration von anderen Plugins
Von PermissionsEx
/lp import pex
Der Befehl liest PEX-Daten und legt passende Gruppen und Rechte in LuckPerms an.
Von GroupManager
/lp import groupmanager
Von PermissionsBukkit
/lp import permissionsbukkit
Nach Import Weights und Vererbung prüfen, diese werden oft nicht perfekt übertragen.
PlaceholderAPI-Integration
PlaceholderAPI installieren, Expansion herunterladen:
/papi ecloud download luckperms
/papi reload
Verfügbare Placeholder:
| Placeholder | Rückgabe |
|---|---|
%luckperms_prefix% | Präfix des Spielers |
%luckperms_suffix% | Suffix des Spielers |
%luckperms_primary_group_name% | Name der Primärgruppe |
%luckperms_groups% | Komma-getrennte Gruppenliste |
%luckperms_meta_<key>% | Beliebiger meta-Schlüssel |
%luckperms_has_permission_<node>% | true/false für die Node |
%luckperms_expiry_time_<group>% | Ablaufzeit einer temporären Gruppe |
Im TAB-Plugin:
tablist-name-format: '%luckperms_prefix%%player_name%%luckperms_suffix%'
Im Scoreboard:
lines:
- '&7Gruppe: %luckperms_primary_group_name%'
- '&7Rang: %luckperms_prefix%'
Typische Aufgaben
VIP darf fliegen
/lp group vip permission set essentials.fly true
/lp group vip permission set essentials.fly.others false
Default darf kein TNT zünden
/lp group default permission set worldguard.region.bypass.* false
Dazu in WorldGuard auf der mainworld-Region:
/region flag __global__ tnt deny
Moderator darf bannen, aber nicht oppen
/lp group moderator permission set essentials.ban true
/lp group moderator permission set essentials.kick true
/lp group moderator permission set essentials.tempban true
/lp group moderator permission set essentials.op false
/lp group moderator permission set minecraft.command.op false
Build-Zone für VIP-Bauer
/lp creategroup builder
/lp group builder parent set vip
/lp group builder permission set worldedit.* true world=build
/lp group builder permission set worldedit.* false world=survival
AFK-Recht nur für eine Gruppe
/lp group afkers permission set essentials.afk true
/lp user Steve parent add afkers 1h
Debugging der Rechte
Verbose-Modus
Wenn unklar ist, warum ein Befehl für den Spieler nicht funktioniert:
/lp verbose on
LuckPerms loggt dann jede Rechteprüfung. Spieler versuchen lassen, in der Konsole Zeilen wie:
[LP] Steve - essentials.fly - true (from group.vip)
[LP] Steve - worldguard.region.bypass.spawn - undefined
Ausschalten:
/lp verbose off
In Datei speichern:
/lp verbose record
Log dann über den Web-Editor runterladen, Link erscheint in der Konsole.
/lp user info
Alle Infos zu einem Spieler:
/lp user Steve info
Zeigt Primärgruppe, Weights, Präfixe, Suffixe, Kontexte, komplette Rechteliste.
/lp check
Schneller Einzeltest:
/lp user Steve permission check essentials.fly
/lp user Steve permission check essentials.fly world=survival
Gibt true oder false aus und verrät, woher das Recht kommt (inherited from vip, explicit set, default node).
Häufige Fehler
Änderungen greifen nicht
Meistens Cache. Nach großem Edit:
/lp sync
Oder mit Messaging: ein paar Sekunden warten.
Spieler versehentlich in zwei Gruppen
Wer /lp user Steve parent set vip und dann /lp user Steve parent add moderator macht, hat zwei Parents. set ersetzt, add ergänzt. Kontrolle per /lp user Steve info.
Präfix erscheint nicht im Chat
LuckPerms speichert nur. Das Rendern macht EssentialsX Chat, VentureChat, DeluxeChat, TAB, HuskChat, dort Format mit {PREFIX} oder %luckperms_prefix% setzen.
Wildcard funktioniert nicht
Manche Plugins (alte WorldEdit-Versionen zum Beispiel) registrieren ihre Nodes nicht bei Bukkit, worldedit.* fängt sie nicht ab. Nodes explizit setzen.
Konflikt mit anderen Permission-Plugins
PEX und LuckPerms zusammen geht nicht. PermissionsEx.jar aus plugins/ entfernen, bevor LuckPerms installiert wird. Prüfen:
/plugins
Nur LuckPerms darf dort erscheinen.
Rechteverlust nach Neustart
Bei YAML-Storage kann ein Crash während des Schreibens Daten zerstören. Ernsthafte Server meiden YAML: H2, SQLite oder MySQL nutzen.
SQLSTATE 28000 bei MySQL-Verbindung
Falsche Credentials oder User ohne DB-Rechte. Prüfen:
SELECT user, host FROM mysql.user WHERE user = 'luckperms';
SHOW GRANTS FOR 'luckperms'@'localhost';
Der User braucht ALL PRIVILEGES ON luckperms.*.
Sicherheit
luckperms.* gehört ausschließlich dem Owner. Diese Node erlaubt das Vergeben und Entziehen beliebiger Rechte, faktisch ein Vollzugang. Moderatoren reichen luckperms.user.info und luckperms.user.parent.add ohne luckperms.user.parent.set.
Op-Befehl außer für Owner blockieren:
/lp group default permission set minecraft.command.op false
/lp group admin permission set minecraft.command.op false
/lp group owner permission set minecraft.command.op true
In server.properties:
enable-command-block=false
op-permission-level=4
OP-Spieler haben sämtliche Rechte, unabhängig von LuckPerms. Produktionsserver verzichten daher auf /op, alles läuft über LuckPerms-Gruppen.
Performance
LuckPerms ist sauber geschrieben und hat praktisch keinen TPS-Impact. Auf riesigen Servern (500+ Spieler, Tausende Nodes) lohnen ein paar Optimierungen:
- MySQL statt YAML, schnellerer Lookup
- Rechte nicht mit einer Million Negativen aufblähen, stattdessen saubere Vererbung
- Cache ist standardmäßig 60 Sekunden, für die meisten Workloads passend
Statistiken:
/lp info
Unten stehen letzte Sync-Zeit und Cache-Größe.
Fazit
LuckPerms gehört auf jeden ernsthaften Minecraft-Server. Fünf Minuten Installation, eine halbe Stunde für Gruppen und Vererbung, danach kommen neue Rechte einfach dazu, wenn neue Plugins installiert werden. Der Web-Editor spart bei Großumbauten Stunden, Kontexte ermöglichen komplexe Pro-Welt- und Pro-Server-Regeln, Tracks halten Rang- und Donor-Leitern sauber.
Grundregel: erst den Gruppenbaum mit Vererbung aufbauen, dann individuelle Spielerrechte hinzufügen. Wer zehn Leuten das gleiche Recht per Hand gibt, hält inne und erstellt dafür eine Gruppe. So bleibt das System wartbar, auch wenn der Server auf hunderte Spieler wächst.
Schützen Sie Ihren Server vor DDoS-Angriffen
Kostenloser Schutz mit 5-Minuten-Einrichtung. 1 TB Traffic inklusive.
Kostenlos testenWeitere Artikel
Minecraft Server für Angriffsresistenz optimieren
Wie JVM-Tuning, Linux-Kernel-Einstellungen und Paper/Purpur-Konfigurationen Ihren Server widerstandsfaehiger gegen DDoS machen. Konkrete Flags, sysctl-Configs, Verbindungslimits und Plugin-Optimierung.
Rate Limiting fuer Minecraft: Schaedliche Verbindungen begrenzen
Vollstaendiger Leitfaden zum Rate Limiting fuer Minecraft-Server: iptables hashlimit und connlimit, Velocity Connection Throttle, server.properties rate-limit, Token-Bucket-Algorithmus, LimboFilter- und BotSentry-Plugins. Schichtweise Konfiguration ohne legitime Spieler zu blockieren.
Schutz vor Griefern: Komplettanleitung für Minecraft Server Admins
Alle Arten von Griefing und wie man sich schuetzt: Grundstueck-Plugins, Berechtigungssysteme, Schadensrueckgaengigmachung, Chat-Schutz, Anti-Cheat, Moderation und automatische Erkennung. Praxisguide mit Konfigurationsbeispielen.