命令
服务器管理员可以使用命令来控制自己的服务器,玩家们也可以通过命令来与服务器交互。
在 Sponge 中,命令受权限系统的控制。权限系统允许服务器管理员控制哪些人可以使用哪些命令。一般来说,拥有管理员身份的玩家可以使用所有命令。没有管理员身份的玩家无法使用管理员命令,或者需要获得对应的权限节点后才可以使用命令。服务器管理员可以使用某种权限插件添加或取消权限节点,来精确控制玩家使用命令的权限。
注解
Sponge 自身不是权限管理插件。若需添加或取消特定玩家或组的权限,你需要使用某种权限管理插件。
管理员命令
这些额外于普通玩家命令的命令对服务器管理员可用
Sponge
有管理员权限,或有该命令权限节点的玩家可以使用这些命令来控制 Sponge 的运行。
命令 |
说明 |
|
---|---|---|
/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 获取详细说明。
/sponge config logging.chunk-load true
由于世界未指定,将默认使用发送者(玩家)的世界。因此如果你在 mystcraft 世界,这将会更改 mystcraft 世界的配置。
/sponge config -d minecraft:nether logging.chunk-load true
由于指定了世界类型,这将改变下界世界配置 (和所有的下界类型世界)。
/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 的实现中没有这些命令。
命令 |
说明 |
|
---|---|---|
/forge tps |
显示每个世界的每秒游戏刻数量(TPS)。 |
forge.command.forge |
/forge track |
开启Tile Entity跟踪。 |
forge.command.forge |
对于基于 Forge 的 Mod 来说,它们在原版命令系统中追加的新命令均有如下格式的权限节点:<modid>.command.<commandname>
。
原版指令
下面几个命令基于原版的 Minecraft ,不过在 Sponge 服务器上也能够使用。列表没有列出所有命令,但它包含了最常用的命令。有管理员权限(或对应权限节点)的玩家可以使用这些命令。一般情况下,Sponge 服务器上使用原版命令的权限名称为诸如 minecraft.command.<command>
的形式,如下所述。
命令 |
说明 |
|
---|---|---|
/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 自带,且玩家无需管理员权限即可使用。
命令 |
说明 |
|
---|---|---|
/help |
查看服务器内全部可用命令的信息。 |
minecraft.command.help |
/me |
告诉所有人你在做什么。 |
minecraft.command.me |
/say |
给所有人(或者指定玩家)发送一条消息。 |
minecraft.command.say |
/tell |
私信另一名玩家。 |
minecraft.command.tell |
原版命令的完整列表可在这里。在 Sponge 服务器中,原版 Minecraft 命令有着形如 minecraft.command.<command>
的权限节点。