- CLAUDE.md、testing.md、publishing.md 的 .gitea 路径改为实际的 .github/workflows; 说明 verify.yml 在 PR 上运行 check - testing.md 中带日期的逐轮结果迁到 docs/records/ - README 精简为简介、快速开始和入口;配置与迁移细节只保留在 operations.md - channel-messaging-v2.md 更名为 channel-messaging-contract.md,与 transfer-coordination.md 一起译为中文 - benchmarks/results 中两个记录改为日期前缀命名 - 新增 compileBenchmarks 并挂到 check,防止 benchmarks/ 静默失效 - .gitignore 删除不存在的 deployment/ 条目 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
3.1 KiB
MoonBridge
面向 Minecraft 1.7.10 Forge 的玩家会话代理:登录认证、协议转发、跨后端转服,以及供插件使用的玩家、服务器目录、富文本、命令补全、类型化事件和 Channel 消息服务。后端插件共享认证连接,通过 channel 与 proxy 或其他 backend 通信。空岛分配、实例唤醒和 Ban 数据存储由插件实现。
文档
- 文档索引:按运维、插件开发和架构主题浏览。
- 运行配置:认证模式、监听范围、入口后端和部署约束。
- 初次登录路由:候选顺序、插件接管、期限和安全重试边界。
- 插件开发:Proxy API、事件、命令、转服和初始选服。
- 玩家权限与 LuckPerms:统一权限接口、命令鉴权和原生平台插件。
- 后端 Bukkit 插件接入:共享宿主、API 依赖与 Channel 示例。
- 发布与依赖版本、架构与验证方法。
快速开始
需要 JDK 25。发行包不包含 Minecraft 后端;要完成玩家登录,需要一个 Minecraft 1.7.10 后端,且 initialRouting.servers 中至少一个名称能解析到它(随附配置为 lobby → 127.0.0.1:25565)。
git submodule update --init --recursive
bash ./gradlew check :proxy-core:installDist # Windows: .\gradlew.bat check :proxy-core:installDist
cd proxy-core/build/install/moonbridge
bin/moonbridge --validate-config config/moonbridge.yml # Windows: bin\moonbridge.bat
bin/moonbridge --config config/moonbridge.yml
默认配置为 OFFLINE,仅监听 127.0.0.1:25577。公开部署使用 ONLINE_BUNGEE 并限制玩家直连后端;认证、监听、入口候选和后端地址见运行配置。发行包根目录附带 docs/ 与按日期归档的 smoke/results/、benchmarks/results/。
后端插件开发
服务器安装 moonbridge-backend-bukkit JAR(插件名 MoonBridgeBackend)。业务插件对 backend-bukkit-api 使用 compileOnly / provided,并通过 BukkitMessagingService 获取共享消息服务;无需依赖宿主实现或创建网络连接。源码当前的 0.1.0-SNAPSHOT 仅是本地开发构件版本;发布依赖应使用发布工作流提供的不可变版本。API 与完整示例见后端插件接入。
从 StrataProxy 升级见迁移说明;历史验收记录保留当时的名称与构件路径。
验证状态
当前可引用的验收记录及其覆盖范围见文档索引和验证方法。各记录只证明其注明的提交和环境,不代表生产容量。已知 Uranium 候选服登录停滞见记录及 Uranium #585。
生产权限存储统一使用 MariaDB 13.0.2;见 MariaDB 权限数据库。