Skip to content

命令列表

WorldGuard 的命令一般有下列几类:

  • 与游戏相关的命令(/god/heal 等);
  • 与区域管理有关的命令;
  • 临时的紧急措施;
  • 排除问题;
  • WorldGuard 本身相关的功能(版本信息、重载信息等) 见“权限列表”章节来获取有关的权限节点。部分命令自带别称,会在同一行列出。

提示

当一个参数(例如 <玩家名称> 是一个参数)被 方括号"[]" 所包括,表示这个参数可输可不输,另外输入命令的时候不需要带上 尖角括号"<>"方括号"[]"

游戏相关命令

命令名称额外参数命令描述
/god[-s] [<玩家名称>]为自己或其他玩家开启无敌模式。-s 表示操作时不发送消息提醒。
/ungod[-s] [<玩家名称>]为自己或其他玩家关闭无敌模式。-s 表示操作时不发送消息提醒。
/heal[-s] [<玩家名称>]治疗自己或其他玩家。-s 表示操作时不发送消息提醒。
/slay[-s] [<玩家名称>]斩杀自己或其他玩家。-s 表示操作时不发送消息提醒。
/locate[<玩家名称>]将你的指南针指向其他玩家(如果指定玩家名称的话),若不提供玩家参数则指向主城的位置。
/stack
/;
自动堆叠分散的同种物品。

选择器

命令中用作玩家参数的部分支持选择过滤器,但它们和原版三年前加入的的选择过滤器略有不同。

玩家参数可以通过下列选择过滤符进行匹配:

  • 默认情况下,如果填入正常名称,以该名称开头的玩家将会被选中。 (译者注:例如,player_ 填入时,可能会选中 player_、player_155 或 player_666。)
  • * 匹配所有玩家。
  • #<世界名称> 来匹配指定世界中的所有玩家。
  • #near 匹配命令执行者附近的玩家。
  • @<名称> 来完全匹配某个玩家的名称。 (译者注:与上面不同,@player_ 只会匹配 player_ 这一个玩家。)

区域相关命令

命令名称额外参数命令描述
/wg flushstates
/wg clearstates
[玩家名称]调试命令,用于清除区域标志相关的玩家信息。例如,为了让 entry 标志生效,玩家每次移动踩着的“方块”都会被记录,以用于判断玩家是否处在区域内。该命令在玩家在区域内外因 entryexit 卡住的时候很有用,尤其是在成员权限或权限组变更后造成的卡死。可选的玩家参数可以指定玩家将相关信息清除,如果没有提供玩家参数,那么所有玩家的标志状态都会被重置。
/rg bypass
/rg toggle-bypass
[on/off]切换区域绕过模式,开启时允许无视(除 PVP 标志外的)所有保护。

紧急命令

命令名称额外参数命令示例
/stopfire[<世界名称>]立即停止指定世界的火焰传播。
/allowfire[<世界名称>]允许指定世界的火焰传播。
/stoplag
/halt-activity
/haltactivity
[-s]删除所有实体,并停止接下来一切的物理活动或流体流动。额外地,当一个新区块载入时,其中包含的所有实体都将会被清除。该命令一般用于解决物品或实体过多造成的问题。尽管,在该命令加入后的时间中,驯服的动物和实体丢失的问题已不常出现,因此除非迫不得已,否则不建议使用此命令。-s 参数添加后不会将消息发送至聊天栏。
/stoplag
/halt-activity
/haltactivity
-c [-s]关闭“停止卡顿”模式。-s 参数添加后不会将消息发送至聊天栏。
/stoplag
/halt-activity
/haltactivity
-i显示“停止卡顿”模式的有关状态。

问题排查命令

命令名称额外参数命令示例
/wg report[-p]生成一份报告文件(可在 plugins/WorldGuard/report.txt 下找到该文件)这里会存有一些服务器的信息(安装的插件及其版本,世界的相关设置)以及 WorldGuard 的配置。报告文件不会包含任何敏感数据。使用参数 -p 将数据自动上传至剪贴板网站并返回一个链接,可将该链接发送给其他人。
/wg profile[-p] [-i <毫秒数>] [-t <名称>] [<分钟数>]开始计算服务器当前的 CPU 用量,并在指定时长内启用分析器(在不指定时间的情况下默认为五分钟)。检测器功能是基于 WarmRoast 的。

默认情况下,检测结果只收集在主线程参与“刻”计算的世界,但 -t 参数允许你指定另外一个线程进行分析(大小写敏感)。星号(*)可以用于匹配所有的线程(例如:-t *)。默认情况下,分析器的采样间隔为 20 毫秒,但你可以使用 -i 参数指定一个处于 1 与 100 且单位为毫秒的间隔。间隔越小采样更精确,但性能开销也会增加,反之亦然。

使用参数 -p 一并提交分析器结果至剪贴板网站,并向你提供相关链接。非常推荐这么做,因为分析器提供的结果会被剪贴板网站格式化以使其便于阅读。
/wg stopprofile停止正在运行的性能分析器。
/wg debug testbreak[-t] [-s] <玩家名称>模拟一次“方块破坏”事件。具体会在下文解释。
/wg debug testplace[-t] [-s] <玩家名称>模拟一次“方块放置”事件。具体会在下文解释。
/wg debug testinteract[-t] [-s] <玩家名称>模拟一次“交互阻止”事件。具体会在下文解释。
/wg debug testdamage[-t] [-s] <玩家名称>模拟一次“实体攻击”事件 (用于测试 PVP 和 PVE)。具体会在下文解释。

事件模拟

事件模拟命令在一些情况下很有用。例如,玩家出于某些原因无法破坏方块且你无法找出是哪个插件导致的(没有其他的措施情况下)。使用 /wg debug testbreak 命令将会模拟一次方块放置事件并记录任何试图拦截该事件的插件。

若要使用命令,你必须提供玩家参数。玩家是触发该事件的来源。事件的目标(例如,“被破坏”的方块,或是“被攻击”的实体)。也就是从执行命令的玩家角度所发送的这一事件。但是,如果指定了 -t 参数,则目标来自于来源玩家视角中十字准星所选中的实体或方块。

在测试命令的输出中可能包含多个插件,一般情况下是第一个插件所引起的。这是因为,如果插件 A 阻止了事件的发生,随后的插件 B 也“阻止”了事件,那么插件 A 的效果将没有作用。WorldGuard 会为你列出最后一个阻止该事件的插件,其中列表中的第一个就是最后阻止该事件的插件。

示例

如果你想要查看为什么 PVP 被禁用的话,让另一个(无法进行 PVP 的)玩家看着你,并输入下列命令:

/wg debug testdamage -t other_player_name

请注意测试并没有完全完成。这是因为 Bukkit 在进行某些操作时会抛出其他的事件。例如,当装满一个桶的时候,Bukkit 首先会发起一个桶被装满的事件,而这个事件是 WorldGuard 所无法模拟的。直到现在,一些 Minecraft 的特性(例如冒险模式和内置的出生点保护)可能还在发挥作用。

使用 -s 可以在控制台输入关于堆栈的额外信息。

警告

虽然测试命令只会对插件发出测试事件,但基于 Minecraft 本身不会允许任何不正确的方块被放置或破坏,不会发生任何除测试目的之外的事件。例如,其他插件可能允许你点击告示牌进行传送并模拟一次传送事件,但这也可能导致其他玩家被传送。

其他命令

命令名称额外参数命令示例
/wg version显示 WorldGuard 的当前版本。
/wg reload重载 WorldGuard 的配置文件,黑名单以及区域数据。
/wg running
/wg queue
显示 WorldGuard 正在执行的任务。比如出现在背景中查询玩家 UUID 的任务。