命令

服务器管理员可以使用命令来控制自己的服务器,玩家们也可以通过命令来与服务器交互。

在 Sponge 中,命令受权限系统的控制。权限系统允许服务器管理员控制哪些人可以使用哪些命令。一般来说,拥有管理员身份的玩家可以使用所有命令。没有管理员身份的玩家无法使用管理员命令,或者需要获得对应的权限节点后才可以使用命令。服务器管理员可以使用某种权限插件添加或取消权限节点,来精确控制玩家使用命令的权限。

注解

Sponge 自身不是权限管理插件。若需添加或取消特定玩家或组的权限,你需要使用某种权限管理插件。

管理员命令

这些额外于普通玩家命令的命令对服务器管理员可用

Sponge

有管理员权限,或有该命令权限节点的玩家可以使用这些命令来控制 Sponge 的运行。

命令

说明

Permission 字符串

/sponge audit

强制装载未装载的类,以便于启用 Mixin 调试。

sponge.command.audit

/sponge chunks

输出某个世界、某个维度或全局的区块信息。

sponge.command.chunks

/sponge config

修改全局、某个世界或某个维度的配置。

sponge.command.config

/sponge heap

导出 JVM 堆内存信息。

sponge.command.heap

/sponge plugins

显示当前已安装插件列表。

sponge.command.plugins

/sponge plugins reload

请求插件执行它们自己的重载操作。

sponge.command.plugins.reload

/sponge reload

重新加载全局、 世界或维度的配置。

sponge.command.reload

/sponge save

保存全局、世界、或维度的配置

sponge.command.save

/sponge timings

计时模块的主命令。

sponge.command.timings

/sponge tps

显示每个世界的每秒游戏刻数量(TPS)。

sponge.command.tps

/sponge version

在控制台中输出 Sponge/SpongeAPI 的版本。

sponge.command.version


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

注解

/sponge audit 指令强制装载所有未被装载的类,并允许采集完整的 Mixin 调试环境的变量的输出。这同时需要 mixins.checks 变量,请参见 Mixin wiki 以获得更多信息。

小技巧

这里有若干简单的 Sponge 配置命令例子。参阅 配置 Sponge 获取详细说明。

  1. /sponge config logging.chunk-load true

由于世界未指定,将默认使用发送者(玩家)的世界。因此如果你在 mystcraft 世界,这将会更改 mystcraft 世界的配置。

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

由于指定了世界类型,这将改变下界世界配置 (和所有的下界类型世界)。

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

这将改变名为 DIM1 的世界的配置。

Timings

Timings 是 Sponge 内置的允许服务器管理员监视服务器运行状况的工具。Timings 将收集有关服务器的信息以便生成一个报告。由 Timings 记录的信息包括服务器 motd、版本、运行时间、内存、安装的插件、tps 以及 tps 丢失的百分比,玩家数量、Tile entity 、实体和区块。下面是 /sponge timings 的子命令列表:

命令

说明

/sponge timings on

启用 Timings。请注意,这将会重置 Timings 数据。

/sponge timings off

禁用 Timings。请注意在禁用时,大部分 Timings 指令将会无法使用,并且 Timings 将不会进行记录工作。

/sponge timings reset

重设所有 Timings 数据,并在此命令结束后开始记录 Timings 数据。

/sponge timings report

https://timings.aikar.co 生成服务器性能的 Timings 报告。

/sponge timings verbon

设置计时报告的监测记录为详细模式。

/sponge timings verboff

取消设置计时报告的监测记录为详细模式。注意这会使得高频计时不可用。

/sponge timings cost

获取使用计时监测的成本。

Forge

下面的命令只能在安装有 SpongeForge 的 Forge 平台上使用。SpongeVanilla 等其他 SpongeAPI 的实现中没有这些命令。

命令

说明

Permission 字符串

/forge tps

显示每个世界的每秒游戏刻数量(TPS)。

forge.command.forge

/forge track

开启Tile Entity跟踪。

forge.command.forge


对于基于 Forge 的 Mod 来说,它们在原版命令系统中追加的新命令均有如下格式的权限节点:<modid>.command.<commandname>

原版指令

下面几个命令基于原版的 Minecraft ,不过在 Sponge 服务器上也能够使用。列表没有列出所有命令,但它包含了最常用的命令。有管理员权限(或对应权限节点)的玩家可以使用这些命令。一般情况下,Sponge 服务器上使用原版命令的权限名称为诸如 minecraft.command.<command> 的形式,如下所述。

命令

说明

Permission 字符串

/ban

封禁指定玩家。

minecraft.command.ban

/ban-ip

封禁指定玩家的 IP 地址。

minecraft.command.ban-ip

/banlist

显示封禁玩家清单。

minecraft.command.banlist

/clear

清空物品栏。

minecraft.command.clear

/deop

取消指定玩家的管理员权限。

minecraft.command.deop

/difficulty

设定游戏难度。

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

启动服务器自动保存。

minecraft.command.save-on

/setidletimeout

设定玩家挂机踢出延迟。

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 同样设置了允许绕过出生点保护的权限,以及两种和控制命令方块中的命令内容相关的权限。需要注意的是这些命令使用的是命令方块的真正 名称 。这些名称默认情况下通常以 @ 开头。

  • 允许玩家绕过所有世界的出生点保护: minecraft.spawn-protection.override

  • 允许玩家编辑特定名称的命令方块: minecraft.commandblock.edit.block.<name>

  • 允许玩家编辑特定名称的命令方块矿车: minecraft.commandblock.edit.minecart.<name>

玩家命令

下面的命令均为原版 Minecraft 自带,且玩家无需管理员权限即可使用。

命令

说明

Permission 字符串

/help

查看服务器内全部可用命令的信息。

minecraft.command.help

/me

告诉所有人你在做什么。

minecraft.command.me

/say

给所有人(或者指定玩家)发送一条消息。

minecraft.command.say

/tell

私信另一名玩家。

minecraft.command.tell


原版命令的完整列表可在这里。在 Sponge 服务器中,原版 Minecraft 命令有着形如 minecraft.command.<command> 的权限节点。