Comandos e Permissões
Comandos são um método a partir do qual os operadores do servidor podem administrar os seus servidores, e ainda com que os jogadores podem interagir com o servidor.
No Sponge, os comandos seguem um sistema de Permissions. Permissões permitem que os donos dos servidores controlem quem acede a que comandos. Por pré-definição, os jogadores com estatuto OP têm acesso a todos os comandos. Jogadores sem estatuto de operador não têm acesso a comandos administrativos ou a comandos que requeiram um nó de permissão. Um operador do servidor pode definir quem tem acesso a que comandos adicionando/negando nós de permissões, com o auxílio de um plugin de permissões.
Nota
O Sponge não é um plugin de gestão de pemissoões. Para adicionar ou retirar permissões a jogadores individuais ou a grupos, precisas de um plugin de gestão de permissões.
Comandos de Operadores
Estes comandos, para além dos comandos normais do jogador, estão disponíveis para os operadores do servidor.
Sponge
Os seguintes comandos estão disponíveis para os jogadores com o estatuto de operador (ou o nó de permissão correto) em servidores com o Sponge.
Comando |
Descrição |
Permissão |
---|---|---|
/sponge audit |
Força o carregamento das classes que não foram carregadas para ativar o debugging dos mixins. |
sponge.command.audit |
/sponge blockinfo |
Mostra o tipo e algumas informações adicionais sobre o bloco para o qual o utilizador está a olhar. |
sponge.command.blockinfo |
/sponge chunks |
Imprime dados da chunck para um mundo, uma dimensão, ou globalmente. |
sponge.command.chunks |
/sponge config |
Altera uma configuração global, de mundo ou de dimensão. |
sponge.command.config |
/sponge entityinfo |
Mostra o tipo e algumas informações adicionais sobre a entidade para a qual o utilizador está a olhar. |
sponge.command.entityinfo |
/sponge heap |
Faz um dump do heap da JVM. |
sponge.command.heap |
/sponge metrics |
Gets or sets whether metric (also known as server stats) collection is enabled for a given plugin. |
sponge.command.metrics |
/sponge mods |
Lists currently installed forge mods. (SpongeForge only) |
sponge.command.mods |
/sponge plugins |
Lista os plugins Sponge instalados no momento. |
sponge.command.plugins |
/sponge plugins reload |
Pede aos plugins que executem as suas rotinas de reload. |
sponge.command.plugins.reload |
/sponge reload |
Recarrega a configuração do mundo, da dimensão ou global. |
sponge.command.reload |
/sponge save |
Grava a configuração do mundo, da dimensão ou global. |
sponge.command.save |
/sponge timings |
O comando principal para o módulo de timings. |
sponge.command.timings |
/sponge tps |
Mostra as ticks por segundo de cada mundo. |
sponge.command.tps |
/sponge version |
Imprime as versões do Sponge/SpongeAPI na consola. |
sponge.command.version |
/sponge which |
Prints which plugin provided the command, it’s aliases and alternatives. |
sponge.command.which |
/sponge:callback |
Internally used for callback actions on
|
|
/sponge:help |
Ver informações sobre os comandos utilizados no servidor. |
sponge.command.help |
Parâmetros dos Comandos do 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 save [-g] [-d dim|*] [-w world|*]
Conflitos de comandos
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
.
Furthermore, the primary alias mechanism can be used to overcome incompatibilities. Let’s say a plugin registers a command, but the command is incompatible with your mod. If you can configure your mod to use a Minecraft native command or another plugin’s command, you can restore the expected behavior or prevent unexpected behaviors.
Nota
O comando /sponge audit
força o carregamento de quaisquer classes que ainda não tenham sido carregadas, permitindo que se visualize todo o output das variáveis de ambiente de debugging dos mixins. Isto também requer a variável ´´mixins.checks´´, vê a *Mixin wiki* para mais informação.
Dica
Here are a few simple examples of the sponge config command in action. Note that at least one target flag must be specified. Please see Configurar o Sponge for a more detailed explanation.
/sponge config -d minecraft:nether logging.chunk-load true
Como foi especificado um tipo de dimensão, isto alteraria a configuração da dimensão nether (e por isso de todos os mundos nether).
/sponge config -w DIM1 logging.chunk-load true
Isto alteraria a configuração do mundo chamado DIM1.
Sponge provides two permissions for debugging purposes:
Allow using Sponge’s block and entity tracking message channel:
sponge.debug.block-tracking
This message channel is used by the client (if the SpongeForge mod is installed) to display the block and entity owner and notifier in the debug view.Allow hovering of command execution errors to get the stacktrace:
sponge.debug.hover-stacktrace
Timings
Os Timings são uma ferramenta constituinte do Sponge que permitem aos administradores dos servidores monitorizarem o desempenho dos seus servidores. Os Timings vão recolhendo informação sobre um servidor de tal modo que um relatório pode ser gerado com base nesses dados. A informação que é registada pelos timings inclui a motd, a versão do servidor, o uptime, estatísticas de memória, os plugins instalados, o número de ticks por segundo, a percentagem de perdas de tps, o número de jogadores, tile entities, entidades, e chunks. Segue-se uma lista de sub-comandos de /sponge timings
:
Comando |
Descrição |
---|---|
/sponge timings on |
Ativa os timings: tem em conta que este comando vai reiniciar as estatísticas. |
/sponge timings off |
Desativa os timings. Tem em conta que a maior parte dos comandos dos timings não funcionarão e os timings não vão ser registados se estiverem desativados. |
/sponge timings reset |
Apaga todos os dados e começa a registá-los após a execução deste comando. |
/sponge timings report |
Gera o relatório dos timings do desempenho do teu servidor em https://timings.aikar.co |
/sponge timings verbon |
Ativa monitorização dos timings a nível detalhado (verbose). |
/sponge timings verboff |
Desativa monitorização dos timings a nível detalhado (verbose). Tem em conta que os timings de alta frequência não estarão disponíveis. |
/sponge timings cost |
Calcula o custo de utilizar timings. |
Forge
Os comandos que se seguem só estão disponíveis quando se utiliza o SpongeForge coremod no Forge. Outras implementações da SpongeAPI, tal como o SpongeVanilla, não incluem estes comandos.
Comando |
Descrição |
Permissão |
---|---|---|
/forge tps |
Mostra as ticks por segundo de cada mundo. |
forge.command.forge |
/forge track |
Ativa o tile entity tracking. |
forge.command.forge |
Para quaisquer mods do Forge que usem a API de comandos vanilla, as permissões de comandos são da forma <modid>.command.<commandname>
.
Vanilla
Há vários comandos incorporados no Minecraft vanilla que também estão disponíveis nos servidores com o Sponge. A lista abaixo não está completa, mas inclui os comandos mais comuns. Estes comandos estão disponíveis a jogadores com estatuto de operador (ou com o nó de permissão correto). Em geral, as permissões dos comandos vanilla num servidor Sponge são da forma minecraft.command.<command>
, como mostrado abaixo.
Comando |
Descrição |
Permissão |
---|---|---|
/ban |
Banir um jogador. |
minecraft.command.ban |
/ban-ip |
Banir o endereço IP de um jogador. |
minecraft.command.ban-ip |
/banlist |
Ver todos os jogadores banidos. |
minecraft.command.banlist |
/clear |
Limpar um inventário. |
minecraft.command.clear |
/deop |
Retirar o estatuto OP a um jogador. |
minecraft.command.deop |
/difficulty |
Definir a dificuldade do jogo. |
minecraft.command.difficulty |
/gamemode |
Definir o modo de jogo de um jogador. |
minecraft.command.gamemode |
/gamerule |
Definir uma regra do jogo. |
minecraft.command.gamerule |
/give |
Dar um item a um jogador. |
minecraft.command.give |
/kill |
Matar um jogador ou uma entidade. |
minecraft.command.kill |
/op |
Dar estatuto de operador a um jogador. |
minecraft.command.op |
/pardon |
Remover um jogador da lista de banidos. |
minecraft.command.pardon |
/save-all |
Guardar o servidor. |
minecraft.command.save-all |
/save-off |
Desativar a gravação automática do servidor. |
minecraft.command.save-off |
/save-on |
Ativar a gravação automática do servidor. |
minecraft.command.save-on |
/setidletimeout |
Define quanto tempo os jogadores podem estar ausentes antes de serem kickados. |
minecraft.command.setidletimeout |
/setworldspawn |
Definir o spawnpoint do mundo. |
minecraft.command.setworldspawn |
/stop |
Parar o servidor. |
minecraft.command.stop |
/toggledownfall |
Alternar entre tempo chuvoso ou sol. |
minecraft.command.toggledownfall |
/tp |
Teleportar jogadores e entidades. |
minecraft.command.tp |
/weather |
Mudar as condições meteorológicas. |
minecraft.command.weather |
/whitelist |
Gerir a whitelist do servidor. |
minecraft.command.whitelist |
/worldborder |
Modificar os limites do mundo. |
minecraft.command.worldborder |
Sponge also creates permissions for these Minecraft features:
Allow player to use the entity-selector in commands:
minecraft.selector
Allow player to bypass spawn-protection in all worlds:
minecraft.spawn-protection.override
Allow player to bypass force-gamemode in all worlds:
minecraft.force-gamemode.override
Allow editing an ordinary commandblock of the given name:
minecraft.commandblock.edit.block.<name>
Allow editing a minecart commandblock of the given name:
minecraft.commandblock.edit.minecart.<name>
Nota
These permissions use the actual name of the commandblock, which is normally @
by default.
There are also extra permissions managing the access to the server:
Treat the user as whitelisted:
minecraft.login.bypass-whitelist
Allow this user to bypass the server’s player limit:
minecraft.login.bypass-player-limit
Nota
Sponge offers improved multi-world support, such as per-world world borders. By default, Sponge only changes the
world border (or other world options) of the world the player is currently in. The vanilla behavior of setting it
for all worlds can be restored using the global configuration and setting
sponge.commands.multi-world-patches.worldborder
(or the corresponding entry) to false
. See
global.conf for details. Sponge assumes that multi-world plugins also
provide optimized configuration commands for those options and thus does not provide its own variants.
Comandos dos Jogadores
Os comandos seguintes estão disponíveis como parte do Minecraft vanilla para jogadores sem o estatuto de operador.
Comando |
Descrição |
Permissão |
---|---|---|
/help |
View information on commands used on the server, by default the Sponge command will be used instead! |
minecraft.command.help |
/me |
Dizer a toda a gente o que estás a fazer. |
minecraft.command.me |
/say |
Mostrar uma mensagem a toda a gente (ou, se utilizares canais, a jogadores específicos). |
minecraft.command.say |
/tell |
Enviar uma mensagem privada para outro jogador. |
minecraft.command.tell |
A full list of vanilla commands can be found at: https://minecraft.gamepedia.com/Commands#List_of_commands. Permissions
for vanilla Minecraft commands on a Sponge server are of the structure minecraft.command.<command>
.
Command Features
Sponge and most Sponge plugins support additional command features such as auto completion and hoverable text. The image
below shows the output using the /sponge plugins
command (yellow box). The elements in that list can be hovered over
to get addition information such as the current version number (red box). Some elements in the example below also have
additional actions bound to them. For example, the plugin entries in that list can be clicked to show more detailed
information (purple box) about that plugin. This is equivalent to sending the /sponge plugins <pluginId>
command.
The auto completion can be triggered by pressing tab. Entering /sponge plugins
(with a trailing space) and then
pressing tab will show a list of possible values (turquoise box) that can be used in that context. Pressing tab again
will iterate the possibilities, if any. Theoretically it is possible to write most commands by pressing only tab and
space (and maybe the first letter of each segment).
Dica
If you are a plugin author and you want to use hoverable text and text actions in your plugin, then head over to our Text documentation.