Commandes et permissions

Avertissement

These docs have not been fully updated to SpongeAPI 8 and may be out of date. If you feel like you can help update them, please submit a PR!

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 list

Liste les plugins Sponge installés.

sponge.command.plugins

/sponge plugins refresh

Demande aux plugins de déclencher leur propre procédure de rechargement.

sponge.command.plugins.refresh

/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 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

Internally used for callback actions on Components (such as pagination). Not intended to be invoked by hand.

/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

In cases of command conflict, Sponge provides a primary alias mechanism to specify which command is to be used. For example, Minecraft provides the reload command and Sponge provides the reload command. To specify which command to use, prefix it with minecraft or sponge and a :. So, to use Sponge’s reload command above, type in /sponge:reload. This approach can also be used to handle conflicts between mods and/or plugins. Do the same thing, just use the mod-id or the plugin-id and a :. An example is /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.

  1. /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).

  1. /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

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


A full list of vanilla commands can be found at: https://minecraft.wiki/w/Commands#List_and_summary_of_commands. Permissions for vanilla Minecraft commands on a Sponge server are of the structure 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).

command features

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.