自定义权限

自定义权限

NeoForge 的细粒度权限系统——为普通玩家授予原版命令权限

工具

CustomPerm

Minecraft NeoForge 的精细服务器端命令权限——向非 op 玩家授予单个原版或模组命令,无论是否使用 LuckPerms。

🧪 当前版本 1.0.5 已在 Beta 渠道发布,正在进行最终测试。功能完备,可安全在测试服务器上尝试;欢迎反馈。

Minecraft 1.21.1 NeoForge 21.1.221+ Java 21 许可证 GPL-3.0-only


为什么选择 CustomPerm?

原版 Minecraft 只有 op(所有命令)或 non-op(无管理命令),没有中间地带。

CustomPerm 允许你将恰好选定的命令授予非 op 玩家——无需完全 op:

  • 让玩家使用 /gamemode spectator,但绝不开放 /op。
  • 为 VIP 等级提供 /give,但不会解锁 /ban。
  • 将多个命令链接到单个自定义命令(别名/宏)。

它可在安装时原生集成 LuckPerms,否则自带 JSON 等级系统——因此可在任何服务器上运行。


功能特色

  • 精细的命令权限——使用 /customperm command add <name> 公开任何原版或模组根命令,然后按等级授予。
  • 兼容 有 和 没有 LuckPerms 的情况——customperm.command.<name> 在安装 LuckPerms 时由其解析(通过 /lp 授予,支持通配符),否则由内部等级系统处理。
  • 默认拒绝——默认不公开任何内容;未公开的命令保留其原始原版/模组要求。
  • 内部 JSON RBAC——多级权限,DENY 显式覆盖 ALLOW,以及通配符节点(*、customperm.command.*、customperm.alias.*),无需外部插件。
  • 别名/宏——从单个或多个步骤构建自定义命令,如 /fly、/heal、/starter;步骤以 op-4 权限运行,因此管理员签名的宏可调用仅 op 可用的命令。递归有边界,遮蔽会收到警告,且 /customperm 被保留。
  • 每命令速率限制 (1.0.5 新版)——通过 /customperm ratelimit ... 限制玩家在滑动窗口内执行命令或别名的次数。
  • 可选的 TesseraUI 管理面板 (1.0.5 新版)——当客户端安装 TesseraUI 时,/customperm gui 打开一个图形化菜单,用于管理等级、别名和状态。完全可选——所有功能仍可通过聊天使用。
  • 仅服务端——无需客户端模组。原版客户端可无问题连接;可选的 GUI 通道注册为 optional(),因此绝不会阻塞握手。
  • 原子热重载——/customperm reload 将所有配置作为单次事务加载;无效的 JSON 会保留之前的快照。自动保存带时间戳的备份。
  • 可配置的 LuckPerms 故障安全机制——如果 LuckPerms 在运行时不可用,settings.json 可选择故障关闭(deny,默认)或内部回退(internal)。
  • 内置诊断工具——/customperm status、/customperm scan、/customperm debug、/customperm test。

安装

  1. 为 Minecraft 1.21.1(Java 21)安装 NeoForge 21.1.221+。
  2. 将 customperm-1.0.5.jar 放入服务器的 mods/ 文件夹。
  3. (可选) 添加 LuckPerms(NeoForge 1.21.1 版)以获得完整 RBAC 支持。
  4. (可选) 让管理员在客户端安装 TesseraUI 以使用 /customperm gui。
  5. 启动服务器。日志中应看到 [CustomPerm] Ready — backend=...。

快速开始

使用 LuckPerms

customperm alias add spec gamemode spectator
lp group vip permission set customperm.alias.spec true
lp user Steve parent add vip

Steve 现在可以使用 /spec 而无需获得 /gamemode 权限。

不使用 LuckPerms(内部等级)

customperm command add gamemode
customperm grade create vip
customperm grade addperm vip customperm.command.gamemode
customperm grade assign Steve vip

系统要求

组件 版本
Minecraft 1.21.1
NeoForge 21.1.221+
Java 21
LuckPerms 5.4.150+(可选)
TesseraUI 1.0+(可选,客户端)

许可证: GNU General Public License v3.0 only (GPL-3.0-only) · 作者: THEFricadelle