- 版权类型
- 原创
- 插件中文名称
- 洛的线程修复
- 插件英文名称
- LuoFix
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Leaves
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
# LuoFix - 我的世界服务器线程优化插件
## 项目介绍
LuoFix是一个专为Minecraft Paper 1.20.1-1.21.4服务器设计的线程优化插件,提供实时性能监控、数据记录和HTML报告生成功能,帮助服务器管理员优化服务器性能。
## 功能特性
### 1. 实时性能监控
- 实时显示服务器TPS(每秒tick数)
- 监控系统负载和可用处理器数量
- 分类统计线程数量(Bukkit线程、Netty线程、工作线程)
- 显示在线玩家数量
### 2. 直观的GUI菜单
- 9格物品栏设计,简洁明了
- 实时动态显示各项指标
- 平滑动画效果,提升用户体验
- 防止物品被移除,确保菜单稳定性
### 3. 数据记录功能
- 使用`/luofix record`开始记录
- 使用`/luofix recordstop`停止记录并生成报告
- 每2秒记录一次服务器数据
- 记录内容包括:TPS、系统负载、线程数、在线玩家等
### 4. 详细的HTML报告
- 生成包含数据表格和图表的HTML报告
- 使用Chart.js绘制4种图表:
- TPS变化趋势图
- 线程数量变化图
- 系统负载变化图
- 在线玩家变化图
- 报告包含关键统计数据:
- 最低TPS
- 最大在线玩家数
- 最大线程数
### 5. 命令Tab补全
- 支持`/luofix`命令的自动补全
- 补全选项包括:`record`和`recordstop`
- 智能过滤,只显示匹配的选项
## 命令说明
| 命令 | 功能 | 权限 |
|------|------|------|
| `/luofix` | 打开GUI菜单,查看实时性能数据 | 所有玩家 |
| `/luofix record` | 开始记录服务器性能数据 | 需要`luofix.record`权限 |
| `/luofix recordstop` | 停止记录并生成HTML报告 | 需要`luofix.record`权限 |
## 技术实现
### 核心技术栈
- **Bukkit/Paper Plugin API**:插件基础框架
- **Gradle**:构建工具,使用Java 17
- **Chart.js**:HTML报告图表库
- **BukkitRunnable**:定时任务管理
### 关键实现细节
1. **TPS计算**
- 每tick记录当前时间
- 每秒统计最近1秒内的tick数量
- TPS值等于1秒内的tick数量(最大20)
2. **GUI管理**
- 使用Inventory API创建菜单
- 定时更新物品显示内容
- 实现平滑动画效果
- 处理InventoryClickEvent防止物品移除
3. **数据记录**
- 使用List存储RecordData对象
- 每2秒记录一次数据
- 生成HTML报告时使用流处理统计数据
4. **HTML报告生成**
- 动态生成HTML内容
- 嵌入Chart.js图表
- 生成带时间戳的报告文件名
- 保存到plugins/LuoFix/reports/目录
### 环境要求
- Java 17+
- Gradle 8.x+
## 安装说明
1. 将构建好的jar文件复制到服务器的`plugins/`目录
2. 重启服务器
3. 插件将自动加载
### 1. 查看实时性能数据
```
/luofix
```
### 2. 记录服务器数据
```
/luofix record
```
### 3. 停止记录并生成报告
```
/luofix recordstop
```
## 报告查看
生成的HTML报告保存在服务器的`plugins/LuoFix/reports/`目录下,文件名格式为`record_yyyy-MM-dd_HH-mm-ss.html`。
可以通过以下方式查看报告:
1. 直接在服务器文件系统中打开HTML文件
2. 使用FTP或其他文件传输工具下载到本地查看
## 配置说明
插件无需额外配置,首次运行时会自动创建必要的目录结构。
## 项目结构
```
├── src/
│ ├── main/
│ │ ├── java/com/luofix/
│ │ │ ├── LuoFix.java # 主插件类
│ │ │ ├── GuiManager.java # GUI管理类
│ │ │ ├── RecordManager.java # 数据记录管理类
│ │ │ ├── RecordData.java # 记录数据模型
│ │ │ └── ThreadOptimizer.java # 线程优化器
│ │ └── resources/
│ │ └── plugin.yml # 插件元数据
│ └── test/ # 测试代码
├── build.gradle # Gradle构建脚本
└── README.md # 项目说明文档
```
## 许可证
本项目采用Apache License 2.0,详见LICENSE文件。
## 联系方式
如有问题或建议,欢迎提交discord或QQ。
---
**LuoFix - 让你的服务器更流畅!**
## 项目介绍
LuoFix是一个专为Minecraft Paper 1.20.1-1.21.4服务器设计的线程优化插件,提供实时性能监控、数据记录和HTML报告生成功能,帮助服务器管理员优化服务器性能。
## 功能特性
### 1. 实时性能监控
- 实时显示服务器TPS(每秒tick数)
- 监控系统负载和可用处理器数量
- 分类统计线程数量(Bukkit线程、Netty线程、工作线程)
- 显示在线玩家数量
### 2. 直观的GUI菜单
- 9格物品栏设计,简洁明了
- 实时动态显示各项指标
- 平滑动画效果,提升用户体验
- 防止物品被移除,确保菜单稳定性
### 3. 数据记录功能
- 使用`/luofix record`开始记录
- 使用`/luofix recordstop`停止记录并生成报告
- 每2秒记录一次服务器数据
- 记录内容包括:TPS、系统负载、线程数、在线玩家等
### 4. 详细的HTML报告
- 生成包含数据表格和图表的HTML报告
- 使用Chart.js绘制4种图表:
- TPS变化趋势图
- 线程数量变化图
- 系统负载变化图
- 在线玩家变化图
- 报告包含关键统计数据:
- 最低TPS
- 最大在线玩家数
- 最大线程数
### 5. 命令Tab补全
- 支持`/luofix`命令的自动补全
- 补全选项包括:`record`和`recordstop`
- 智能过滤,只显示匹配的选项
## 命令说明
| 命令 | 功能 | 权限 |
|------|------|------|
| `/luofix` | 打开GUI菜单,查看实时性能数据 | 所有玩家 |
| `/luofix record` | 开始记录服务器性能数据 | 需要`luofix.record`权限 |
| `/luofix recordstop` | 停止记录并生成HTML报告 | 需要`luofix.record`权限 |
## 技术实现
### 核心技术栈
- **Bukkit/Paper Plugin API**:插件基础框架
- **Gradle**:构建工具,使用Java 17
- **Chart.js**:HTML报告图表库
- **BukkitRunnable**:定时任务管理
### 关键实现细节
1. **TPS计算**
- 每tick记录当前时间
- 每秒统计最近1秒内的tick数量
- TPS值等于1秒内的tick数量(最大20)
2. **GUI管理**
- 使用Inventory API创建菜单
- 定时更新物品显示内容
- 实现平滑动画效果
- 处理InventoryClickEvent防止物品移除
3. **数据记录**
- 使用List存储RecordData对象
- 每2秒记录一次数据
- 生成HTML报告时使用流处理统计数据
4. **HTML报告生成**
- 动态生成HTML内容
- 嵌入Chart.js图表
- 生成带时间戳的报告文件名
- 保存到plugins/LuoFix/reports/目录
### 环境要求
- Java 17+
- Gradle 8.x+
## 安装说明
1. 将构建好的jar文件复制到服务器的`plugins/`目录
2. 重启服务器
3. 插件将自动加载
### 1. 查看实时性能数据
```
/luofix
```
### 2. 记录服务器数据
```
/luofix record
```
### 3. 停止记录并生成报告
```
/luofix recordstop
```
## 报告查看
生成的HTML报告保存在服务器的`plugins/LuoFix/reports/`目录下,文件名格式为`record_yyyy-MM-dd_HH-mm-ss.html`。
可以通过以下方式查看报告:
1. 直接在服务器文件系统中打开HTML文件
2. 使用FTP或其他文件传输工具下载到本地查看
## 配置说明
插件无需额外配置,首次运行时会自动创建必要的目录结构。
## 项目结构
```
├── src/
│ ├── main/
│ │ ├── java/com/luofix/
│ │ │ ├── LuoFix.java # 主插件类
│ │ │ ├── GuiManager.java # GUI管理类
│ │ │ ├── RecordManager.java # 数据记录管理类
│ │ │ ├── RecordData.java # 记录数据模型
│ │ │ └── ThreadOptimizer.java # 线程优化器
│ │ └── resources/
│ │ └── plugin.yml # 插件元数据
│ └── test/ # 测试代码
├── build.gradle # Gradle构建脚本
└── README.md # 项目说明文档
```
## 许可证
本项目采用Apache License 2.0,详见LICENSE文件。
## 联系方式
如有问题或建议,欢迎提交discord或QQ。
---
**LuoFix - 让你的服务器更流畅!**