명령어와 권한

명령어는 관리자가 서버를 관리하는 동시에 플레이어가 서버와 상호교류를 할 수 있도록 구현된 것입니다.

스폰지에서는, 명령어들은 권한 시스템에 따라 연동됩니다. 권한은 서버 관리자에게 누가 어떤 명령어를 사용할 수 있는지 설정할 수 있도록 허용해줍니다. 기본적으로 OP 상태에 있는 플레이어들에게는 모든 명령어의 권한을 귀속시켜줍니다. OP 상태에 있지 않은 플레이어들은 관리 명령어나 펄미션 노드가 지정된 명령어에는 접근(사용)할 수 없도록 합니다. 서버 관리자는 어떤 명령어에 펄미션 플러그인을 이용해 펄미션 노드에 대한 접근 여부를 설정하여 누가 그 명령어를 접근할 수 있는지에 대해 설정할 수 있습니다.

참고

스폰지는 펄미션 관리 플러그인이 아닙니다. 각각의 플레이어나 그룹에 대해 권한을 부여하기 위해서는 펄미션 관리 플러그인을 직접 찾으셔야 합니다.

관리자 명령어

이 명령어들은 일반적인 명령어들과 함께 서버 관리자가 이용할 수 있습니다.

Sponge

다음의 명령어들은 OP 상태의 플레이어 혹은 펄미션 노드를 귀속받은 플레이어가 사용할 수 있습니다.

명령어

설명

권한

/sponge audit

Mixin 디버깅을 통해 로드되지 않은 클래스 파일을 강제로 로드

sponge.command.audit

/sponge blockinfo

타겟팅 중인 블록에 대한 정보를 표시

sponge.command.blockinfo

/sponge chunks

Prints out the chunk data for a world, a dimension, or globally.

sponge.command.chunks

/sponge config

Alters a global, world, or a dimension config.

sponge.command.config

/sponge entityinfo

Shows the type and some additional information about the entity you are looking at.

sponge.command.entityinfo

/sponge heap

Dumps the JVM heap.

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

Lists currently installed Sponge plugins.

sponge.command.plugins

/sponge plugins reload

Asks plugins to perform their own reload procedures.

sponge.command.plugins.reload

/sponge reload

Reloads the global, world, or dimension config.

sponge.command.reload

/sponge save

Saves the global, world, or dimension config.

sponge.command.save

/sponge timings

The main command for the timings module.

sponge.command.timings

/sponge tps

Display ticks per second for each world.

sponge.command.tps

/sponge version

Prints the Sponge/SpongeAPI versions to the console.

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

View information on commands used on the server.

sponge.command.help


Sponge Command Parameters

  • /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|*]

Command Conflicts

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.

참고

The /sponge audit command forces loading of any classes which have not yet been loaded, allowing the full output from all mixin debugging environment variables to be captured. This also requires the mixins.checks variable, see the Mixin wiki for more information.

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 Sponge 설정하기 for a more detailed explanation.

  1. /sponge config -d minecraft:nether logging.chunk-load true

Since a dimension type was specified, this would alter the nether dimension config (and hence all nether worlds).

  1. /sponge config -w DIM1 logging.chunk-load true

This would alter the config of world named 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

Timings are a tool built into Sponge that allows server administrators to monitor the performance of their server. Timings will collect information about a server so that a report may later be generated on the data. Information that is recorded by timings include the server motd, version, uptime, memory, installed plugins, tps, percent of tps loss, number of players, tile entities, entities, and chunks. Below is a list of sub-commands to /sponge timings:

명령어

설명

/sponge timings on

Enables timings. Note that this will also reset timings data.

/sponge timings off

Disables timings. Note that most timings commands will not function and timings will not be recorded if timings are disabled.

/sponge timings reset

Resets all timing data and begins recording timing data after the time this command was done.

/sponge timings report

Generates the timings report on your server performance at https://timings.aikar.co

/sponge timings verbon

Enables timings monitoring at the verbose level.

/sponge timings verboff

Disables timings monitoring at the verbose level. Note that high-frequency timings will not be available.

/sponge timings cost

Gets the cost of using timings.

Forge

The following commands are available only when using the SpongeForge coremod on Forge. Other implementations of the SpongeAPI, such as SpongeVanilla, do not include these commands.

명령어

설명

권한

/forge tps

Display ticks per second for each world.

forge.command.forge

/forge track

Enable tile entity tracking.

forge.command.forge


For any Forge mods that use the vanilla command API, command permissions are provided in the form <modid>.command.<commandname>.

Vanilla

There are several commands built-in to vanilla Minecraft that are also available on servers powered by Sponge. The list below is not comprehensive, but it includes the most commonly used commands. These commands are available to players with operator status (or the correct permission node). In general, permissions for vanilla Minecraft commands on a Sponge server are of the structure minecraft.command.<command>, as shown below.

명령어

설명

권한

/ban

플레이어를 차단합니다.

minecraft.command.ban

/ban-ip

플레이어의 IP 주소를 차단합니다.

minecraft.command.ban-ip

/banlist

차단된 플레이어를 모두 보여줍니다.

minecraft.command.banlist

/clear

인벤토리를 초기화합니다.

minecraft.command.clear

/deop

플레이어에게서 OP를 제거합니다.

minecraft.command.deop

난이도

게임 난이도를 설정합니다.

minecraft.command.difficulty

/gamemode

플레이어의 게임모드를 설정합니다.

minecraft.command.gamemode

/gamerule

게임 규칙을 설정합니다.

minecraft.command.gamerule

/give

플레이어에게 아이템을 줍니다.

minecraft.command.give

/kill

플레이어나 엔티티를 죽입니다.

minecraft.command.kill

/op

플레이어에게 관리자 지위를 줍니다.

minecraft.command.op

/pardon

플레이어를 차단 목록에서 제거합니다.

minecraft.command.pardon

/save-all

서버를 중지합니다.

minecraft.command.save-all

/save-off

자동적인 서버 저장을 비활성화합니다.

minecraft.command.save-off

/save-on

Enable automatic server saving.

minecraft.command.save-on

/setidletimeout

Define how long players can be idle before getting kicked.

minecraft.command.setidletimeout

/setworldspawn

세계의 소환 지점을 설정합니다.

minecraft.command.setworldspawn

/stop

서버를 중지합니다.

minecraft.command.stop

/toggledownfall

날씨를 맑음이나 비 내림으로 변경합니다.

minecraft.command.toggledownfall

/tp

플레이어나 엔티티로 순간이동합니다.

minecraft.command.tp

/weather

날씨를 정의된 상태로 설정합니다.

minecraft.command.weather

/whitelist

서버 화이트리스트를 관리합니다.

minecraft.command.whitelist

/worldborder

월드의 제한을 관리합니다.

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>

참고

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

참고

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.

플레이어 명령어들

The following commands are available as part of vanilla Minecraft to players without operator status.

명령어

설명

권한

/help

View information on commands used on the server, by default the Sponge command will be used instead!

minecraft.command.help

/me

모두에게 자신이 뭐하는 중인지 말합니다.

minecraft.command.me

/say

Display a message to everyone (or, if using selectors, specific players).

minecraft.command.say

/tell

다른 플레이어에게 개인적인 메시지를 보냅니다.

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

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.