权限配置
本文档详细介绍了 EsbpmPlugin 的所有权限节点,帮助服务器管理员正确配置玩家权限。
权限系统概述
EsbpmPlugin 使用 Minecraft 的权限系统来控制玩家对插件功能的访问。这些权限可以通过大多数权限管理插件进行配置,如 LuckPerms、PermissionsEx 等。
权限节点列表
基础权限
| 权限节点 | 默认值 | 描述 |
|---|---|---|
esbpm.use | true | 允许玩家使用插件的基本功能 |
飞行权限
| 权限节点 | 默认值 | 描述 |
|---|---|---|
esbpm.command.fly | op | 允许玩家使用 /fly 命令切换飞行状态 |
esbpm.fly.bypass | op | 允许玩家绕过飞行速度限制 |
esbpm.fly.survival.bypass | op | 允许玩家绕过生存模式下的飞行限制 |
游戏模式权限
| 权限节点 | 默认值 | 描述 |
|---|---|---|
esbpm.gamemode.bypass | op | 允许玩家绕过强制游戏模式设置 |
esbpm.gamemode.change | op | 允许玩家使用游戏模式切换命令 |
速度效果权限
| 权限节点 | 默认值 | 描述 |
|---|---|---|
esbpm.speed.bypass | op | 允许玩家绕过速度效果限制 |
esbpm.speed.custom | op | 允许玩家设置自定义速度等级 |
管理权限
| 权限节点 | 默认值 | 描述 |
|---|---|---|
esbpm.admin | op | 授予所有管理权限(包含所有其他权限) |
esbpm.reload | op | 允许玩家使用 /esbpm reload 命令重载插件配置 |
esbpm.config.edit | op | 允许玩家编辑插件配置文件(通过命令) |
esbpm.bypass.banneditems | op | 允许玩家绕过危险物品限制 |
权限配置示例
以下是使用不同权限管理插件配置 EsbpmPlugin 权限的示例。
LuckPerms 配置示例
使用 LuckPerms 插件配置权限的示例命令:
bash
# 授予玩家使用飞行命令的权限
/lp user <玩家名> permission set esbpm.command.fly true
# 授予生存者组绕过强制游戏模式的权限
/lp group survivors permission set esbpm.gamemode.bypass true
# 禁止游客使用飞行功能
/lp group guests permission set esbpm.command.fly false
# 授予管理员所有权限
/lp user <管理员名> permission set esbpm.admin truePermissionsEx 配置示例
使用 PermissionsEx 插件配置权限的示例命令:
bash
# 授予玩家使用飞行命令的权限
/pex user <玩家名> add esbpm.command.fly
# 授予生存者组绕过强制游戏模式的权限
/pex group survivors add esbpm.gamemode.bypass
# 禁止游客使用飞行功能
/pex group guests remove esbpm.command.fly
# 授予管理员所有权限
/pex user <管理员名> add esbpm.admin权限最佳实践
基于角色的权限管理
建议根据服务器中的玩家角色分配不同级别的权限:
游客/新手:
- 基本使用权限
esbpm.use - 可能限制使用某些高级功能
- 基本使用权限
普通玩家:
- 基本使用权限
esbpm.use - 飞行权限
esbpm.command.fly - 根据需要授予其他功能权限
- 基本使用权限
VIP/高级玩家:
- 所有普通玩家权限
- 可能授予绕过某些限制的权限
- 可能授予自定义速度等级的权限
管理员/操作员:
- 所有权限
esbpm.admin - 或分别授予
esbpm.reload,esbpm.config.edit等管理权限
- 所有权限
最小权限原则
遵循最小权限原则,只授予玩家执行其角色所需的权限:
- 不要默认授予所有玩家高级权限
- 逐步增加权限,而不是一次性授予过多
- 定期审查权限设置,确保没有滥用
权限组管理
使用权限组来简化权限管理:
- 创建对应不同玩家类型的权限组
- 为每个组分配适当的权限
- 将玩家添加到相应的组中
- 如需调整权限,只需修改组权限即可影响所有组成员
常见权限问题
玩家无法使用命令
- 问题:玩家报告无法使用插件命令(如
/fly) - 解决方法:
- 确认玩家是否拥有正确的权限节点(
esbpm.command.fly) - 检查权限插件配置是否正确
- 确认玩家是否处于正确的权限组
- 尝试重新加载权限插件配置
- 确认玩家是否拥有正确的权限节点(
权限冲突
- 问题:多个权限插件可能导致权限冲突
- 解决方法:
- 只使用一个权限管理插件
- 检查是否有其他插件覆盖了相同的权限
- 查看服务器日志是否有与权限相关的错误信息
权限未立即生效
- 问题:配置权限后,变更未立即对玩家生效
- 解决方法:
- 尝试让玩家重新登录服务器
- 使用权限插件的重载命令
- 检查权限配置是否正确应用