适用平台:PaperMC 1.21+
核心功能:统计并可视化玩家月度在线时长,数据储存于 MySQL,独立GUI交互,支持月份切换。
下载链接:AgStatistic
功能简介
AgStatistic 通过监听玩家上下线事件,将登录/退出时间记录到 MySQL 数据库,并提供 /stat 命令,一键弹出玩家每月每日在线统计的箱子式 GUI(可左右切换月份),直观呈现在线时间分布。


配合其他软件对接数据库,可实现类似GitHub的活动图表。

安装方法
- 前置要求
- 已安装并运行 PaperMC 1.21 或更高版本服务器。
- 拥有可连接的 MySQL 数据库实例。
- 插件部署
- 下载 AgStatistic.jar。
- 放入
plugins/文件夹。 - 启动或重启服务器(首次启动会自动生成
config.yml)。
- 数据库配置
- 修改
plugins/AgStatistic/config.yml,填入 MySQL 连接信息:1
2
3
4
5
6database:
ip: localhost
port: 3306
database: agatha
username: root
password: password - 插件会自动创建
player_sessions表。
- 修改

核心指令
/stat- 所有玩家可用,主命令且唯一命令
- 打开月历式在线统计GUI,显示当前月每日在线时长。
- 箱子GUI两端为“上一个月/下一个月”按钮,可切换并查看任意月份数据。
数据结构说明
1. 配置文件(config.yml)
1 | database: |
2. 数据表结构(自动建表)
1 | CREATE TABLE IF NOT EXISTS player_sessions ( |
username: 玩家名(不区分大小写)timestamp: 登录或退出时间(毫秒,Unix时间戳)event_type: ‘join’ 或 ‘quit’,表示上线或离线
3. 在线统计数据处理
- 插件自动计算玩家每一天的在线秒数,支持跨天、跨月。
- GUI统计展示按天分布,绿色玻璃为当天有在线,有时长区分深浅色。
GUI 交互说明
- GUI为大箱子界面(6x9),每格代表日期,每月最多支持31天。
- 左上角/右上角有告示牌:点左为上月,右为下月。
- 背景为黑色玻璃,无数据为白色玻璃,有数据显示在线时长。
- 箱子中央会短暂显示“正在加载…”。
- 支持任意月份切换(历史or未来空白月份亦可浏览)。
- 数据按秒统计,精准到跨天会话。