Dans ce tutoriel, nous allons apprendre à gérer les permissions de notre serveur Minecraft grâce au plugin LuckPerms. Devenu un incontournable, gérant tout type de serveur, il a été conçu pour obtenir les meilleures performances possibles (contrairement à d'autres plugins plus ancien comme PermissionsEx).
Très facile à prendre en main et d'une redoutable efficacité, LuckPerms est le choix recommandé pour vos permissions Minecraft.
Il prend en charge diverses options de stockage de données (fichiers, SQLite, MySQL, etc), propose une interface web pour éditer les permissions, gère les prefixes/suffixes, prend en charge les groupes et l'héritage de permissions, et bien plus!
Les permissions ?!
Vous n'avez jamais utilisé les permissions sur Minecraft ? Une permission est simplement une chaîne (une séquence de lettres / chiffres) séparée en parties à l'aide de points.
Par exemple, minecraft.command.ban
est la permission de la commande /ban
de Minecraft.
Les permissions permettent de donner accès à des fonctionnalités ou commandes sur votre serveur, certaines seront incluses nativement, d'autres sont ajoutées par vos plugins.
La plus part du temps, les plugins ajoutent une permission à chaque fonctionnalité ou commande, permettant d'autoriser ou non son utilisation. Avec LuckPerms, vous allez pouvoir autoriser les fonctionnalités que vous souhaitez, aux joueurs que vous voulez ;)
Pré-requis
- Un hébergement Minecraft
- Spigot/Paper/Sponge/BungeeCord
- Compatible 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14.
- Vault (facultatif).
- PlaceholderAPI (facultatif).
- Java 8+.
Installation du plugin LuckPerms
Démarrons l'installation du plugin sur notre serveur :
- Rendez-vous dans votre panel de gestion et cliquez sur
Fichiers & FTP
. - Téléchargez le plugin LuckPerms sur le site officiel.
- Transférez le fichier
jar
dans votre répertoireminecraft/plugins
avec le WebFTP. - Redémarrez votre serveur.
Une fois les serveur redémarré, pour tester le bon fonctionnement du plugin cliquez sur Dashboard
et tapez dans la console lp info
:
Migration depuis un autre système de permission
Si vous utilisez déjà un plugin de permission, vous pouvez facilement migrer vers LuckPerms.
Le plugin prend en charge la migration et le transfert de données à partir des plugins de permissions suivant (pour plus d'informations, veuillez lire le guide sur le site officiel) :
- GroupManager
- PermissionsEx
- zPermissions
- PowerfulPerms
- BungeePerms
- bPermissions
- PermissionsBukkit
Configuration de LuckPerms
Au redémarrage, le plugin a créé un répertoire minecraft/plugins/LuckPerms
qui contient les fichiers de configuration du plugin.
Traduction du plugin
Par défaut le plugin est en Anglais. Pour le traduire dans une autre langue :
- Allez dans votre panel de gestion.
- Cliquez sur
Fichiers & FTP
. - Allez dans
minecraft/plugins/LuckPerms
. - Créez un fichier
lang.yml
, il va contenir les traductions. - Pour récupérer la traduction française (ou autre langue), rendez-vous sur cette page et cliquez sur la traduction que vous voulez.
- Copiez le contenu dans votre fichier
lang.yml
et enregistrez.
Astuce: tous les messages (y compris les codes de couleur et formatage de texte) dans LuckPerms peuvent être modifiés. - Redémarrez votre serveur, le plugin est en français !
Configuration générale du plugin
Avant d'aller plus loin, vous devez arrêter votre serveur.
Votre serveur est offline ? Vous pouvez continuer ;)
- Rendez-vous dans votre panel de gestion.
- Cliquez sur
Fichiers & FTP
pour accéder au WebFTP. - Allez dans le répertoire
minecraft/plugins/LuckPerms
. - Éditez le fichier
config.yml
du plugin selon vos besoin.
Vous pouvez garder la config par défaut, néanmoins nous conseillons de paramétrer au minimumapply-bukkit-default-permissions
àfalse
.
Cette option permet d'ignorer les permissions définies par les plugins, interdisant par défaut toutes les commandes si le joueur n'a pas spécifiquement la permission de celle-ci (bien mieux pour la sécurité de votre serveur). - Enregistrez le fichier
config.yml
. - Redémarrez votre serveur.
Utilisation de LuckPerms
Nous allons pouvoir rentrer dans le vif du sujet, l'utilisation des permissions sur votre serveur Minecraft!
Pour gérer efficacement nos utilisateurs, nous allons utiliser le système de groupe de LuckPerms.
Toutes les commandes que nous allons taper dans la suite du tutoriel sont à entrer dans la liveconsole (qui est dans votre panel de gestion, sur mTxServ).
Exemple :
- Rendez-vous dans
Dashboard
sur le panel de gestion. - Entrez la commande
lp info
et validez. - La console serveur affiche le résultat ;)
- Répétez l'opération avec les commandes que nous vous donnerons ci-dessous.
La notion de groupe
Au lieu d'attribuer des permissions à chaque utilisateur individuellement, nous allons créer des groupes de permissions qui peuvent ensuite être attribués à des utilisateurs.
Par exemple, dans mon groupe admin, je pourrais ajouter la permission pour utiliser les commandes /ban
et /unban
, puis affecter des utilisateurs au groupe admin.
Cela signifie qu'ils obtiendront toutes les permissions du groupe admin + toutes les permissions dont ils disposent.
Le groupe default
est automatiquement ajouté à tous les joueurs du serveur Minecraft par le plugin.
Héritage des permissions
Les utilisateurs et les groupes héritent des permissions des uns des autres.
Vous pouvez configurer vos propres groupes et héritages pour votre serveur et créer votre propre système.
Par exemple, je pourrais avoir 3 groupes: default, moderateur et admin, avec le groupe moderateur
qui hérite des permissions du groupe défaut
et le groupe admin
hérite des permissions du moderateur
.
Ainsi, si j'ajoute par exemple une permission au groupe default, elle sera aussi appliquée aux groupes moderateur et admin.
Créons nos groupes
Le groupe default
existe déjà (géré en interne par le plugin), nous allons ajouter les deux autres groupes, moderateur
et admin
.
- Rendez-vous dans votre panel de gestion.
- Dans la console (sur votre panel de gestion mTxServ), entrez les commandes suivantes :
lp creategroup admin lp creategroup moderateur
- Maintenant nous allons activer l'héritage sur nos groupes (
default
->moderateur
->admin
) :
un utilisateur du groupe admin aura les permissions cumulées de default, moderateur et admin.
un utilisateur du groupe moderateur aura les permissions cumulées de default et moderateur.
un utilisateur du groupe default n'aura que les permissions de sont groupe. - Tapez les commandes suivante (
lp group parent <groupName> add <groupParent>
) :lp group admin parent add moderateur lp group moderateur parent add default
- Pour vérifiez que nos groupes sont bien configurés.
La commandelp group <groupname> info
permet d'afficher les informations d'un groupe :lp listgroups lp group admin info lp group moderateur info lp group default info
- Facultatif: pour assigner un préfixe ou suffixe aux joueurs en fonction de leur groupe.
Attention, le plugin n'ajoute par le suffixe / préfixe dans les messages tchat (voir chapitre Allez plus loin).lp group admin meta addprefix 100 "&c[Admin] " lp group moderateur meta addprefix 90 "&d[Mod] "
Ajouter un utilisateur dans un groupe
Ajoutons notre utilisateur au groupe admin
puis vérifiez le résultat avec lp user <username> info
, par exemple :
lp user mTxSeb parent add admin
lp user mTxSeb info
Pour supprimer un utilisateur d'un groupe :
lp user <username> parent remove <groupname>
Gérez les permissions
Tout est en place, on va pouvoir ajouter les permissions à notre groupe admin, qui pour l'instant n'a aucune permission.
- Vérifions la liste des permissions de nos groupes avant de commencer avec la commande
lp group <groupName> permission info
:lp group default permission info lp group moderateur permission info lp group admin permission info
- Nous allons ajouter les permissions pour devenir opérateur et accéder à toutes les commandes natives de notre serveur avec la commande
lp group <groupName> permission set <permissionName> <valeur>
.lp group admin permission set luckperms.* true
lp group admin permission set minecraft.command.* true lp group admin permission set bukkit.command.* true
lp user <userName> permission set <permissionName> <valeur>
Pour supprimer une permission :
lp group <groupName> permission unset <permissionName>
lp user <userName> permission unset <permissionName>
C'est tout !
Si vous avez apply-bukkit-default-permissions
à false
, il faudra tout de même ajouter les permissions de chaque plugin installé.
Voila pour la configuration de base, à vous de configurer vos permissions en fonction de vos besoins ;)
Pour trouver le nom des permissions des commandes natives, cliquez ici.
Commandes LuckPerms
La liste complète des commandes et sous-commandes est disponible ici.
Pour donner la permission d'accéder à l'intégralité des commandes du plugin, utilisez la permission luckperms.*
.
/lp user <user>
Commandes d'Utilisateur./lp group <group>
Commandes de Groupe./lp track <track>
Commandes du Track./lp log
Commandes des Log./lp sync
Synchroniser les modifications avec le stockage./lp info
Afficher les informations générales du plugin./lp editor
Démarre l'éditeur web./lp debug
Produire une sortie de déboggage./lp verbose <true|false> [filter]
Gérer la vérification des permissions détaillé./lp tree [selection] [max level] [player]
Génère l'arborescence des permissions./lp search <permission>
Recherche des utilisateurs/groupes avec une permission spécifique./lp check <user> <permission>
Effectue une vérification de permission standard sur un joueur en ligne./lp networksync
Synchronise les modifications avec le stockage et demander à ce que tous les autres serveurs fassent de même./lp import <file>
Importe les données d'un fichier./lp export <file>
Exporte les données dans un fichier./lp reloadconfig
Recharge certaines options de configuration./lp bulkupdate
Exécute des requêtes de modification en masse sur toutes les données./lp creategroup <group>
Crée un nouveau group./lp deletegroup <group>
Supprime un groupe./lp listgroups
Liste tous les groupes./lp createtrack <track>
Crée un nouveau Track./lp deletetrack <track>
Supprime un Track./lp listtracks
Liste tous les Tracks de la plate-forme.
Comment vérifier les permissions
LuckPerms a un système qui vous permet de surveiller le check des permissions effectuées par d’autres plugins, en temps réel avec la commande lp verbose <on|record|off|upload> [filter]
.
Vous pouvez tracer d'où proviennent les vérifications des permissions, jusqu'à la ligne de code qui a provoqué la vérification :
Vous pouvez également utiliser l'interface web pour faciliter l'analyse et la lecture :
Activer le mode verbose
/lp verbose on <username>
Désactiver le mode verbose
N'oubliez pas de désactiver le mode verbose après vos tests :
/lp verbose off
Accéder aux logs
LuckPerms établit un journal détaillé de toutes les modifications apportées aux permissions.
Si vous avez un membre du personnel non autorisé qui essaie de se donner des permissions, au lieu de parcourir le fichier de log du serveur Minecraft, vous pouvez simplement rechercher les actions exécutées par le joueur.
Vous pouvez également afficher l'historique des utilisateurs et groupes ou consulter les actions exécutées par un utilisateur.
Voir les logs d'un utilisateur
/lp log userhistory <username>
Voir les logs d'un groupe
/lp log grouphistory <groupname>
Interface d'édition web des permissions
LuckPerms comporte un éditeur Web, qui vous permet d’apporter des modifications aux données d’autorisations à l’aide d’une interface conviviale dans votre navigateur Web. C'est sûr, sécurisé et facile à utiliser. Vous n'avez pas besoin d'héberger vous-même la page - elle fonctionne pour tous les types de stockage!
- Pour utiliser l'éditeur web, entrez dans la console:
lp editor
. - Patientez quelques secondes.
- Un lien pour accéder à l'éditeur s'affiche dans la console, cliquez dessus pour accéder à l'éditeur web.
- Une fois que vous avez terminé d'apporter des modifications, cliquez sur
Save
en haut à droite.
L'éditeur générera une commande que vous devez exécuter dans le jeu ou dans la console pour que vos modifications soient appliquées. - Lorsque vous exécutez la commande retournée par l'éditeur, un récapitulatif des modifications apparaît.
Arbres de permission
LuckPerms vous permet de construire une arborescence de permissions, avec toutes les permissions connues du serveur.
Les données sont renseignées à l'aide des permissions enregistrées sur le serveur par les plugins. Au fur et à mesure que le serveur fonctionne pendant de longues périodes, l'arborescence se développe également, à mesure que les permissions vérifiées par les plugins du serveur sont ajoutées (utile pour les permissions dynamiques).Pour générer un arbre de permission :
- Rendez-vous dans votre panel de gestion.
- Dans la console serveur, tapez
/lp tree
et patientez, un lien va s'afficher dans la console. - Cliquez sur le lien.
Foire aux questions
Où dois-je installer LuckPerms ?
- Si vous utilisez un réseau de serveurs, vous devez installer LuckPerms sur chaque serveur où vous souhaitez utiliser LuckPerms.
- Si vous souhaitez également utiliser LuckPerms pour un proxy BungeeCord, vous devez placer le fichier
LuckPermsBungee.jar
dans votre dossier de plugins BungeeCord. - Si vous choisissez d'installer uniquement LuckPerms sur votre proxy BungeeCord, cela n'aura aucun impact sur les vérifications des permissions effectuées par les plugins sur vos serveurs Minecraft.
Puis-je simplement installer LuckPerms sur BungeeCord?
- Le système de permissions utilisé sur BungeeCord est complètement séparé des systèmes utilisés sur les serveurs minecraft (Spigot/Paper/Sponge).
- Si vous souhaitez que les vérifications des permissions effectuées par les plugins minecraft (Spigot/Paper/Sponge) soient gérées par LuckPerms, installez LuckPerms sur votre serveur minecraft.
- Si vous souhaitez que les vérifications des permissions effectuées par les plugins BungeeCord soient gérées par LuckPerms, installez la variante BungeeCord de LuckPerms sur votre proxy.
- Vous pouvez simplement l'installer sur le proxy, mais les vérifications effectuées par les plugins Paper/Spigot/Sponge ne seront pas gérées par LuckPerms.
J'ai des problèmes avec LuckPerms + Essentials
Si vous utilisez le plugin Essentials, vous avez des manipulations supplémentaires à faire pour assurer la compatibilité entre les deux plugins.
- Si vous voulez que Essentials accède aux données de préfixes, suffixes et groupes de LuckPerms :
Vous devrez mettre à jour Essentials vers EssentialsX, une version mise à jour du plugin d'origine (Essentials est abandonné) et vous devez également installer le plugin Vault. - Si vous ne voulez pas qu'Essentials accède aux données de préfixe, de suffixe et de groupe de LuckPerms mais que vous voulez tout de même que LuckPerms gère les vérifications des permissions à partir d'Essentials...
Vous devez soit mettre à jour EssentialsX (comme indiqué ci-dessus) ou supprimez la sectionplayer-commands
de la configuration du plugin Essentials.
Lorsque Essentials ne peut pas détecter un système d'autorisation "connu" (il ne reconnaît pas LuckPerms), il revient à son propre système d'autorisation basé sa configuration pour ses commandes Essentials.
J'utilise EssentialsChat et ça ne fonctionne pas
Assurez-vous que vous utilisez la dernière version de EssentialsX et que Vault est installé sur votre serveur.
La partie "X" de EssentialsX est importante, les anciennes versions de Essentials ne fonctionnent pas (plugin abandonné).
Erreurs MySQL ?
Vous avez des erreurs du type :
- LuckPerms cannot connect to my MySQL server.
- I'm getting an annoying SSL warning message.
- "No operations allowed after connection closed" error.
Pour plus d'infos, consultez le wiki officiel.
Allez plus loin
LuckPerms est très bien documenté sur le wiki officiel (en anglais).
N'hésitez pas à le consulter pour découvrir toutes les fonctionnalités et possibilités de configuration, en particulier les pages suivantes:
Les contextes
Les contextes sont un élément fondamental du fonctionnement de LuckPerms.
Le contexte dans son sens le plus élémentaire signifie simplement les circonstances dans lesquelles quelque chose va s'appliquer, par exemple le serveur ou le monde où est le joueur.Les types de stockages
LuckPerms peut stocker ses données de plusieurs manières. Ces options peuvent être modifiées via du fichier de configuration du plugin.Préfixes, suffixes et métadonnées
Ce guide explique comment configurer et gérer les préfixes, les suffixes et les méta avec LuckPerms.Groupe par défaut
Ce équipe explique comment gérer ses groupes efficacement.