# StaffUtilsPlus
[](https://adoptopenjdk.net/) [](https://www.spigotmc.org/) [](LICENSE)
> **一个全面、现代且高度可配置的 Minecraft 服务器管理工具插件。**
### 请注意,StaffUtilsPlus 的 1.1.0+ 版本需要 [ProtocolLib](https://github.com/dmulloy2/ProtocolLib/releases) 才能正常工作。
---
## ✨ 特性
- **封禁、静音和 IP 封禁**: 临时或永久封禁/静音玩家,包括 IP 封禁。
- **玩家备注 & 警告**: 添加、查看和管理玩家的备注和警告。
- **高级管理菜单**: 基于 GUI 的管理菜单,方便快速访问管理工具(即将推出)。
- **数据库 & 本地存储**: 支持 MySQL、SQLite 或本地 YAML 存储。
- **WhoIs 和 CommandSpy**: 让管理人员查看其他玩家的指令和其他信息。
- **自动过期**: 临时惩罚的自动过期。
- **通知**: 针对管理人员操作的广播和基于权限的通知。
- **性能 & 日志记录**: 异步操作、缓存和详细的日志记录。
- **高度可配置**: 通过 YAML 配置文件调整惩罚、命令、存储和更多内容。
---
## 📦 安装
1. **下载** 最新版本从 [GitHub Releases](https://github.com/hexett/StaffUtilsPlus/releases) 或 [Modrinth](https://modrinth.com/plugin/staffutilsplus)。
2. **将** `StaffUtilsPlus.jar` 文件放入服务器的 `plugins` 文件夹中。
3. **重启** 或 **重新加载** 服务器。
4. **编辑** `plugins/StaffUtilsPlus/` 文件夹中的配置文件,按需修改。
---
## ⚙️ 配置文件
- **config.yml**: 主插件配置(数据库、惩罚、命令、存储、日志记录、性能)。
- **messages.yml**: 自定义所有插件消息,包括颜色代码和占位符。
- **plugin.yml**: Bukkit/Spigot 插件元数据和命令注册。
示例 `config.yml` 片段:
```yaml
# Debug 模式 - 启用附加日志记录
debug-mode: false
# 数据库配置
database:
# 是否使用数据库 (false = 仅本地存储)
enabled: false
# 数据库类型: mysql, sqlite
type: "mysql"
# MySQL 配置 (SQLite 时忽略)
host: "localhost"
port: 3306
name: "staffutils"
user: "root"
pass: "password"
vanish-fake-messages: true # 当玩家进入隐身状态时,广播一条虚假的加入/离开消息。
```
---
## 🚀 使用
- **所有命令** 都可以从控制台或游戏内运行(除非另有说明)。
- 支持所有命令的 **制表符自动完成** 和 **别名**。
- 大多数命令需要 **权限** (见下文)。
### 主 命令
| 命令 | 描述 | 别名 | 权限 |
|--------------------------------------------------------|----------------------------------------------|-------------|-------------------------|
| `/ban <玩家> [原因] [时长]` | 封禁一个玩家 | `/tempban` | `staffutils.ban` |
| `/unban <玩家>` | 解封一个玩家 | | `staffutils.unban` |
| `/kick <玩家> [原因]` | 踢出玩家 | | `staffutils.kick`
| `/mute <玩家> [原因] [时长]` | 静音一个玩家 | `/tempmute` | `staffutils.mute` |
| `/unmute <玩家>` | 解静音一个玩家 | | `staffutils.unmute` |
| `/ipban <玩家> [原因] [时长]` | IP 封禁一个玩家 | `/tempipban` | `staffutils.ipban` |
| `/commandSpy` | 监视玩家的指令 | | `staffutils.commandspy` |
| `/whois` | 显示玩家信息 | | `staffutils.whois.*` |
| `/unbanip ` | 解封一个IP地址 | | `staffutils.unbanip` |
| `/vanish` | 使发送者对其他玩家不可见。 | | `staffutils.vanish` |
| `/notes <玩家> [添加/删除] [内容/ID]` | 管理玩家备注 | | `staffutils.notes` |
| `/warnings <玩家> [添加/删除] [原因/严重程度/ID]` | 管理玩家警告 | | `staffutils.warnings` |
| `/help [页码]` | 显示帮助信息 | `/h`, `/?` | `staffutils.help` |
| `/staffutilsplus` | 插件基础命令 | | `none` |
> **注意:** 高级管理菜单 GUI 正在开发中,并且将在未来的更新中启用。
---
## 🛡️ 权限
- `staffutils.*` — **所有插件权限** (默认: OP)
- `staffutils.ban` — 封禁玩家
- `staffutils.unban` — 解封玩家
- `staffutils.mute` — 静音玩家
- `staffutils.unmute` — 解静音玩家
- `staffutils.ipban` — IP 封禁玩家
- `staffutils.unbanip` — 解封 IP 地址
- `staffutils.vanish` — 允许玩家进入隐身。
- `staffutils.notes` — 管理玩家备注
- `staffutils.warnings` — 管理玩家警告
- `staffutils.menu` — 访问管理菜单 (未来)
- `staffutils.reload` — 重新加载插件
- `staffutils.whois.*` — 显示玩家信息
- `staffutils.debug` — 调试命令
- `staffutils.notify.*` — 接收封禁、静音、IP 封禁的通知
---
## 🧩 依赖
- [Spigot 1.21+](https://www.spigotmc.org/)
- [ProtocolLib](https://github.com/dmulloy2/ProtocolLib/releases)
- Java 21
---
## 🙏 致谢
- **作者:** Hexett
- **贡献者:** 参见 [GitHub Contributors](https://github.com/hexett/StaffUtilsPlus/graphs/contributors)
- **许可证:** MIT
---
## 💬 支持 & 反馈
- [GitHub Issues](https://github.com/hexett/StaffUtilsPlus/issues) 用于报告错误和提出建议
- [Modrinth Page](https://modrinth.com/plugin/staffutilsplus) 用于下载和评论
---
## 📜 许可证
本项目采用 MIT 许可证。 详情请参见 [LICENSE](LICENSE) 文件。