MotdTracker 是一个专为 Minecraft 服务器设计的实时监控系统,支持多节点聚合监控、玩家追踪、延迟统计分析与 Prometheus 集成。
- 🚀 实时监控 - WebSocket 推送,毫秒级延迟数据更新
- 📊 数据可视化 - Chart.js 趋势图 + 24h 热力图
- 👥 玩家追踪 - 会话管理、在线时长统计
- 📈 延迟分析 - 24h 统计指标(平均/标准差/P95/CV)
- 🔌 Prometheus 集成 - 完整节点级指标导出
- 💾 灵活存储 - 双数据库支持(SQLite / PostgreSQL)
# 推荐使用 uv
uv sync
# 或使用 pip
pip install -e .复制示例配置并修改:
cp config.example.toml config.toml编辑 config.toml:
server_name = "我的服务器"
database = "minecraft_stats.db"
poll_interval = 15
port = 5011
[[nodes]]
id = 1
name = "主线入口"
host = "play.example.com"
port = 25565
color = "#10b981"
enable = true
[[nodes]]
id = 2
name = "备用线路"
host = "backup.example.com"
port = 25565
color = "#f59e0b"
enable = trueuv run main.py访问 http://127.0.0.1:5011 查看监控面板。
MotdTracker 默认使用 SQLite,如需更好的并发性能,可配置 PostgreSQL。
psql -U postgres -c "CREATE DATABASE motdtracker;"在 config.toml 中添加:
[postgresql]
host = "localhost"
port = 5432
database = "motdtracker"
user = "postgres"
password = "your_password"配置 PostgreSQL 后首次启动会自动将 SQLite 数据迁移到 PostgreSQL,原数据库备份为 *.migrated。
如需重新迁移或手动控制:
# 删除备份文件(如存在)
rm minecraft_stats.db.migrated
# 运行迁移脚本
uv run scripts/migrate.py如遇到布尔类型默认值错误,可运行修复脚本:
uv run scripts/fix_pgsql.py删除或注释 [postgresql] 配置节后重启即可。
欢迎提交 Issue 与 Pull Request!
详细贡献指南请参阅 CONTRIBUTING.md。
Made with ❤️ by PoiCraft Team