持续检测 Geyser 连接状态,异常时自动尝试恢复,并支持被动轻量级优化,确保服务稳定在线。
玩家级 & 全局双重优化,自动发送保持活跃数据包,降低不稳定玩家导致的整体波动。
每 10 秒监测 Java 玩家延迟,通过方差识别剧烈波动玩家,自动执行被动优化并生成质量报告。
Floodgate API → Geyser Session → 玩家名特征三层识别,不依赖前缀,准确区分基岩版与 Java 版。
检查间隔、重试次数、优化阈值、通知开关全部可调,详细日志助你快速诊断问题。
连接状态变动、大规模优化触发时自动通知在线管理员,运维透明高效。
📦 1. 访问 Modrinth 下载页面,获取 GeyserOptimizer.jar 文件。
📁 2. 将 GeyserOptimizer.jar 放入服务器的 plugins/ 目录。
🔄 3. 重启服务器(或执行 /reload confirm,但强烈建议重启)。
✅ 插件将自动生成配置文件 plugins/GeyserOptimizer/config.yml,可按需修改后执行 /geyseropt reload 重载。
# plugins/GeyserOptimizer/config.yml 核心参数示例 check-interval: 30 # 检查间隔(秒) max-retry-attempts: 3 # 最大重试次数 auto-restart-enabled: true # 自动重启 Geyser notify-admins: true # 通知管理员 detailed-logging: false # 详细日志模式 bedrock-optimization: passive-reconnect-enabled: true enable-player-optimization: true immediate-optimization: true unstable-threshold: 3 min-unstable-players: 2 trigger-threshold: 0.3 java-player-optimization: enabled: true ping-threshold: 200 passive-reconnect-enabled: true unstable-threshold: 3 warn-player: true warn-interval: 30 check-interval-ticks: 200
| 命令 | 权限 | 描述 |
|---|---|---|
| /geyseropt 或 /go | geyseroptimizer.use | 显示帮助信息 |
| /geyseropt status | geyseroptimizer.status | 查看 Geyser 连接状态 |
| /geyseropt stats | geyseroptimizer.use | 查看连接统计信息 |
| /geyseropt java | geyseroptimizer.use | 查看 Java 版玩家连接状态 |
| /geyseropt optimize | geyseroptimizer.admin | 查看优化状态和配置 |
| /geyseropt restart | geyseroptimizer.admin | 尝试重启 Geyser 连接 |
| /geyseropt reload | geyseroptimizer.reload | 重载插件配置 |
💡 普通玩家默认拥有 geyseroptimizer.status 权限,可随时查看连接状态;管理员拥有所有权限。
🎯 玩家识别流程: Floodgate API(最准确) → Geyser 内部 Session 列表(不依赖前缀) → 玩家名特征(兜底)。每 30 秒刷新一次基岩版玩家列表,避免频繁反射调用。
⚡ 被动重连优化:
- 基岩版:检测到断开次数超过阈值(默认3次),立即对该玩家执行轻量级优化;当不稳定玩家比例超过 30% 时,触发全局优化。
- Java版:每 10 秒检测 Ping 值,若高于阈值(默认 200ms)或方差波动大,自动执行被动优化并可选警告玩家。
- 插件会记录每次优化结果并生成周期性连接质量报告。
# 被动优化典型日志 [GeyserOptimizer] 检测到基岩版玩家 Alice 连接不稳定 (断开次数:3) [GeyserOptimizer] 已执行玩家级优化 -> 发送 keepalive 重置会话 [GeyserOptimizer] Java版玩家 Bob Ping波动剧烈 (当前 245ms,方差 89) [GeyserOptimizer] 已执行被动优化并发送温馨提示
❓ 插件提示 “未检测到Geyser插件”
确保 Geyser 已正确安装并启用。如果不使用基岩版互通,可以忽略此提示,Java 版优化仍正常工作。
❓ 自动重启 Geyser 无效
检查配置中 auto-restart-enabled 是否为 true,并确认服务器有权限执行重启操作。
❓ 如何查看 Java 版玩家的连接状态?
使用 /geyseropt java 查看 Ping 统计和不稳定玩家列表,/geyseropt stats 可查看详细统计数据。
❓ Floodgate 未设置前缀,还能识别基岩版玩家吗?
可以。插件会优先通过 Floodgate API 识别,若不可用则直接从 Geyser Session 列表获取 UUID,完全不依赖前缀。
❓ 生产服务器性能建议
Geyser 检查间隔建议 30-60 秒,Java Ping 检查间隔建议 100-600 tick(5-30 秒),避免开启详细日志以降低性能开销。
🔄 基岩版连接优化循环:
定时检查 Geyser 状态 → 健康则继续监控 → 异常则记录错误次数 → 达到阈值(3次) → 自动重启 Geyser 或执行全局优化。
📡 Java 版 Ping 监控流程:
每 200 tick (10秒) 检测所有 Java 玩家 Ping → Ping < 200ms 且波动小 → 正常监控 → Ping > 200ms 或波动大 → 标记为不稳定 → 执行被动优化 + 可选警告玩家 → 不稳定比例 > 30% 触发全局优化。
📋 连接质量报告:
每 5 分钟自动生成报告,汇总连接成功率、平均 Ping、不稳定玩家数量,并保存至日志。
✅ 所有参数(检查间隔、阈值、比例、重试次数)均在 config.yml 中可调,满足不同规模服务器的个性化需求。
v1.0.0 (2025-05-22)
📜 许可证: MIT License。你可以自由使用、修改和分发,只需保留版权声明。Geyser / Floodgate 为可选依赖,本插件不包含它们的代码。