2026-10-05 18:17:03 -07:00
2026-10-06 01:16:04 +00:00
2026-06-30 17:28:50 +08:00
2026-06-30 17:28:50 +08:00

MoonBridge

面向 Minecraft 1.7.10 Forge 的玩家会话代理:登录认证、协议转发、跨后端转服,以及供插件使用的玩家、服务器目录、富文本、命令补全、类型化事件和 Channel 消息服务。后端插件共享认证连接,通过 channel 与 proxy 或其他 backend 通信。空岛分配、实例唤醒和 Ban 数据存储由插件实现。

文档

本机运行

需要 JDK 25。发行包不包含 Minecraft 后端;要完成玩家登录,需启动一个 Minecraft 1.7.10 后端,并让 initialRouting.servers 中至少一个名称能解析到它。

git submodule update --init --recursive
.\gradlew.bat check :proxy-core:installDist
.\proxy-core\build\install\moonbridge\bin\moonbridge.bat --config .\proxy-core\build\install\moonbridge\config\moonbridge.yml

默认配置为 OFFLINE,仅监听 127.0.0.1:25577,后端为 127.0.0.1:25565。公开部署使用 ONLINE_BUNGEE,并限制玩家直连后端。详见运行配置。

随附配置的入口候选为 lobby,地址为 127.0.0.1:25565。如果后端名称或地址不同,请编辑发行包 config/moonbridge.yml 中的 backends 和 initialRouting.servers,并确保候选列表按想要的顺序列出明确入口。空候选列表在没有选服插件时会拒绝登录。

若运行已解压的发行包,从发行包目录启动:

.\bin\moonbridge.bat --validate-config .\config\moonbridge.yml
.\bin\moonbridge.bat --config .\config\moonbridge.yml

在 Linux/macOS 上将 moonbridge.bat 换成 moonbridge。发行包根目录包含 README、docs/ 和按记录日期归档的 smoke/results/、benchmarks/results/;历史记录只证明各自写明的提交和环境。

后端插件开发

服务器安装 moonbridge-backend-bukkit JAR(插件名 MoonBridgeBackend)。业务插件对 backend-bukkit-api 使用 compileOnly / provided,并通过 BukkitMessagingService 获取共享消息服务;无需依赖宿主实现或创建网络连接。源码当前的 0.1.0-SNAPSHOT 仅是本地开发构件版本;发布依赖应使用发布工作流提供的不可变版本。API 与完整示例见后端插件接入。

本次改名统一使用 dev.moonbridge 包名、moonbridge 启动命令和 moonbridge.yml 配置文件。现有插件需要重新编译,Bukkit 插件依赖声明和宿主配置目录改用 MoonBridgeBackend。历史验收记录保留当时的名称与构件路径。

验证状态

MoonBridgeBackend 后端宿主与独立 API 已通过两个真实 Uranium / Java 8 服务端的注册、通信、主线程回调、插件停用、重连及注销/租约验收,见改名与独立 API 验收记录。这是无玩家、隔离服务端上的功能验收,不代表生产容量测试。

最新初次路由专项记录包含自动化测试,以及通过实际 ProxyMain 连接真实 Java 8 Uranium 后端的协议探针结果;未进行本分支的完整模组包玩家视觉验收,见路由验收记录。2026-09-26 Prism 记录是当日代码和环境下的历史真实客户端及配对测量,不应视作当前路由改动的完整模组包证明,见历史验收记录。生产容量仍需按部署环境测量。已知 Uranium 候选服登录停滞的调查见记录及 Uranium #585。

生产权限存储统一使用 MariaDB 13.0.2;默认配置、已有数据边界与实际双实例验收入口见 MariaDB 权限数据库。

S
Description
No description provided
Readme
2.8 MiB
0 Stars 1 Watchers 0 Forks
Languages
Java 95.1%
PowerShell 3.5%
JavaScript 0.7%
Python 0.4%
Kotlin 0.2%
Other 0.1%