权限系统

你能用哪些命令、能进哪些世界,都由它决定。这一页写给想查权限的人和管理员。

权限系统决定你能用哪些命令、能进哪些世界、菜单里能看到哪几项。大多数人进服就在某个组里,用不着管它。

查自己的权限

用菜单里的“权限”,或者:

/rsp user <你的名字> info
/rsp user <玩家> check rcc.fly

/rsp 是 /rswperm 的别名。第一条列出所在的组和继承的规则,第二条查某一项。

组和阶梯

一个组可以有多个父组,权限从父组继承。给新人加能力,改 visitor 组就行。

阶梯是一串有顺序的组:

visitor  →  member  →  admin

阶梯上判定向上放行:member 能做的,admin 自动能做。有了顺序,插入或删除一级、比较高低、升级降级都能直接完成。

判定顺序

相关规则排序后取第一条:

顺位 比较 胜出
1 键的具体程度 更具体
2 上下文的具体程度 更具体
3 继承距离 更近
4 权重 更大
5 值 拒绝
6 键名 字典序
7 出处 字典序

第 1 档排在第 3 档前面,“先给一整包、再去掉一项”的写法才有效。第 6、7 档保证同级规则的结果不随插件加载顺序变化。

排查

/rsp why <玩家> <节点>

按上面的顺序列出所有候选规则和最终结果,末尾标出每个上下文提供方的状态:[通]、[失败] 或 [已隔离]。提供方失败时,带条件的规则不会出现在候选表里。

事件门禁

可以拦截原版行为,比如破坏方块、打开容器、攻击实体。改完立即生效。

/rsp guard list
/rsp guard on <id>
/rsp guard off <id>

guard list 显示三种状态:

[开]           配置开着,事件已订阅,正在拦截
[开·订阅失败]  配置开着,事件没订阅上,拦不住任何人
[关]           配置关着

管理员命令

user  <玩家> info | check <节点> | setgroup | addgroup <组> | delgroup <组>
user  <玩家> set <节点> <true|false> | unset <节点> | promote | demote [阶梯]
group list | info <组> | create | delete | set | unset | parent add|del
track list | show <阶梯> | insert <阶梯> <组> [插在谁上面] | remove
why <玩家> <节点>
nodes | guard list|on|off <id> | providers | status | reload

promote、demote 沿阶梯走一格,不会出现“不在任何组里”的中间状态。

网页管理界面

默认关闭。需要在配置里把 enabled 设为 true 并填写非空 token,token 为空时拒绝启动。默认只监听 127.0.0.1,绑定其他地址时日志里会有警告。

补充

  • 组没变但权限变了,多半是组的配置改了,用 /rsp why 查是哪条规则。
  • 某个世界不能飞,可能是权限带了世界条件,也可能是世界本身不许飞(见多世界)。
  • 组改名不会同步到引用它的阶梯和准入条件,改之前用 /rsp providers 和 /rsp track list 查引用。
  • 没装权限插件时,其他插件按“离线”处理,不会报错。