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 Texts (such as pagination). Not intended to be invoked by hand.

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

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

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

command features

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.