自定义权限

自定义权限

NeoForge 的细粒度服务器端命令权限。无需管理员权限即可向玩家授予单个原版或模组命令,无论是否使用 LuckPerms。原生管理界面、别名、速率限制和多服务器集群模式。

CustomPerm

Minecraft NeoForge 的精细化服务端命令权限。将单个原版或模组命令授予非管理员的玩家,支持或不支持 LuckPerms。

从 1.0.x 升级?请先阅读迁移指南。

Minecraft 1.21.1 ![NeoForge 21.1.221+](https://img.shields.io/badge/NeoForge-21.1.221 -orange.svg) Java 21 ![License All Rights Reserved](https://img.shields.io/badge/license-source--available (All Rights Reserved)-blue.svg)


为什么选择 CustomPerm?

原版 Minecraft 只知道 op(所有命令)或 非 op(无管理命令)。没有中间地带。

CustomPerm 让你能够精确发放你选择的命令,而无需将任何人设为管理员:

  • 允许玩家使用 /gamemode spectator,但永远不能用 /op。
  • 给 VIP 等级发放 /give,而不解锁 /ban。
  • 将多个命令串联成一个自定义命令,并带有参数(/heal <player>)。
  • 让误设的管理员远离关键命令。

它在安装了 LuckPerms 时与之配合,否则自带等级系统,因此可在任何服务器上运行,单独或跨多台服务器。


功能

权限

  • 命令暴露 - 通过 /customperm command add <name> 暴露任何原版或模组根命令,然后按等级授予 customperm.command.<name>。默认不暴露任何内容;未暴露的命令保留其原始要求。
  • 支持和不支持 LuckPerms - 安装 LuckPerms 时,节点由 LuckPerms 解析(/lp,包含通配符),否则由内部等级解析。
  • 按 LuckPerms 组方式构建的内部等级 - 允许和拒绝的节点、通配符、最具体的条目优先、继承、拒绝等级、权重、单个玩家携带的节点,以及适用于所有人的默认等级。
  • 临时和按世界条目 - 节点或等级可以持续设定时间(30d)并仅在一个世界中应用(world=the_nether),也支持游戏模式和静态上下文。
  • 轨道 - 等级阶梯,使用 /customperm track promote|demote。
  • 其他模组的权限 - 其他模组通过 NeoForge 权限 API 声明的节点由等级来应答。/customperm modcheck 列出只与 LuckPerms 通信的模组。
  • 可限制的管理员 - 显式 DENY 也适用于管理员,且 gateAllCommands 将检查扩展到所有命令。控制台永远不受限制。

别名和限制

  • 别名和宏 - 通过一个或多个步骤构建 /fly、/heal、/starter,以 op 等级 4 运行,因此管理员编写的宏可以调用仅限 op 的命令。别名接受带类型的参数(player、integer、word、text),并带有默认值。递归有界,遮蔽会发出警告,/customperm 为保留命令。
  • 速率限制 - 限制命令或别名在滑动窗口内的使用频率。规则设定默认值;服务器、等级或玩家可以有自己的值(10/1h、unlimited)。使用历史在重启后保留。

玩家名称

  • 聊天前缀和后缀 - 按等级或按玩家,支持优先级、叠加和持续时间。装饰的是名称,而非消息,因此聊天保持签名和可举报。
  • 昵称 - 由管理员设置,或由被授予 customperm.nick 的玩家设置。

管理

  • 原生游戏内界面 - /customperm gui 打开一个使用 Minecraft 自身控件绘制的管理界面:仪表板、命令、别名、速率限制、等级、玩家、日志、导入和导出,以及帮助页面。每个字段都会补全已有内容。它需要管理员的客户端安装 CustomPerm,仅此而已;没有安装的玩家可正常加入。
  • 权限背后的管理 - 需要 op 等级 2 且授予 customperm.admin 节点才能打开;每个区域(customperm.manage.grades、.commands 等)需要自己的节点,因此可以只给版主一个区域。
  • 活动日志 - 谁在何时从何处更改了什么,并可选择记录玩家输入的命令。
  • LuckPerms 导入、导出和编辑器 - 从 LuckPerms 导入组和玩家,将等级写入 LuckPerms 并选择要写入的内容,或从界面编辑 LuckPerms。
  • 集群模式 - 多个不使用 LuckPerms 的服务器通过一个 MariaDB 或 MySQL 数据库共享其等级、命令、别名、速率限制和活动日志。一台服务器上的更改会在约两秒内应用到所有服务器。每个元素可以限制到某些服务器,且等级或玩家可以仅在某一台服务器上被允许或拒绝。默认关闭。
  • 安全配置 - 原子热重载,无效 JSON 保留之前的配置,自动备份,以及需要操作时的管理员警报。
  • 诊断 - /customperm status、scan、debug、test。

安装

  1. 为 Minecraft 1.21.1(Java 21)安装 NeoForge 21.1.221+。
  2. 将 customperm-2.0.0.jar 放入服务器的 mods/ 文件夹。
  3. (可选) 添加 LuckPerms(NeoForge 1.21.1 构建)。
  4. (可选) 想要游戏内界面的管理员也在其客户端安装 CustomPerm。
  5. 启动服务器,然后从控制台为自己授予管理权限:
customperm grade create admins
customperm grade addperm admins customperm.*
customperm grade assign <your name> admins

使用 LuckPerms:lp user <your name> permission set customperm.* true。

集群模式需要在每个服务器上有一个提供 MariaDB 或 MySQL 驱动的模组:Arcadia Lib 1.3.0 或更高版本可以,同时也是默认的连接方式。CustomPerm 本身不附带任何驱动。Arcadia Lib 也必须安装在玩家的客户端上;仅 CustomPerm 本身从不需要它。


快速开始

使用 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

单人游戏和局域网

CustomPerm 也可在单人游戏世界中运行,因为集成服务器运行相同的代码。有两个注意事项:

  • 必须启用作弊。 /customperm 需要真正的 op 等级 2。世界的主机充当控制台,不需要任何节点;局域网访客需要 op 等级 2 和节点,由主机授予。
  • 配置是按安装而非按世界。 它位于 .minecraft/config/arcadia/customperm/,因此等级、别名、暴露的命令和速率限制由你所有单人游戏世界共享。

在离线模式下,别名和界面是主要吸引力。当你将世界开放到局域网时,等级才真正发挥作用:访客以非 op 身份加入,等级授予他们你想要的精确命令。


要求

组件 版本
Minecraft 1.21.1
NeoForge 21.1.221+
Java 21
LuckPerms 5.4.150+(可选)
Arcadia Lib 1.3.0+(仅集群模式,服务器和客户端)

许可证: 专有,保留所有权利(源代码可见;未经许可不得再分发)· 作者: THEFricadelle

整合包: ✅ 允许在 CurseForge / Modrinth 整合包中使用,前提是从平台获取未经修改的官方文件。❌ 将 jar 打包到导出/离线整合包中、在其他地方重新托管,或包含修改过的构建版本,需要书面许可。

---

CustomPerm(法语版)

Minecraft NeoForge 的精细化服务端命令权限。将单个原版或模组命令授予非管理员的玩家,支持或不支持 LuckPerms。

从 1.0.x 升级?请先阅读迁移指南。

Minecraft 1.21.1 ![NeoForge 21.1.221+](https://img.shields.io/badge/NeoForge-21.1.221 -orange.svg) Java 21 ![License All Rights Reserved](https://img.shields.io/badge/license-source--available (All Rights Reserved)-blue.svg)


为什么选择 CustomPerm?

原版 Minecraft 只知道 op(所有命令)或 非 op(无管理命令)。没有中间地带。

CustomPerm 让你能够精确发放你选择的命令,而无需将任何人设为管理员:

  • 允许玩家使用 /gamemode spectator,但永远不能用 /op。
  • 给 VIP 等级发放 /give,而不解锁 /ban。
  • 将多个命令串联成一个自定义命令,并带有参数(/heal <player>)。
  • 让误设的管理员远离关键命令。

它在安装了 LuckPerms 时与之配合,否则自带等级系统,因此可在任何服务器上运行,单独或跨多台服务器。


功能

权限

  • 命令暴露 - 通过 /customperm command add <name> 暴露任何原版或模组根命令,然后按等级授予 customperm.command.<name>。默认不暴露任何内容;未暴露的命令保留其原始要求。
  • 支持和不支持 LuckPerms - 安装 LuckPerms 时,节点由 LuckPerms 解析(/lp,包含通配符),否则由内部等级解析。
  • 按 LuckPerms 组方式构建的内部等级 - 允许和拒绝的节点、通配符、最具体的条目优先、继承、拒绝等级、权重、单个玩家携带的节点,以及适用于所有人的默认等级。
  • 临时和按世界条目 - 节点或等级可以持续设定时间(30d)并仅在一个世界中应用(world=the_nether),也支持游戏模式和静态上下文。
  • 轨道 - 等级阶梯,使用 /customperm track promote|demote。
  • 其他模组的权限 - 其他模组通过 NeoForge 权限 API 声明的节点由等级来应答。/customperm modcheck 列出只与 LuckPerms 通信的模组。
  • 可限制的管理员 - 显式 DENY 也适用于管理员,且 gateAllCommands 将检查扩展到所有命令。控制台永远不受限制。

别名和限制

  • 别名和宏 - 通过一个或多个步骤构建 /fly、/heal、/starter,以 op 等级 4 运行,因此管理员编写的宏可以调用仅限 op 的命令。别名接受带类型的参数(player、integer、word、text),并带有默认值。递归有界,遮蔽会发出警告,/customperm 为保留命令。
  • 速率限制 - 限制命令或别名在滑动窗口内的使用频率。规则设定默认值;服务器、等级或玩家可以有自己的值(10/1h、unlimited)。使用历史在重启后保留。

玩家名称

  • 聊天前缀和后缀 - 按等级或按玩家,支持优先级、叠加和持续时间。装饰的是名称,而非消息,因此聊天保持签名和可举报。
  • 昵称 - 由管理员设置,或由被授予 customperm.nick 的玩家设置。

管理

  • 原生游戏内界面 - /customperm gui 打开一个使用 Minecraft 自身控件绘制的管理界面:仪表板、命令、别名、速率限制、等级、玩家、日志、导入和导出,以及帮助页面。每个字段都会补全已有内容。它需要管理员的客户端安装 CustomPerm,仅此而已;没有安装的玩家可正常加入。
  • 权限背后的管理 - 需要 op 等级 2 且授予 customperm.admin 节点才能打开;每个区域(customperm.manage.grades、.commands 等)需要自己的节点,因此可以只给版主一个区域。
  • 活动日志 - 谁在何时从何处更改了什么,并可选择记录玩家输入的命令。
  • LuckPerms 导入、导出和编辑器 - 从 LuckPerms 导入组和玩家,将等级写入 LuckPerms 并选择要写入的内容,或从界面编辑 LuckPerms。
  • 集群模式 - 多个不使用 LuckPerms 的服务器通过一个 MariaDB 或 MySQL 数据库共享其等级、命令、别名、速率限制和活动日志。一台服务器上的更改会在约两秒内应用到所有服务器。每个元素可以限制到某些服务器,且等级或玩家可以仅在某一台服务器上被允许或拒绝。默认关闭。
  • 安全配置 - 原子热重载,无效 JSON 保留之前的配置,自动备份,以及需要操作时的管理员警报。
  • 诊断 - /customperm status、scan、debug、test。

安装

  1. 为 Minecraft 1.21.1(Java 21)安装 NeoForge 21.1.221+。
  2. 将 customperm-2.0.0.jar 放入服务器的 mods/ 文件夹。
  3. (可选) 添加 LuckPerms(NeoForge 1.21.1 构建)。
  4. (可选) 想要游戏内界面的管理员也在其客户端安装 CustomPerm。
  5. 启动服务器,然后从控制台为自己授予管理权限:
customperm grade create admins
customperm grade addperm admins customperm.*
customperm grade assign <your name> admins

使用 LuckPerms:lp user <your name> permission set customperm.* true。

集群模式需要在每个服务器上有一个提供 MariaDB 或 MySQL 驱动的模组:Arcadia Lib 1.3.0 或更高版本可以,同时也是默认的连接方式。CustomPerm 本身不附带任何驱动。Arcadia Lib 也必须安装在玩家的客户端上;仅 CustomPerm 本身从不需要它。


快速开始

使用 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

单人游戏和局域网

CustomPerm 也可在单人游戏世界中运行,因为集成服务器运行相同的代码。有两个注意事项:

  • 必须启用作弊。 /customperm 需要真正的 op 等级 2。世界的主机充当控制台,不需要任何节点;局域网访客需要 op 等级 2 和节点,由主机授予。
  • 配置是按安装而非按世界。 它位于 .minecraft/config/arcadia/customperm/,因此等级、别名、暴露的命令和速率限制由你所有单人游戏世界共享。

在离线模式下,别名和界面是主要吸引力。当你将世界开放到局域网时,等级才真正发挥作用:访客以非 op 身份加入,等级授予他们你想要的精确命令。


要求

组件 版本
Minecraft 1.21.1
NeoForge 21.1.221+
Java 21
LuckPerms 5.4.150+(可选)
Arcadia Lib 1.3.0+(仅集群模式,服务器和客户端)

许可证: 专有,保留所有权利(源代码可见;未经许可不得再分发)· 作者: THEFricadelle

整合包: ✅ 允许在 CurseForge / Modrinth 整合包中使用,前提是从平台获取未经修改的官方文件。❌ 将 jar 打包到导出/离线整合包中、在其他地方重新托管,或包含修改过的构建版本,需要书面许可。