- 版权类型
- 原创
- 插件中文名称
- 简易管理
- 插件英文名称
- EasyControl
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
[MD]
# EasyControl 2.1
## 1. 插件介绍 📖
EasyControl 是一个功能强大、对用户友好的 Minecraft 服务器管理插件,专为服务器管理员设计,提供了全面的玩家管理工具和直观的操作界面。该插件旨在简化服务器管理流程,提高管理效率,同时确保服务器规则的严格执行。
### 1.1 设计理念 💡
EasyControl 的设计理念是"简单易用,功能强大"。我们相信,好的管理工具应该让复杂的任务变得简单,而不是增加管理负担。因此,插件提供了直观的 GUI 界面,让管理员可以通过简单的点击操作完成复杂的管理任务。
## 2. 功能特性 ✨
### 2.1 核心功能 🎨
- **玩家管理** 👥:支持封禁、禁言、踢出、警告等多种管理操作
- **权限系统** 🔒:内置灵活的权限组系统,支持精细的权限控制
- **GUI界面** 📱:提供直观的箱子界面,操作更便捷
- **时间选择** ⏰:支持预设时长和永久选项,使用GUI选择时间
- **操作记录** 📋:详细的管理操作历史记录,支持查看和修改
- **日志系统** 📜:完整的操作日志,支持筛选和查询
- **高级工具** 🛠️:包括上帝模式、飞行模式、治疗等实用功能
- **更新检查** 🔄:自动检查插件更新,确保使用最新版本
- **多语言支持** 🌍:支持自定义消息,适应不同语言环境
- **上报**🚨:非超级管理员可以向'op'上报违规人员,以对违规行为进行及时的处罚
- **举报**🚨:普通玩家可以向管理员上报违规玩家,以对违规行为进行及时的处罚
### 2.2 特色功能 🌟
#### 2.2.1 智能时间选择系统 ⏱️
EasyControl 提供了智能的时间选择系统,管理员可以通过 GUI 界面轻松选择封禁或禁言的时长,包括:
- **预设时长** ⏲️:10分钟、1小时、1天等常用时长
- **永久选项** ♾️:一键设置永久封禁/禁言
- **直观界面** 🎮:通过箱子界面点击选择,无需记忆时间格式
- **时间预览** 👀:实时显示选择的时间对应的到期时间
- **快速操作** ⚡:只需点击几下即可完成时间设置
- **自定义时间** ⌛:支持输入精确的自定义时间
#### 2.2.2 高级权限管理 🔐
插件的权限系统具有以下特点:
- **自定义权限组** 📋:可以创建多个权限组,适应不同管理角色
- **精细权限控制** 🎯:每个操作都可以单独设置权限
- **权限继承** 👑:支持权限组之间的继承关系
- **OP 覆盖** ⚡:OP 玩家默认拥有所有权限
- **权限检查** 🔍:实时检查玩家权限,确保操作安全
- **权限分配** 📝:通过命令快速分配或移除权限组
- **权限验证** ✅:实时验证权限设置是否正确
#### 2.2.3 详细的操作记录 📊
- **操作历史** 📋:记录所有管理操作,包括操作人、目标、时间、理由等
- **操作修改** ✏️:支持修改已执行的操作,如更改封禁时间或理由
- **操作撤销** ↩️:可以撤销上一次执行的操作
- **管理员通知** 🔔:重要操作会通知所有在线管理员
- **操作筛选** 🔍:支持按操作类型、目标玩家等筛选记录
- **操作导出** 💾:可以导出操作记录为文件
#### 2.2.4 实用工具集 🛠️
- **上帝模式** ✨:免疫伤害,无敌状态
- **飞行模式** 🦅:启用飞行能力
- **完全治疗** 💚:恢复所有生命值和饥饿值
- **物品修复** 🔧:修复所有装备的耐久度
- **经验管理** ⭐:增加或减少玩家经验
- **盔甲提供** 🛡️:快速获得一套钻石盔甲
- **速度提升** ⚡:增加移动速度
- **力量增强** 💪:增加攻击力
- **夜视能力** 👁️:在黑暗中看清周围
## 3. 安装方法 📥
### 3.1 前置要求 📋
- **服务器类型** 🖥️:Bukkit、Spigot、Paper 或其他基于 Bukkit 的服务器
- **Minecraft 版本** 🎮:1.16.5 及以上
- **Java 版本** ☕:Java 8 或更高
### 3.2 安装步骤 🔄
1. **下载插件** 📦:下载 EasyControl 插件的 JAR 文件
2. **放置文件** 📁:将 JAR 文件放入服务器的 `plugins` 目录
3. **重启服务器** 🔄:重启 Minecraft 服务器以加载插件
4. **验证安装** ✅:服务器启动后,检查控制台是否有 EasyControl 的启用信息
5. **配置插件** ⚙️:根据需要修改 `plugins/EasyControl` 目录下的配置文件
6. **分配权限** 🔑:为管理员分配适当的权限组
7. **测试功能** 🧪:测试插件的各项功能是否正常
### 3.3 首次启动 🚀
插件首次启动时会自动生成以下文件:
- `config.yml` ⚙️:主配置文件
- `permissions.yml` 🔒:权限配置文件
- `log/` 📜:日志目录
- `no_edit/` 📁:数据存储目录
## 4. 使用指南 📖
### 4.1 基本命令 💬
| 命令 | 描述 | 权限要求 |
|------|------|----------|
| `/ec` | 打开管理控制台 | `staff.use` |
| `/ec help` | 显示帮助信息 | 无 |
| `/ec ban <玩家> [时间] [理由]` | 封禁玩家 | `staff.ban` |
| `/ec unban <玩家>` | 解封玩家 | `staff.unban` |
| `/ec mute <玩家> [时间] [理由]` | 禁言玩家 | `staff.mute` |
| `/ec unmute <玩家>` | 解禁玩家 | `staff.unmute` |
| `/ec kick <玩家> [理由]` | 踢出玩家 | `staff.kick` |
| `/ec warn <玩家> [理由]` | 警告玩家 | `staff.warn` |
| `/ec undo` | 撤销上一次操作 | `staff.admin` |
| `/ec reload` | 重载配置 | OP 权限 |
| `/ec permission [give/remove] [玩家] [权限组]` | 管理权限 | OP 权限 |
| `/ec adminhistory` | 查看管理操作历史 | `staff.admin` |
| `/ec report <玩家名> <上报原因> <希望执行的操作>` | 向OP上报 | `staff.use` |
| `/report <玩家名>` | 举报别的玩家 | `无` |
### 4.2 GUI 操作指南 🎮
#### 4.2.1 主控制台 🎯
1. 输入 `/ec` 打开管理控制台
2. 主控制台包含以下区域:
- **顶部** 📊:插件信息和版本
- **左侧** 👥:玩家管理操作(封禁、禁言、踢出、警告)
- **右侧** ⚡:其他操作(传送、弱化、处决、信息)
- **底部** 🛠️:高级工具和操作历史
3. 点击相应的按钮进入对应功能界面
4. 主控制台会显示在线玩家数量和服务器状态 📈
#### 4.2.2 玩家选择界面 👤
1. 从主控制台点击任何需要选择玩家的操作
2. 在玩家选择界面中:
- 点击玩家头颅选择目标玩家 🎮
- 使用搜索功能快速找到玩家 🔍
- 使用排序功能按名称、封禁次数或距离排序 📊
- 查看玩家在线状态和基本信息 ℹ️
3. 选择玩家后进入操作参数设置界面
#### 4.2.3 时间选择界面 ⏰
1. 对于需要设置时间的操作(如封禁、禁言),会进入时间选择界面
2. 选择预设时长或永久选项 ⏲️
3. 查看时间预览,确认选择的时长是否正确 👀
4. 点击"下一步"进入理由选择界面 📝
#### 4.2.4 理由选择界面 📝
1. 从预设理由中选择,或点击"自定义理由"输入自定义理由 ✏️
2. 查看已选择的玩家和时间信息 ℹ️
3. 选择理由后会显示确认界面 ✅
4. 确认操作后执行相应的管理操作 ⚡
### 4.3 高级功能使用 ⚡
#### 4.3.1 操作历史管理 📊
1. 输入 `/ec adminhistory` 打开操作历史界面
2. 查看最近的管理操作记录
3. 点击操作记录可以:
- 修改操作(如更改封禁时间或理由)
- 撤销操作
4. 使用翻页功能查看更多历史记录
#### 4.3.2 权限管理 🔒
1. 编辑 `permissions.yml` 文件创建或修改权限组
2. 使用 `/ec permission give <玩家> <权限组>` 分配权限组
3. 使用 `/ec permission remove <玩家> <权限组>` 移除权限组
4. 使用 `/ec reload` 重载权限配置
## 5. 配置说明 ⚙️
### 5.1 config.yml 📝
#### 5.1.1 预设配置 ⏰
```yaml
# 预设时长选项 ⏲️
presetDurations:
- "10m"
- "1h"
- "1d"
- "permanent"
# 预设理由选项 📝
presetReasons:
- "违反规则"
- "作弊行为"
- "语言攻击"
- "其他"
```
#### 5.1.2 消息配置 💬
```yaml
# 自定义消息
messages:
ban:
- "&c&l你已被封禁!"
- "&7&m--------------------------------"
- "&f理由: &e{reason}"
- "&f解封时间: &e{expire}"
- "&7&m--------------------------------"
- "&7如有疑问请联系管理员"
kick:
- "&c&l你被踢出服务器!"
- "&7&m--------------------------------"
- "&f理由: &e{reason}"
- "&7&m--------------------------------"
- "&7请遵守服务器规则"
mute:
- "&c你已被禁言!"
- "&7理由: &e{reason}"
- "&7解禁时间: &e{expire}"
- "&7如有疑问请联系管理员"
warn:
- "&e&l你收到了警告!"
- "&7&m--------------------------------"
- "&f理由: &e{reason}"
- "&7&m--------------------------------"
- "&7请遵守服务器规则,再次违规可能面临更严重的处罚"
```
#### 5.1.3 功能开关 🔄
```yaml
# 功能开关
features:
enableConfirmation: true # 启用操作确认
enableUndo: true # 启用操作撤销
enableLogFilter: true # 启用日志筛选
enableAutoBackup: true # 启用自动备份
autoBackupTime: "03:00" # 自动备份时间
```
#### 5.1.4 日志配置 📜
```yaml
# 日志配置
logging:
retentionDays: 30 # 日志保留天数
logAllActions: true # 记录所有操作
logFormat: "txt" # 日志格式
```
### 5.2 permissions.yml 🔒
#### 5.2.1 权限组配置 📋
```yaml
# 权限组配置
permissions:
# 协管员权限组 - 拥有大部分管理权限
assistant_officer:
use: true # 基础使用权限
admin: false # 管理员权限
ban: true # 封禁玩家权限
unban: true # 解封玩家权限
mute: true # 禁言玩家权限
unmute: true # 解禁玩家权限
kick: true # 踢出玩家权限
warn: true # 警告玩家权限
tp: true # 传送权限
weaken: false # 弱化玩家权限
kill: false # 处决玩家权限
info: true # 查看玩家信息权限
advanced: false # 高级工具权限
```
#### 5.2.2 玩家权限分配 👥
```yaml
# 玩家权限组分配
# 格式: 玩家名称: 权限组名称
# 示例: Notch: assistant_officer
players:
Notch: assistant_officer
Steve: assistant_officer
```
## 6. 权限系统详解 🔐
### 6.1 权限层级 📊
EasyControl 的权限系统遵循以下层级:
1. **OP 玩家** ⚡:拥有所有权限,不受权限组限制
2. **权限组玩家** 📋:根据分配的权限组获得相应权限
3. **普通玩家** 👤:没有任何管理权限
权限层级从高到低排序,高级权限会覆盖低级权限 🔝
### 6.2 权限列表 📜
| 权限 | 描述 | 默认值(assistant_officer) |
|------|------|---------------------------|
| `use` | 基础使用权限,必须开启 | true |
| `admin` | 管理员权限,包括操作历史和撤销操作 | false |
| `ban` | 封禁玩家权限 | true |
| `unban` | 解封玩家权限 | true |
| `mute` | 禁言玩家权限 | true |
| `unmute` | 解禁玩家权限 | true |
| `kick` | 踢出玩家权限 | true |
| `warn` | 警告玩家权限 | true |
| `tp` | 传送权限 | true |
| `weaken` | 弱化玩家权限 | false |
| `kill` | 处决玩家权限 | false |
| `info` | 查看玩家信息权限 | true |
| `advanced` | 高级工具权限 | false |
### 6.3 自定义权限组 🛠️
创建自定义权限组的步骤:
1. 打开 `plugins/EasyControl/permissions.yml` 文件
2. 在 `permissions` 部分添加新的权限组
3. 为每个权限设置 `true` 或 `false`
4. 保存文件
5. 使用 `/ec reload` 重载权限配置
6. 使用 `/ec permission give <玩家> <权限组>` 分配权限组
示例:创建一个仅具有踢出和警告权限的权限组
```yaml
permissions:
# 协管员权限组
assistant_officer:
# 权限设置...
# 新的权限组:初级管理员
junior_admin:
use: true
admin: false
ban: false
unban: false
mute: false
unmute: false
kick: true
warn: true
tp: false
weaken: false
kill: false
info: true
advanced: false
```
## 7. 时间格式说明 ⏰
### 7.1 预设时间格式 ⏲️
- `10m` - 10分钟
- `1h` - 1小时
- `1d` - 1天
- `permanent` - 永久 ♾️
### 7.2 自定义时间格式 ⌛
除了预设时间外,您还可以使用以下格式指定自定义时间:
- `1y` - 1年
- `1w` - 1周
- `2h30m` - 2小时30分钟
- `3d12h` - 3天12小时
### 7.3 永久选项 ♾️
选择"永久"选项时,玩家将被永久封禁或禁言,不会自动解除。需要管理员手动执行解封或解禁操作。
## 8. 常见问题与解决方案 ❓
### 8.1 权限组不生效 🔒
**问题**:分配权限组后,玩家仍然无法执行相应操作 ❌
**解决方案**:
- 确保玩家不是 OP,OP 拥有所有权限,不受权限组限制 ⚡
- 检查权限组配置是否正确,特别是 `use` 权限是否设置为 `true` ✅
- 使用 `/ec reload` 重载权限配置 🔄
- 检查玩家名称是否正确,权限组名称是否存在 📋
- 重启服务器以确保配置完全加载 🔧
### 8.2 时间选择界面不显示 ⏰
**问题**:点击需要设置时间的操作后,没有显示时间选择界面 ❌
**解决方案**:
- 确保插件版本与服务器版本兼容 🎮
- 检查配置文件中的 `presetDurations` 设置是否正确 ⚙️
- 检查服务器控制台是否有相关错误信息 📜
- 尝试重新安装插件 🔄
### 8.3 操作历史不显示 📋
**问题**:输入 `/ec adminhistory` 后,界面为空或显示错误 ❌
**解决方案**:
- 确保 `features.enableLogFilter` 选项为 `true` ✅
- 检查日志目录是否有写入权限 📁
- 检查服务器控制台是否有相关错误信息 📜
- 尝试清理日志目录并重启服务器 🔄
### 8.4 插件无法启动 🚀
**问题**:服务器启动时,EasyControl 插件无法正常启用 ❌
**解决方案**:
- 检查服务器版本是否与插件兼容 🎮
- 检查 Java 版本是否符合要求 ☕
- 检查服务器控制台的错误信息 📜
- 尝试更新到最新版本的插件 🔄
### 8.5 中文玩家名问题 中
**问题**:包含中文的玩家名无法正常分配权限组 ❌
**解决方案**:
- 确保使用最新版本的插件 🔄
- 直接使用玩家的完整名称,包括中文字符 中
- 检查权限配置文件中的玩家名称是否正确 📝
## 9. 技术实现 🔧
### 9.1 核心架构 📁
EasyControl 采用模块化设计,主要包含以下模块:
- **命令处理模块** 💬:处理玩家输入的命令
- **GUI 模块** 🎮:创建和管理游戏内的图形界面
- **权限模块** 🔒:处理权限检查和权限组管理
- **操作模块** ⚡:执行具体的管理操作
- **日志模块** 📜:记录和管理操作日志
- **配置模块** ⚙️:加载和保存配置文件
- **更新模块** 🔄:检查插件更新
- **工具模块** 🛠️:提供各种实用工具
### 9.2 数据存储 💾
插件使用以下方式存储数据:
- **配置文件** 📝:使用 YAML 格式存储配置和权限信息
- **数据文件** 💾:使用序列化对象存储封禁和禁言信息
- **日志文件** 📜:使用文本文件存储操作日志
- **备份文件** 📦:定期自动备份重要数据
- **临时文件** 📄:存储临时操作数据
### 9.3 性能优化 ⚡
- **异步操作** 📡:网络请求(如更新检查)使用异步线程
- **缓存机制** 💾:权限检查结果和配置信息会被缓存
- **延迟执行** ⏰:非紧急操作使用 Bukkit 调度器延迟执行
- **资源清理** 🧹:及时清理不再需要的对象和资源
- **批量处理** 📦:批量处理多个操作,减少服务器负载
- **优化算法** 📈:使用高效的算法处理数据
## 10. 与其他插件的兼容性 🔄
### 10.1 兼容插件 🤝
- **PlaceholderAPI** 📍:支持通过 PlaceholderAPI 提供占位符
### 10.2 注意事项 ⚠️
- **权限冲突** 🔒:如果使用了其他权限管理插件(如 LuckPerms),可能会与 EasyControl 的权限系统产生冲突
- **命令冲突** 💬:确保没有其他插件使用相同的命令前缀
- **版本兼容** 🎮:不同版本的 Minecraft 可能需要不同版本的插件
## 11. 安全注意事项 🔒
### 11.1 权限管理 📋
- 只将管理权限分配给可信任的玩家 🔒
- 定期检查权限配置,确保没有不当的权限分配 ✅
- 使用 OP 权限时要谨慎,因为 OP 拥有所有权限 ⚡
### 11.2 数据安全 💾
- 定期备份插件数据,特别是 `no_edit` 目录 📦
- 保护配置文件,防止未经授权的修改 🔒
- 监控异常的管理操作,及时发现可能的滥用 👀
---
**⚠️注意**:本插件需要 Bukkit/Spigot/Paper 服务器环境,不支持 Forge 或 Fabric。
[/MD]