Commands and Permissions — Sponge 8.0.0 documentation (2022)

Warning

These docs were written for SpongeAPI 7 and are likely out of date.If you feel like you can help update them, please submit a PR!

Commands are one method in which server operators can administer their server, and in which players can interact withthe server.

In Sponge, commands follow a system of Permissions. Permissions allow server operators to controlwho can access what commands. By default, all commands are granted to players with OP status. Players without operatorstatus do not have access to administrative commands or commands that require an assigned permission node. A serveroperator can fine-tune who can access what commands by adding/negating permission nodes through a permissions plugin.

Note

Sponge is not a permissions-management plugin. To add and negate permissions for individual players or groups, youwill need to find a permissions-management plugin.

Operator Commands

These commands, in addition to regular player commands, are available to server operators.

Sponge

The following commands are available to players with operator status (or the correct permission node) on servers poweredby Sponge.

Command

Description

Permission

/sponge audit

Forces loading of unloaded classes toenable mixin debugging.

sponge.command.audit

/sponge blockinfo

Shows the type and some additionalinformation about the block you arelooking at.

sponge.command.blockinfo

/sponge chunks

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

sponge.command.chunks

/sponge config

Alters a global, world, or a dimensionconfig.

sponge.command.config

/sponge entityinfo

Shows the type and some additionalinformation about the entity you arelooking at.

sponge.command.entityinfo

/sponge heap

Dumps the JVM heap.

sponge.command.heap

/sponge metrics

Gets or sets whether metric (also knownas server stats) collection is enabledfor 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 reloadprocedures.

sponge.command.plugins.reload

/sponge reload

Reloads the global, world, or dimensionconfig.

sponge.command.reload

/sponge save

Saves the global, world, or dimensionconfig.

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 tothe 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 onComponents (such as pagination). Notintended to be invoked by hand.

/sponge:help

View information on commands used on theserver.

sponge.command.help

Sponge Command Parameters

Command Conflicts

In cases of command conflict, Sponge provides a primary alias mechanism to specify which command is to be used. Forexample, Minecraft provides the reload command andSponge provides the reload command. Tospecify which command to use, prefix it with minecraft or sponge and a :. So, to use Sponge’s reload commandabove, type in /sponge:reload. This approach can also be used to handle conflicts between mods and/or plugins. Dothe 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 acommand, but the command is incompatible with your mod. If you can configure your mod to use a Minecraft nativecommand or another plugin’s command, you can restore the expected behavior or prevent unexpected behaviors.

Note

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

Tip

Here are a few simple examples of the sponge config command in action. Note that at least one target flag must bespecified. Please see Configuring 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-trackingThis message channel is used by the client (if the SpongeForge mod is installed) to display the block and entityowner 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 thatis 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:

Command

Description

/sponge timings on

Enables timings. Note that this willalso reset timings data.

/sponge timings off

Disables timings. Note that most timingscommands will not function and timingswill not be recorded if timings aredisabled.

/sponge timings reset

Resets all timing data and beginsrecording timing data after the timethis command was done.

/sponge timings report

Generates the timings report on yourserver performance athttps://timings.aikar.co

/sponge timings verbon

Enables timings monitoring at theverbose level.

/sponge timings verboff

Disables timings monitoring at theverbose level. Note that high-frequencytimings 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 theSpongeAPI, such as SpongeVanilla, do not include these commands.

Command

Description

Permission

/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 listbelow is not comprehensive, but it includes the most commonly used commands. These commands are available to playerswith operator status (or the correct permission node). In general, permissions for vanilla Minecraft commands on aSponge server are of the structure minecraft.command.<command>, as shown below.

Command

Description

Permission

/ban

Ban a player.

minecraft.command.ban

/ban-ip

Ban a player’s IP address.

minecraft.command.ban-ip

/banlist

View all banned players.

minecraft.command.banlist

/clear

Clear an inventory.

minecraft.command.clear

/deop

Remove OP from a player.

minecraft.command.deop

/difficulty

Set the game difficulty.

minecraft.command.difficulty

/gamemode

Set the gamemode of a player.

minecraft.command.gamemode

/gamerule

Set a gamerule.

minecraft.command.gamerule

/give

Give an item to a player.

minecraft.command.give

/kill

Kill a player or entity.

minecraft.command.kill

/op

Give Operator status to a player.

minecraft.command.op

/pardon

Remove a player from the ban list.

minecraft.command.pardon

/save-all

Save the server.

minecraft.command.save-all

/save-off

Disable automatic server saving.

minecraft.command.save-off

/save-on

Enable automatic server saving.

minecraft.command.save-on

/setidletimeout

Define how long players can be idlebefore getting kicked.

minecraft.command.setidletimeout

/setworldspawn

Set the spawnpoint for the world.

minecraft.command.setworldspawn

/stop

Stop the server.

minecraft.command.stop

/toggledownfall

Toggle between sunny and rainy weather.

minecraft.command.toggledownfall

/tp

Teleport players and entities.

minecraft.command.tp

/weather

Set the weather to a defined condition.

minecraft.command.weather

/whitelist

Manage the server whitelist.

minecraft.command.whitelist

/worldborder

Manage the world border.

minecraft.command.worldborder

Sponge also creates permissions for these Minecraft features:

Note

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

Note

Sponge offers improved multi-world support, such as per-world world borders. By default, Sponge only changes theworld border (or other world options) of the world the player is currently in. The vanilla behavior of setting itfor all worlds can be restored using the global configuration and settingsponge.commands.multi-world-patches.worldborder (or the corresponding entry) to false. Seeglobal.conf for details. Sponge assumes that multi-world plugins alsoprovide optimized configuration commands for those options and thus does not provide its own variants.

Player Commands

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

Command

Description

Permission

/help

View information on commands used on theserver, by default the Sponge commandwill be used instead!

minecraft.command.help

/me

Tell everyone what you are doing.

minecraft.command.me

/say

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

minecraft.command.say

/tell

Privately message another player.

minecraft.command.tell

A full list of vanilla commands can be found at: https://minecraft.gamepedia.com/Commands#List_of_commands. Permissionsfor 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 imagebelow shows the output using the /sponge plugins command (yellow box). The elements in that list can be hovered overto get addition information such as the current version number (red box). Some elements in the example below also haveadditional actions bound to them. For example, the plugin entries in that list can be clicked to show more detailedinformation (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 thenpressing tab will show a list of possible values (turquoise box) that can be used in that context. Pressing tab againwill iterate the possibilities, if any. Theoretically it is possible to write most commands by pressing only tab andspace (and maybe the first letter of each segment).

Commands and Permissions — Sponge 8.0.0 documentation (1)

Tip

If you are a plugin author and you want to use hoverable text and text actions in your plugin, then head over to ourText documentation.

Top Articles

Latest Posts

Article information

Author: Kareem Mueller DO

Last Updated: 01/01/2023

Views: 5987

Rating: 4.6 / 5 (66 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Kareem Mueller DO

Birthday: 1997-01-04

Address: Apt. 156 12935 Runolfsdottir Mission, Greenfort, MN 74384-6749

Phone: +16704982844747

Job: Corporate Administration Planner

Hobby: Mountain biking, Jewelry making, Stone skipping, Lacemaking, Knife making, Scrapbooking, Letterboxing

Introduction: My name is Kareem Mueller DO, I am a vivacious, super, thoughtful, excited, handsome, beautiful, combative person who loves writing and wants to share my knowledge and understanding with you.