v2.2.0 - Database Statistics & PAPI | 数据统计与PAPI集成
RandomItemPVP v2.2.0 - 数据统计与PAPI集成更新
🎉 重大更新
✨ 新增功能
🗃️ 数据库统计系统
- 支持 SQLite 和 MySQL 双数据库
- 记录玩家胜利、失败、击杀、死亡等完整统计
- 自动计算 KD 比率和胜率
- 数据持久化保存
- 完善的连接池配置(HikariCP)
📊 PlaceholderAPI 集成
- 17+ 个变量支持
- 实时显示玩家统计数据
- 支持记分板、称号、聊天等显示
- 格式化和原始数据双版本
🏆 排行榜系统
- 胜利排行榜 (
/ripvp top wins) - 击杀排行榜 (
/ripvp top kills) - KD比率排行榜 (
/ripvp top kd) - 前10名玩家展示
📈 统计查询
/ripvp stats- 查看自己的统计/ripvp stats <玩家名>- 查看其他玩家统计- 美观的统计数据展示
🔧 优化改进
🚀 性能优化
- 修复数据库死锁问题(查询速度提升 600 倍)
- 优化 SQLite WAL 模式,支持并发读取
- UPSERT 操作防止数据丢失
- 连接超时从 30 秒增加到 60 秒
- 显式资源管理,防止内存泄露
🎮 游戏体验
- 修复非参与玩家无法放置/破坏方块的问题
- 空投提示优化:移除大标题,减少干扰
- 空投消息防刷屏:每个箱子只广播一次
- 流体清理优化,避免服务器卡顿
🐛 Bug 修复
- 修复新玩家统计数据不记录的问题
- 修复数据库连接超时问题
- 修复嵌套异步调用导致的死锁
- 修复流水未清除的问题
- 修复 ResultSet 资源泄露风险
📝 配置更新
数据库配置示例:
database:
type: SQLITE # 或 MYSQL
sqlite:
file: 'plugins/RandomItemPVP/data.db'
mysql:
host: 'localhost'
port: 3306
database: 'randomitempvp'
username: 'root'
password: 'password'
properties:
useSSL: false
autoReconnect: true
characterEncoding: 'utf8mb4'
serverTimezone: 'Asia/Shanghai'
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000📦 下载说明
依赖要求
- Minecraft: 1.21+
- 服务端: Paper/Folia/Purpur
- Java: 21+
- 可选: PlaceholderAPI 2.11.5+
安装步骤
-
下载插件
- 下载
RandomItemPVP-2.2.0.jar
- 下载
-
安装依赖(可选)
# 如果需要 PAPI 变量支持 下载 PlaceholderAPI: https://www.spigotmc.org/resources/6245/ -
上传插件
上传到 plugins/ 目录
-
配置数据库(可选)
# 默认使用 SQLite,无需配置 # 如需使用 MySQL,编辑 config.yml
-
重启服务器
/stop 启动服务器
-
验证安装
/ripvp status /ripvp stats
🎯 PlaceholderAPI 变量
基础统计
%randomitempvp_wins%- 胜利次数%randomitempvp_losses%- 失败次数%randomitempvp_kills%- 击杀数%randomitempvp_deaths%- 死亡数%randomitempvp_gamesplayed%- 游戏场次
计算数据
%randomitempvp_kd%- KD比率(保留2位小数)%randomitempvp_winrate%- 胜率(百分比)
格式化版本
%randomitempvp_wins_formatted%- 格式化胜利次数(1,234)%randomitempvp_kills_formatted%- 格式化击杀数- 更多变量请查看文档
🔄 从旧版本升级
从 v2.1.0 升级
-
备份数据
# 备份配置文件(如果有自定义) cp plugins/RandomItemPVP/config.yml config.yml.backup -
替换插件
# 删除旧版本 rm plugins/RandomItemPVP-2.1.0.jar # 上传新版本 上传 RandomItemPVP-2.2.0.jar
-
重启服务器
/stop 启动服务器
-
检查配置
# 配置文件会自动添加新选项 # 检查 database 部分是否正确 cat plugins/RandomItemPVP/config.yml
- 配置文件会自动保留并添加新选项
- 旧版本没有数据库,首次启动会自动创建
- 所有玩家统计从 0 开始
📚 文档
🐛 已知问题
- 如果服务器启用了
spawn-protection,非参与玩家可能无法在出生点附近建筑- 解决方案: 在
server.properties中设置spawn-protection=0
- 解决方案: 在
💬 支持
- 反馈 Bug: GitHub Issues
- 功能建议: GitHub Discussions
📜 更新日志
v2.2.0 (2025-11-02)
- ✨ 新增完整的数据库统计系统(SQLite/MySQL)
- ✨ 新增 PlaceholderAPI 集成(17+ 变量)
- ✨ 新增排行榜功能(胜利/击杀/KD)
- 🔧 优化数据库性能(修复死锁问题)
- 🔧 优化空投提示体验
- 🐛 修复多个游戏机制 Bug
- 🐛 修复非参与玩家建筑限制问题
v2.1.0 (2024-XX-XX)
- ✨ 新增空投系统
- ✨ 新增击杀奖励
- ✨ 新增连杀系统
- 更多功能...
感谢使用 RandomItemPVP! 🎮
如有问题或建议,欢迎提交 Issue 或 PR!