LuckPerms est le plugin que presque tous les serveurs utilisent pour décider qui peut faire quoi. Tu crées des groupes comme member, mod et admin, tu donnes des permissions à chaque groupe, et tu mets les joueurs dans le bon groupe. Voici comment bien le configurer dès le départ.
Installer LuckPerms
Télécharge LuckPerms depuis son site officiel (luckperms.net) et prends la version adaptée à ton logiciel serveur : Bukkit pour Paper, Spigot et Purpur, ou les versions Velocity, Fabric ou autres si tu utilises ces logiciels. Mets le jar dans le dossier plugins et redémarre. Si tu n'as jamais ajouté de plugin, lis d'abord comment installer des plugins.
Au premier démarrage, LuckPerms crée un dossier plugins/LuckPerms avec un config.yml et une base de données locale. Chaque joueur est automatiquement dans un groupe appelé default.
Te donner les droits admin en toute sécurité
Avant toute chose, donne un accès complet à ton propre compte. Fais-le depuis la console du serveur, pas en jeu, parce qu'en jeu tu n'as pas encore la permission de lancer les commandes LuckPerms :
lp user YourName permission set * true
La permission * veut dire « toutes les permissions ». C'est très bien pour le propriétaire, et plus tard tu pourras te mettre dans un groupe admin à la place.
Pourquoi ne pas juste utiliser /op ? L'op donne presque tout d'un coup à un joueur et contourne ta configuration des grades, donc tu ne vois pas facilement ce qu'un grade permet vraiment. On oublie aussi facilement qui est op. Garde l'op pour les urgences et gère le staff avec les groupes LuckPerms. Vérifie ops.json de temps en temps et retire ceux qui ne devraient pas y être.
Utiliser l'éditeur web
Taper chaque permission en commande fonctionne, mais l'éditeur web est plus rapide. Lance :
/lp editor
LuckPerms affiche un lien. Ouvre-le dans ton navigateur : tu vois tous les groupes et utilisateurs, tu peux ajouter des permissions avec l'autocomplétion, définir les parents et modifier les préfixes. Quand tu as fini, clique sur Save. L'éditeur te donne une commande comme /lp applyedits abc123 : lance-la en jeu ou dans la console pour appliquer les changements. Rien ne change sur le serveur tant que tu ne l'as pas fait.
Les commandes ci-dessous valent quand même la peine d'être connues, car tu t'en serviras pour des changements rapides et dans les instructions d'autres plugins.
Créer des groupes et l'héritage
Une hiérarchie de staff simple ressemble à ça : default → member → helper → mod → admin. Chaque groupe hérite de celui du dessous, donc un mod a automatiquement tout ce qu'a un helper, et tu n'ajoutes que les permissions en plus.
/lp creategroup member
/lp creategroup helper
/lp creategroup mod
/lp creategroup admin
/lp group member parent add default
/lp group helper parent add member
/lp group mod parent add helper
/lp group admin parent add mod
Donne à chaque groupe un poids (weight) pour que LuckPerms sache lequel est le plus haut quand un joueur est dans plusieurs groupes, par exemple pour les préfixes :
/lp group member setweight 10
/lp group helper setweight 20
/lp group mod setweight 30
/lp group admin setweight 40
Mets un joueur dans un groupe avec /lp user Steve parent add mod. Pour en faire son seul groupe, utilise plutôt parent set. Ne renomme pas et ne supprime pas default : c'est le groupe où arrive chaque nouveau joueur.
Permissions courantes (exemples EssentialsX)
Une permission (ou « node ») est un petit texte comme essentials.home. Chaque plugin liste ses permissions sur son wiki ou sa page de plugin. Ajoute-en une à un groupe comme ceci :
/lp group default permission set essentials.home true
Voici un ensemble de départ typique avec EssentialsX :
| Groupe | Exemples de permissions | Ce qu'elles permettent |
|---|---|---|
| default | essentials.spawn, essentials.home, essentials.sethome, essentials.tpa, essentials.tpaccept, essentials.msg | Les commandes de base dont tout joueur a besoin |
| member | essentials.sethome.multiple, essentials.kit.member | Petites récompenses pour les habitués |
| helper | essentials.mute, essentials.kick | Gérer les problèmes dans le chat |
| mod | essentials.tempban, essentials.vanish, essentials.invsee | S'occuper de ceux qui enfreignent les règles |
| admin | essentials.ban, essentials.gamemode, essentials.fly | Modération complète et outils de construction |
Pour retirer quelque chose, mets-le à false. Par exemple, /lp group helper permission set essentials.kick false le bloque même si un groupe parent l'autorise. Supprime complètement une permission avec permission unset.
Quand quelque chose ne marche pas, vérifie : /lp user Steve permission check essentials.home montre si le joueur l'a et d'où elle vient. /lp verbose on affiche chaque vérification de permission en direct, ce qui est le moyen le plus rapide de trouver la permission exacte dont une commande a besoin.
Préfixes et suffixes
Un préfixe est le tag devant un pseudo dans le chat, comme [Mod]. Définis-le sur le groupe avec un nombre de priorité (le plus élevé l'emporte quand un joueur en a plusieurs) :
/lp group mod meta addprefix 30 "&9[Mod] "
/lp group admin meta addprefix 40 "&c[Admin] "
LuckPerms stocke le préfixe, mais ne met pas en forme le chat lui-même. Il te faut aussi Vault et un plugin de chat qui lit les préfixes. Avec EssentialsX Chat, mets dans la config d'EssentialsX un format du genre '{PREFIX}{DISPLAYNAME}{SUFFIX}&r: {MESSAGE}'. Les suffixes fonctionnent de la même façon avec meta addsuffix.
Tracks : promouvoir et rétrograder
Une track est une liste ordonnée de groupes. Elle permet au staff de faire monter ou descendre quelqu'un d'un cran sans retenir les noms des groupes.
/lp createtrack staff
/lp track staff append helper
/lp track staff append mod
/lp track staff append admin
/lp user Steve promote staff
/lp user Steve demote staff
Tu peux créer une deuxième track pour les grades joueurs, par exemple member → regular → veteran, et donner au staff expérimenté la permission d'utiliser seulement cette track.
Permissions et grades temporaires
LuckPerms peut faire expirer des choses tout seul. Pour donner le groupe VIP à un joueur pendant 30 jours :
/lp user Steve parent addtemp vip 30d
Les permissions seules fonctionnent de la même façon : /lp user Steve permission settemp essentials.fly true 1h. Les durées s'écrivent comme 30m, 12h ou 7d. C'est comme ça que les plugins de boutique donnent généralement les grades mensuels, pour que personne n'ait à penser à les retirer.
Contextes : par monde et par serveur
Un contexte limite l'endroit où une permission s'applique. Ajoute world= ou server= à la fin de la commande :
/lp group default permission set essentials.fly true world=creative
/lp group mod permission set essentials.vanish true server=survival
Le nom du monde est le nom du dossier du monde. Le nom du serveur vient de l'option server: dans le config.yml LuckPerms de chaque serveur, alors donne à chaque backend un nom clair comme lobby ou survival.
MySQL pour les réseaux et Velocity
Sur un seul serveur, le stockage local par défaut suffit. Sur un réseau, tous les serveurs doivent partager les mêmes données, sinon un grade donné dans le lobby n'existera pas en survie. Dans chaque config.yml de LuckPerms :
- Mets
storage-methodsurmysql(oumariadb). - Remplis la section
data:avec l'adresse de la base de données, son nom, l'utilisateur et le mot de passe. Utilise la même base de données sur chaque serveur. - Installe aussi LuckPerms sur le proxy Velocity, relié à la même base de données, pour que les permissions et commandes au niveau du proxy fonctionnent.
- Laisse
messaging-servicesur sa valeur par défaut ou mets-le sursql, pour qu'un changement sur un serveur soit transmis aux autres. Si quelque chose semble désynchronisé,/lp syncrecharge les données.
La configuration complète d'un réseau est dans comment configurer un réseau Velocity.
Erreurs courantes
- Donner
*aux groupes du staff. Ça inclut toutes les commandes LuckPerms, donc un helper pourrait se nommer propriétaire. Donne au staff les permissions précises dont il a besoin. - Lancer des commandes en jeu avant d'avoir l'accès. Utilise la console pour la première configuration.
- Oublier d'appliquer les changements de l'éditeur. Enregistre dans le navigateur, puis lance la commande
applyedits. - Le préfixe ne s'affiche pas. En général, il manque Vault ou un plugin de chat, ou le format du chat ne contient pas le placeholder du préfixe.
- Des bases de données séparées sur un réseau. Les grades semblent alors disparaître quand les joueurs changent de serveur.
- Vendre de l'avantage en jeu via les grades. Limite les grades payants aux cosmétiques et au confort ; vois comment gagner de l'argent avec un serveur pour savoir ce que les règles autorisent.
Une fois tes grades en place, l'étape suivante est le reste de ta configuration : vois les meilleurs plugins pour serveur Minecraft, et écris des règles de serveur claires pour que ton nouveau staff sache quoi faire respecter.