资源图标

原生 rsw-perms - 属于基岩版的权限管理器 v1.0.0

完成注册/登录后下载
版权类型
原创
版权链接
#
Wiki/文档
https://rsw.maskviva.xyz/zh/
语言支持
多语言
前置组件
Pier 26.40.2+ ( https://www.minebbs.com/resources/pier-c-levilamina.18108/ )
适配版本(基岩)
  1. 最新版本
[MD] # RSW 权限管理器 **基岩版的 LuckPerms。免费,完整发布,不分版本,没有上限。** 跑在 [Pier](https://github.com/Maskviva/Pier) 上,所以它不直接链 LeviLamina。 Pier 的 ABI 只增不减,换 BDS 版本不用等这个插件跟着重编。 [/MD]

1789363122376.webp
---

[MD] ## ✨ 装上就能用 首次启动建好四个组,新玩家自动落在 `member`,能建造能交互。 | 组 | 能做什么 | |---|---| | `visitor` | 走动、看 | | `member` | 建造、交互、开容器、用物品、乘骑(**新玩家默认在这里**) | | `staff` | member 的全部 + 非破坏性世界命令 + `/rswperm` 的读 | | `admin` | 全部 | 控制台敲一条 `/rswperm promote <你的名字>` 把自己提上去,剩下的在游戏里点表单。 ## 🔒 26 条原版行为守卫 + 52 条原版命令闸门 不是「弹一句提示」,是真拦截:判成拒绝,那个动作就不会发生。 | | | |---|---| | 方块 | 破坏 / 放置 / 交互 / 对方块使用 / 改告示牌 | | 物品 | 使用 / 丢弃 / 捡起 / 合成与铁砧砂轮织布机 | | 实体 | 攻击 / PVP / 交互 / 乘骑 / 推挤 / 捡箭与三叉戟 / 盔甲架 / 展示框 | | 环境 | 容器 / 压力板与绊线 / 睡觉 / 潜行 / 聊天 / 改游戏模式 / 进服 | | 命令 | `minecraft.command.<命令>`,52 条原版命令的闸门 | [/MD]

1789363184841.webp


[MD] ## 🎯 后缀细分,和 `minecraft.command.*` 一个语义 先判带后缀的,判不出才退回不带后缀的。所以: ``` minecraft.break 挖方块,全部 -minecraft.break.diamond_ore 除了钻石矿 -minecraft.projectile.ender_pearl 弓箭随便射,末影珍珠不行 -minecraft.ride.boat 马能骑,船不能 -minecraft.plate.tripwire 压力板能踩,绊线不行 ``` 后缀该写什么,`/rswperm nodes` 每一条都会告诉你,不用去翻 wiki。 ## 🖱️ 一切都在表单里 组、玩家、节点目录、模板差异、状态,五个入口。节点编辑是**三档**的—— 跟随 / 允许 / 拒绝。「跟随」一行记录都不写,所以改父组的时候子组跟着变。 [[截图 3:某个组的节点编辑页,能看到跟随 / 允许 / 拒绝三档。 最好挑一个既有「跟随」又有「拒绝」的页面。]] ## 🔍 `/rswperm why` —— 这个插件最有用的一条命令 「我明明授了权限为什么还是不行」,敲这一条,它把**所有命中的规则按排名列出来**, 每条带着它来自哪个组,赢的那条在第一行。 [/MD]

1789363272755.webp


[MD] ## 📒 挂载账本:收回去的权限不会自己回来 mod 每次启动都会声明自己的节点。**没有账本的话,你收回的那一条会在那个 mod 下次装载时 回来,而日志里一个字都没有。** 账本把每次声明和每次收回都记下来,所以下一次声明看到你已经答过了。 `/rswperm ledger` 打出来:哪个 mod 声明了什么,哪些已经被你撤下。 ## 🛡️ 权力按动作算,不按来源算 控制台无条件;玩家按节点判;**命令方块、`/execute`、脚本只能发读的那几个动词**。 放一块命令方块本来就要管理员,踩一块压力板不要——而一块跑 `/rswperm promote` 的压力板 等于「谁踩上去谁升级」。这条不做成配置项。 ## 📄 权限模板:组树是文件 ```yaml display: "成员" weight: 10 track: true parents: ["visitor"] permissions: - "minecraft.break" - "minecraft.place" - "cmd.world.tp" ``` 能进 Git,能跨服务器复制。**模板不会自己覆盖你的组**:启动只报差异,`tplapply` 才写入, `tplaccept` 是「这个组我就是故意不一样」。你花一晚上调好的 `staff`,不会被一份你没碰过的 文件冲掉。 ## 🌐 WebUI(可选,默认关) 浏览器里改组树、玩家和节点。三道门:token / 域名绑定 / IP 白名单,至少开一道; **绑在非回环地址上而只开了域名绑定,直接拒绝启动**——`Host` 头是客户端自己填的, 在公网上它根本不是门。 [/MD]

1789363315535.webp


[MD] ## 🗣️ 中英双语,语言跟着读的人走 控制台、日志、线协议用 `config.language`;**玩家看到的跟着那个玩家**:他自己选的 → 客户端报的语言 → 服务器默认。语言文件在 `lang/` 下,想加一门语言复制一份翻掉就行, 不用等版本。 [[截图 6:表单底部的语言切换按钮,或者切换前后的对比。可选。]] ## 🧱 拒绝只有一句话 玩家看到 `§c没有权限。`,不带节点名也不带组名。 **告诉玩家缺哪个节点,等于把权限树的形状一条一条交给每个来试探的人。** 节点和理由进 `logs/rsw/`,服主用 `/rswperm why` 看整条链。 [[截图 7:玩家被拒绝时聊天框里那一句,游戏内实拍。 和截图 4 放在一起对比效果最好:玩家看到一句话,服主看到整条链。]] ## 🧰 给插件作者的 API 快车道(裸函数指针表,一次调用不序列化)+ JSON 通道,两条给同一个答案。 声明节点、查询、`check_many` 批量、`why`、按玩家取语言。 **三态:允许 / 拒绝 / 未定义。未定义不是拒绝。** 原生 LeviLamina mod 也能调,走 Pier 的 `pier-bridge.h`,纯头文件不用链接。 --- ## 📦 安装 1. 先装 [Pier](https://github.com/Maskviva/Pier) 2. `rswperms` 放进 `plugins/` 3. 启动一次,然后从控制台:`/rswperm promote <你的名字>` 首次启动自动建库、写四份模板、写配置、写中英两份语言文件。**之后不再重写任何一份。** [[截图 8:启动日志。从第一行 `[rswperms]` 到「已启动:N 个事件」。 控制台现在是带颜色的,截图比贴文字好看。]] ## ⌨️ 命令速查 ``` /rswperm menu 开表单(组 / 玩家 / 节点都在里面) /rswperm status | groups | nodes | ledger /rswperm info <玩家> | check <玩家> <节点> | why <玩家> <节点> /rswperm grant <组> <节点> <true|false> false 是显式拒绝 /rswperm revoke <组> <节点> 收回,账本记着 /rswperm newgroup | delgroup | inherit | setdefault /rswperm user add|del <玩家> <组> | promote | demote /rswperm tplstatus | tplapply <组> | tplaccept <组> | reload ``` 组名、节点名、玩家名都有补全。 ## 📚 文档 完整文档(中英):**[https://rsw.maskviva.xyz/](https://rsw.maskviva.xyz/)** 有一页叫「第一次配置」,从装好走到一台能用的服务器,二十分钟;还有一页「常见任务」, 十二件事照着抄。 ## 🐛 反馈 GitHub Issues:**[https://github.com/Maskviva/rsw-mod/issues](https://github.com/Maskviva/rsw-mod/issues)** 带上启动日志、`/rswperm status`、出问题那个动作的 `/rswperm why`,能省一整轮来回。 --- ## ⚖️ 说明 免费使用,**源码不公开**。二进制发布,条款见发布包里的 `TERMS.zh-CN.md`。 权限管理器会写自己的 SQLite 库。**上线前先备份存档。** [/MD]
  • 1789363122376.webp
    1789363122376.webp
    130.8 KB · 查看: 6
作者
Maskviva
下载
3
查看
142
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部