服务器使用量
8
服务玩家数
30
下载量
101,132
插件详细介绍
PermissionsEx 是一款广为人知的权限管理插件,针对其在 1.19 版本中存在的一些问题进行了修复和改进。此版本主要解决了因线程阻塞导致的服务器崩溃问题,并移除了部分过时功能,以提升稳定性和性能。
主要修复与变更
核心修复
- 修复了 1.19 版本中的服务器崩溃问题:原版 PEX 在
PermissiblePEX类的recalculatePermissions方法中因线程阻塞会导致服务器崩溃。此版本通过使用ConcurrentLinkedHashMap替代阻塞线程的方式解决了此问题。
功能移除
为简化插件并提高稳定性,移除了以下功能模块
- 自动更新功能
- 对 NetEvents、LilyPad、Spout 和 Glowstone 的支持
性能表现
该插件已在生产服务器上经过测试,版本为 1.19.3-1.19.4。
- 常规负载:运行平稳,每 tick 占用时间不超过 0.05 毫秒。
- 高压负载:在遭受机器人攻击(每秒 10 次请求)时,每 tick 占用时间约为 0.3 毫秒。
配置与安装
重要配置说明
- 配置文件已更新:此版本的配置文件格式可能与旧版不兼容。
- 操作要求:请务必删除旧的配置文件,并让插件生成全新的配置文件进行重新设置。
版本来源
此版本基于 PermissionsEx 的以下源代码构建:
PermissionsEx 简介
PermissionsEx(简称 PEX)是一款功能强大的权限管理插件,适用于 Bukkit、Spigot、Paper 等 Minecraft 服务端。它允许服务器管理员通过细致的权限组和节点系统,精确控制玩家在游戏中的能力与访问权限,是构建有序服务器环境的基石。
核心特性
- 基于组的权限系统:将玩家分配到不同的组(如 admin、mod、default),并为组分配权限,简化管理。
- 强大的权限节点控制:支持允许(
true)或拒绝(false)任何权限节点,包括来自其他插件的权限。 - 继承系统:权限组可以继承其他组的权限,实现权限的层级化和复用。
- 多世界支持:可以为不同的世界设置独立的权限规则。
- 时间限制与临时权限:可以授予玩家或组有期限的权限。
- 全面的聊天前缀/后缀管理:与聊天插件(如 EssentialsChat)集成,管理玩家聊天格式。
- 详细的调试与查询工具:提供命令查看玩家或组的有效权限,便于排查问题。
- 多种数据存储后端:支持将权限数据保存到 YAML 文件、SQL 数据库(MySQL、SQLite)或 MongoDB。
安装与设置
前提条件
- 一个运行 Bukkit、Spigot、Paper 或其衍生服务端的 Minecraft 服务器。
- 服务器已安装 Java。
安装步骤
- 从官方发布页面下载最新版本的
PermissionsEx.jar。 - 将 jar 文件放入服务器的
plugins文件夹。 - 重启服务器。
- 插件首次运行后,会在
plugins/PermissionsEx目录下生成配置文件。
基本配置
主要的配置文件是 permissions.yml。你可以直接编辑此文件,或使用 PEX 提供的命令进行实时管理,后者更安全且能避免格式错误。
常用命令
PEX 提供了大量命令,所有命令均以 /pex 或 /permissionsex 开头。以下是一些最常用的命令:
权限管理
/pex user add- 授予玩家特定权限。/pex user remove- 移除玩家的特定权限。/pex group add- 为权限组添加权限。/pex group remove- 从权限组移除权限。
组与用户管理
/pex user group add- 将玩家加入某个组。/pex user group remove- 将玩家从某个组移除。/pex group create- 创建一个新的权限组。/pex group delete- 删除一个权限组。
信息查询
/pex user check- 检查玩家是否拥有某项权限。/pex user- 查看玩家的权限和组信息。/pex group- 查看权限组的详细信息。/pex dump- 将所有权限数据导出为可读格式,用于调试。
重载配置
/pex reload- 重新从磁盘加载权限配置文件,使更改生效。
权限节点
要使用上述命令,操作者自身需要拥有相应的权限节点。主要的管理员权限节点包括:
permissionsex.*- 拥有所有 PEX 权限(谨慎使用)。permissionsex.manage- 允许使用所有用户/组管理命令。permissionsex.reload- 允许使用/pex reload命令。permissionsex.debug- 允许使用调试和信息查询命令。
配置继承与多世界示例
以下是一个简化的 permissions.yml 配置示例,展示了组继承和多世界权限的基本结构:
users:
Notch:
group:
- admin
options:
name: Notch
groups:
default:
permissions:
- modifylist.*
inheritance: []
options:
default: true
moderator:
permissions:
- essentials.kick
- essentials.mute
inheritance:
- default
admin:
permissions:
- '*'
inheritance:
- moderator
worlds:
creative:
permissions:
- worldedit.*
schema-version: 1- 继承:
admin组继承了moderator组的所有权限,而moderator又继承了default组的权限。 - 多世界权限:
admin组在creative世界中额外拥有worldedit.*权限。...
测试支持版本
版本分布
基本信息
插件名称
PermissionsEx
作者
AeternumStudios
平台
Bukkit / Spigot
支持版本
1.19 - 1.19
点赞数
未统计
最近版本
1.33.8
9