Commandes et permissions
Les commandes sont une des méthodes utilisées par les administrateurs pour gérer leur serveur, mais aussi par les joueurs pour interagir avec le serveur.
Dans Sponge, les commandes suivent un système de Permissions. Les permissions permettent aux administrateurs de contrôler qui peut accéder à quelle commande. Par défaut, toutes les commandes sont disponibles aux administrateurs. Les joueurs sans le statut d’administrateur n’ont pas accès aux commandes réservés aux administrateurs, ou qui requièrent une permission spécifique. Un administrateur peut gérer l’accès aux commandes en ajoutant/retirant une permission à un joueur via un plugin de permission.
Note
Sponge ne gère pas nativement les permissions. Pour ajouter ou retirer des permissions à un joueur spécifique, ou à un groupe de joueur, vous devez installer un plugin de permission.
Commandes d’administrateur
Ces commandes, en plus des commandes des joueurs normaux, sont disponibles pour les administrateurs.
Sponge
Les commandes suivantes sont disponibles pour les joueurs avec le statut d’administrateur (ou la permission adéquate) sur les serveurs utilisant Sponge.
Commande |
Description |
Permission |
---|---|---|
/sponge audit |
Force le chargement des classes non chargées pour permettre le débuggage des mixins. |
sponge.command.audit |
/sponge blockinfo |
Affiche le type et quelques informations supplémentaires à propos du bloc que vous regardez. |
sponge.command.blockinfo |
/sponge chunks |
Envoie dans le chat les données des chunks pour un monde, une dimension ou le serveur entier. |
sponge.command.chunks |
/sponge config |
Modifie une configuration globale, de monde ou de dimension. |
sponge.command.config |
/sponge entityinfo |
Affiche le type et quelques informations supplémentaires à propos de l’entité que vous regardez. |
sponge.command.entityinfo |
/sponge heap |
Envoie le heap de la JVM. |
sponge.command.heap |
/sponge metrics |
Affiche ou définit si un plugin en particulier peut collecter des métriques (statistiques) sur votre serveur. |
sponge.command.metrics |
/sponge mods |
Liste les mods forge installés. (SpongeForge seulement) |
sponge.command.mods |
/sponge plugins |
Liste les plugins Sponge installés. |
sponge.command.plugins |
/sponge plugins reload |
Demande aux plugins de déclencher leur propre procédure de rechargement. |
sponge.command.plugins.reload |
/sponge reload |
Recharge la configuration globale, d’un monde, ou d’une dimension. |
sponge.command.reload |
/sponge save |
Sauvegarde la configuration globale, d’un monde, ou d’une dimension. |
sponge.command.save |
/sponge timings |
La commande principale du module timings. |
sponge.command.timings |
/sponge tps |
Affiche le nombre de ticks par seconde pour chaque monde |
sponge.command.tps |
/sponge version |
Renvoie la version de Sponge/SpongeAPI dans la console. |
sponge.command.version |
/sponge which |
Indique à quel plugin appartient la commande, ses alias et ses alternatifs. |
sponge.command.which |
/sponge:callback |
Utilisée en interne pour gérer les retours des |
|
/sponge:help |
Affiche les informations sur les commandes disponibles sur le serveur. |
sponge.command.help |
Paramètres des commandes Sponge
/sponge chunks [-g] [-d dim] [-w world]
/sponge config [-g] [-d dim] [-w world] key value
/sponge save [-g] [-d dim|*] [-w world|*]
/sponge reload [-g] [-d dim|*] [-w world|*]
Conflits de commandes
En cas de conflit, Sponge fournit un mécanisme d’alias simple pour décider quelle commande utiliser. Par exemple, Minecraft fournit une commande reload and Sponge reload. Pour décider de la commande à utiliser, préfixez-la avec minecraft
ou sponge
puis d’un :
. Vous pourrez donc utiliser la commande de Sponge en écrivant /sponge:reload
. Vous pouvez procéder de la même manière avec les conflits entre mods/plugins. Pour ce faire, utiliser l’ID du mod ou du plugin suivit d’un :
. Par exemple /examplemodid:tp
.
De plus, ce système d’alias peut être utilisé pour éviter les incompatibilités. Disons qu’un plugin enregistre une commande, mais cette commande est incompatible avec votre mod. Si vous configurez votre mod pour utiliser une commande native de Minecraft ou d’un plugin, vous pouvez restaurer le comportement attendu ou empêcher un comportement non désiré.
Note
La commande /sponge audit
force le chargement de toutes les classes qui n’ont pu être chargées correctement, permettant d’accéder à l’ensemble des variables d’environnement des mixins qui sont nécessaires au déboggage. Cela requiert aussi que la variable mixins.checks soit activée. Voir le wiki sur les Mixins pour plus d’informations.
Astuce
Voici quelques exemple simples de l’utilisation de la commande de configuration de Sponge. Sachez qu’au moins un flag doit être précisé. Une explication plus détaillée se trouve sur la page Configurer Sponge.
/sponge config -d minecraft:nether logging.chunk-load true
Puisqu’une dimension est spécifiée (le nether dans cet exemple), ce sera la configuration du nether qui sera modifiée (et donc tous les mondes du nether).
/sponge config -w DIM1 logging.chunk-load true
Celle-ci modifiera la configuration d’un monde nommé DIM1.
Sponge offre deux permissions pour faites pour débugger:
Permet d’utiliser les message channels des blocs et des entités suivies de Sponge:
sponge.debug.block-tracking
. Ce channel est utilisé par le client (si SpongeForge est installé) pour afficher les owners et notifiers des blocs et entités dans la vue de debug.Permet d’afficher les stacktraces en survolant le message d’erreur envoyé quand une commande n’a pas pu être exécutée correctement:
sponge.debug.hover-stacktrace
Timings
Timings est un outil intégré à Sponge qui permet aux administrateurs de surveiller les performances de leur serveur. Timings collecte des informations sur le serveur, un rapport sera généré avec ces données. Les informations enregistrées par timings sont le motd, la version, le temps de disponibilité (uptime), la mémoire, les plugins installés, le tps, le pourcentage de perte de tps, le nombre de joueurs, les tile entities, les entités et les chunks. Une liste de toutes les sous-commandes de /sponge timings
se situe ci-dessous:
Commande |
Description |
---|---|
/sponge timings on |
Active le timings. Notez que cela va également réinitialiser les données de l’ancien timings. |
/sponge timings off |
Désactive le timings. Notez que la plupart des autres sous-commandes ne fonctionneront pas et que le timings n’enregistrera plus rien s’il est désactivé. |
/sponge timings reset |
Réinitialise les données du timings et commence à enregistrer les données dès que la commande a été effectuée. |
/sponge timings report |
Générez votre rapport de performance pour votre serveur à https://timings.aikar.co. |
/sponge timings verbon |
Active la surveillance du timings à un niveau verbal élevé. |
/sponge timings verboff |
Désactive la surveillance du timings à un niveau verbal élevé. Notez que le timings à haute fréquence ne sera pas disponible. |
/sponge timings cost |
Obtenez le coût de l’utilisation du timings. |
Forge
Les commandes suivantes ne sont disponibles que si vous utilisez SpongeForge. Les autres implémentations de SpongeAPI, comme SpongeVanilla, n’incluent pas ces commandes.
Commande |
Description |
Permission |
---|---|---|
/forge tps |
Affiche le nombre de ticks par seconde pour chaque monde |
forge.command.forge |
/forge track |
Active le suivi des entités |
forge.command.forge |
Pour tous les mods Forge qui utilisent l’API vanilla des commandes, les permissions de commandes sont sous la forme <modid>.command.<commandname>
.
Vanilla
Il y a plusieurs commandes intégrées à Minecraft Vanilla qui sont également disponibles sur les serveurs basés sur Sponge. La liste ci-dessous n’est pas exhaustive, mais elle inclut les commandes les plus couramment utilisées. Ces commandes sont disponibles pour les joueurs avec le statut d’opérateur (ou le permission appropriée). En général, les autorisations pour les commandes de Minecraft Vanilla sur un serveur Sponge sont présentées sous la forme minecraft.command.<command>
, comme indiqué ci-dessous.
Commande |
Description |
Permission |
---|---|---|
/ban |
Bannit le joueur du serveur |
minecraft.command.ban |
/ban-ip |
Banni l’adresse IP du joueur. |
minecraft.command.ban-ip |
/banlist |
Affiche la liste des bannis |
minecraft.command.banlist |
/clear |
Vide l’inventaire du joueur. |
minecraft.command.clear |
/deop |
Révoque le statut d’opérateur du joueur |
minecraft.command.deop |
/difficulty |
Change la difficulté du monde. |
minecraft.command.difficulty |
/gamemode |
Définit le mode de jeu du joueur. |
minecraft.command.gamemode |
/gamerule |
Configure une règle. |
minecraft.command.gamerule |
/give |
Donne un objet à un joueur. |
minecraft.command.give |
/kill |
Tue un joueur ou une entité. |
minecraft.command.kill |
/op |
Donne le statut d’administrateur à un joueur. |
minecraft.command.op |
/pardon |
Retirer un joueur de la liste des bannis. |
minecraft.command.pardon |
/save-all |
Force la sauvegarde la carte du serveur. |
minecraft.command.save-all |
/save-off |
Désactive la sauvegarde automatique de la carte du serveur. |
minecraft.command.save-off |
/save-on |
Active la sauvegarde automatique de la carte du serveur. |
minecraft.command.save-on |
/setidletimeout |
Définit combien de temps les joueurs peuvent être absents avant d’être kické. |
minecraft.command.setidletimeout |
/setworldspawn |
Définit l’emplacement du spawn des joueurs. |
minecraft.command.setworldspawn |
/stop |
Arrête le serveur. |
minecraft.command.stop |
/toggledownfall |
Change le temps de la carte. S’il pleut, alors le beau temps arrive, et vice-versa. |
minecraft.command.toggledownfall |
/tp |
Téléporte les joueurs et les entités. |
minecraft.command.tp |
/weather |
Change la météo. |
minecraft.command.weather |
/whitelist |
Modifier la whitelist du serveur. |
minecraft.command.whitelist |
/worldborder |
Modifie la limite de la carte. |
minecraft.command.worldborder |
Sponge crée également des permissions pour ces fonctionnalités de Minecraft:
Permet au joueur d’utiliser les sélecteurs d’entités dans les commandes:
minecraft.selector
Permet au joueur d’ignorer la protection du spawn sur tous les mondes:
minecraft.spawn-protection.override
Permet au joueur d’ignorer la protection du spawn sur tous les mondes:
minecraft.spawn-protection.override
Permet d’éditer un commandblock ordinaire avec un nom donné:
minecraft.commandblock.edit.block.<name>
Permet d’éditer un minecart commandblock avec un nom donné:
minecraft.commandblock.edit.minecart.<name>
Note
Ces permissions utilisent le vrai nom du commandblock, qui est @
par défaut normalement.
Il y a aussi des permissions gérant l’accès au serveur:
Considère le joueur comme whitelisté:
minecraft.login.bypass-whitelist
Paermet à l’utilisateur d’ignorer la limite de joueur:
minecraft.login.bypass-player-limit
Note
Sponge offre un support amélioré pour le multi-monde, comme par exemple des bordures par monde. Par défaut, Sponge change seulement la bordure (ou d’autres options du monde) du monde dans lequel le joueur se situe. Vous pouvez restaurer le comportement vanilla en définissant sponge.commands.multi-world-patches.worldborder
(ou l’entrée correspondante) sur false
dans la configuration globale. Consultez global.conf pour plus de détails. Sponge part du principe que les plugins multi-mondes proposent aussi des commandes de configuration pour ces options et ne fournissent pas leurs propres variantes.
Commandes des joueurs
Les commandes suivantes sont disponibles par défaut dans Minecraft vanilla pour pouvoir être exécutées sans le statut d’administrateur.
Commande |
Description |
Permission |
---|---|---|
/help |
Vois les informations des commandes utilisées sur le serveur, par défaut la commande Sponge sera utilisée! |
minecraft.command.help |
/me |
Dites à tout le monde ce que vous faites. |
minecraft.command.me |
/say |
Affiche un message à tous les joueurs. (Ou, si vous utilisez des canaux de chat spécifiques, aux joueurs visés.) |
minecraft.command.say |
/tell |
Envoie un message privé à un autre joueur. |
minecraft.command.tell |
Une liste complète des commandes vanilla peut être trouvée ici : https://minecraft.gamepedia.com/Commands#List_of_commands. Les permissions pour les commandes Minecraft vanilla sur un serveur Sponge sont formées de la manière suivante minecraft.command.<command>
.
Fonctionnalités des commandes
Sponge et la plupart des plugins Sponge supportent des fonctionnalités supplémentaires pour les commandes comme l’auto-complétion et les textes survolables. L’image ci-dessous montre la sortie en utilisant la commande /sponge plugins
(boîte jaune). Les éléments dans cette liste peuvent être survolés pour voir plus d’informations comme la version installée (boîte rouge). Quelque éléments dans cet exemple ont d’autres actions. Par exemple, les entrées dans cette liste peuvent être cliquées pour montrer plus d’informations (boîte violette) à propos du plugin. C’est équivalent à utiliser la commande /sponge plugins <pluginId>
. L’auto-complétion peut être utilisée en appuyant sur TAB. Entrer /sponge plugins
(avec un espace supplémentaire) puis appuyer sur TAB va montrer une liste de toutes les valeurs possibles (boite turquoise) qui peuvent être utilisées dans ce contexte. Continuer à appuyer sut TAB va proposer la possibilité suivante s’il y en a. Il est théoriquement possible d’écrire la plupart des commandes en n’utilisant que des TABs et des espaces (et peut être aussi la première lettre de chaque segment).
Astuce
Si vous êtes un développeur de plugin et que vous souhaitez utiliser des textes survolables et des actions de texte dans votre plugin, rendez vous sur notre documentation sur le Text.