Minecraft et PermissionsEx – le mini guide.

Si vous avez un serveur Minecraft et que vous voulez correctement gérer les autorisations de votre serveur, un plugin comme GroupManager ou encore PermissionsEx peut être très utile.

Entête du fichier permissions.yml
Entête du fichier permissions.yml

Le principe des outils de gestion des permissions dans Minecraft.

Le grand principe derrière les outils de permissions sur les serveurs multijoueurs Minecraft repose sur le principe de l’héritage entre groupes de permissions différentes : un joueur n’a pas le même jeu d’autorisations qu’un modérateur, qui lui même n’a pas les mêmes autorisations qu’un administrateur. C’est pour cela qu’on crée des groupes qui, au fur et à mesure qu’on monte dans la hiérarchie du serveur, ont des autorisations de plus en plus importantes héritées des groupes inférieurs.

En général, on commence par définir quelques groupes: par exemple le groupes des joueurs, le groupe des modérateurs, le groupe des administrateurs et le groupe propriétaire (typiquement, le parent qui paie la note chez Omgserv…)

Le groupe des joueurs est défini comme étant le groupe par défaut –> toute personne se connectant sur le serveur aura au moins accès aux autorisations définies dans ce groupe. Ensuite, vos modérateurs et administrateurs doivent être aussi définis. Pour cela, il faut encoder à la main dans le fichier des permissions (permissions.yml) tous les utilisateurs et leurs grades: par exemple, Toto sera modérateur et Titi sera administrateur –> en bas du fichier permissions.yml, au niveau de la balise « users: » on ajoutera ceci :

 

users:
Toto:
group:
– moderator
Titi:
group:
– administrator

Toto aura en toute logique les droits de modérateur et Titi d’administrateur.

(Ne faites pas un copy paste des exemples donnés, ça ne fonctionnera pas car la syntaxe n’est pas respectée – lisez plus bas pour comprendre).

Maintenant, comment fonctionne l’héritage? C’est assez simple…Si on prend ceci

groups:
guest:
# There must be one default
default: true
prefix: ‘&f[&7Guest&f]&7’
permissions:
– bukkit.command.list
– essentials.afk.auto
– essentials.balance
– essentials.delhome
– essentials.exp
– essentials.help
– essentials.helpop
– essentials.home
– essentials.ignore
– essentials.info

Là vous voyez que le groupe « guest » est le groupe par défaut (default=true). Typiquement, c’est le groupe des joueurs de base.

Plus bas dans le fichier, vous allez trouver quelque chose comme:

member:
# Instead of repeating all the permissions in each group, use inheritance to
# automatically include the permissions from other groups.
inheritance:
– guest
prefix: ‘&f[&eMember&F]&7’
permissions:
– essentials.afk
– essentials.back
– essentials.chat.color
– essentials.compass
– essentials.ext
– essentials.hat
– essentials.jump
– essentials.kit
– essentials.kits.member
– essentials.msg.color
– essentials.sethome.multiple.member
– essentials.time
– essentials.workbench

Le groupe « member » hérite des autorisations du groupe « guest », et on lui rajoute toute la liste des autorisations commençant par essentials.

On continue comme cela avec le groupe « moderator »:

moderator:
prefix: ‘&7[&bMod&7]&f’
inheritance:
– member

+ une liste spécifiques d’autorisations utiles au modérateur.

Attention, chose super importante, quand vous commencez à chipoter dans votre fichier de permissions, il faut éteindre et rallumer le serveur entre les modifications pour qu’elles prennent effet. Il faut aussi systématiquement vérifier dans la console administrateur système du serveur que la lecture de ce fichier s’est faite correctement car une erreur de syntaxe, ou un petit décalage dans un tag peut faire planter la mise en mémoire des autorisations–>rien ne fonctionnera donc à ce niveau.

Pour vérifier si votre fichier permissions.yml, il faut passer par un outil de vérification comme Bukkit Yaml checker disponible ici.