Skip to content

命令、权限、PAPI 与 NPC

FKEscape 根据服务器角色注册不同的 /fkescape 子命令。不要在大厅测试游戏服命令,也不要用管理员权限掩盖普通玩家权限问题。

大厅命令

命令执行者作用成功表现
/fkescape玩家/控制台显示大厅帮助返回当前角色帮助
/fkescape join [档位]玩家按指定或记忆档位报名进入队列或开始转服
/fkescape leave玩家取消大厅排队从队列移除
/fkescape shop玩家打开战术商店出现四个标签页
/fkescape mailbox玩家打开邮箱异步加载邮件列表
/fkescape admin reload管理员/控制台重新加载玩法配置成功或返回具体错误原因

档位补全来自 backpack.yml,默认是 smallmediumlargehuge

游戏服命令

命令执行者作用注意
/fkescape status玩家查看阶段、秒数、人数、背包状态只反映本游戏服当前局
/fkescape pack玩家打开战术背包和保险箱必须是有效对局成员
/fkescape equipment玩家重开选装菜单仅选装阶段可用
/fkescape leave玩家离开当前局行动中按失败处理
/fkescape admin reload管理员/控制台重载配置区域/战利品可能下一局生效
/fkescape admin forcestart管理员/控制台强制推进等待阶段没有可推进对局会拒绝
/fkescape admin reset管理员/控制台终止并重置当前局清除未撤离战术背包,不是无损维护

权限

节点默认用途
fkescape.use所有人使用 /fkescape 主命令
fkescape.admin非默认使用管理子命令
fkescape.safebox.basic由服主授予默认基础保险箱
fkescape.safebox.high由服主授予默认高级保险箱
fkescape.safebox.top由服主授予默认顶级保险箱
fkescape.kit.<id>由服主授予把对应装备券作为永久券

保险箱和装备券的实际节点来自各自 YAML,不是硬编码。多个保险箱权限同时存在时采用最高 priority

LuckPerms 示例:

text
/lp group default permission set fkescape.use true
/lp group vip permission set fkescape.safebox.high true
/lp group admin permission set fkescape.admin true
/lp user TestPlayer permission set fkescape.kit.t4-basic true

预期结果: 普通玩家看不到管理操作;永久券无需商店购买也出现在选装菜单;跨服后权限结果相同。

常见坑: 只在大厅授予权限、把 fkescape.admin 给菜单执行账号、或调整保险箱 priority 后导致玩家选中意外档位。

PlaceholderAPI

变量前缀为 fkescape

变量返回示例说明
%fkescape_state%行动中本服状态:空闲/等待中/选装中/传送中/行动中/结算中
%fkescape_players%2本服当前注册对局玩家数,不是全群组在线数
%fkescape_timer%438当前阶段剩余秒数,最低为 0
%fkescape_safebox_tier%high / none在线玩家当前最高保险箱档位
%fkescape_extracts%12历史成功撤离次数
%fkescape_deaths%4历史死亡次数

验证:

text
/papi parse me %fkescape_state%
/papi parse me %fkescape_extracts%

Citizens NPC

NPC 只在 LOBBY 角色生效。

  1. 用 Citizens 创建商店 NPC 与报名 NPC。
  2. /npc id 记录数字 ID。
  3. 填入大厅 settings.yml
yaml
lobby:
  shop-npcs: [9]
  join-npcs: [10, 11]
  1. 执行 /fkescape admin reload
  2. 用普通玩家右键:9 应打开商店,10/11 应按权益或默认档位报名。

一个 NPC 不能同时属于两组。NPC 报名不会绕过空库存、重复报名、余额和游戏服可用性检查。

装备券命令占位符

kits.ymlgrant-commands 支持 [console][player]、PlaceholderAPI 和 %player_name%。每条命令必须明确包含 %player_name%,且开头不写 /

yaml
grant-commands:
  - "[console] mi give SWORD LONG_SWORD %player_name% 1"
  - "[console] minecraft:give %player_name% iron_helmet 1"

上线前逐条在游戏服控制台独立测试。不要在故障后手工重复运行整组命令,可能造成重复发货。