mirror of
https://github.com/layue13/MoonBridge.git
synced 2026-10-25 18:46:18 +00:00
- 根任务 release:build/release/ 下收集服务器包、后端插件 JAR 与客户端 mod (经 client-mod 自身 wrapper 构建,-PskipClientMod 可跳过),附安装位置说明 docs/release-layout.md - verify.yml:-Pluckperms check,并新增 client-mod 构建测试 job; ci.yml:-Pluckperms check release,上传 build/release/,发布带 -Pluckperms - gradlew 加可执行位 - README、CLAUDE.md、架构/发布/测试/权限/后端接入文档与 smoke 脚本改用新模块、 新坐标与发行包 backend/ 目录 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
3.3 KiB
3.3 KiB
设计文档
文档描述当前实现;源码和自动化测试是行为核对依据。各验收记录注明了自己的日期、提交和环境,详见验证方法。
从这里开始
- 要运行 Proxy:先看运行配置,再按部署需求修改认证方式、入口候选和后端地址。
- 要开发插件:先看插件开发;后端 Bukkit 插件另看后端 Channel 接入。
- 要理解初次登录为什么拒绝或如何重试:看初次登录路由及其专项验收记录。
- 要核对证据覆盖面:看验证方法,并按各记录注明的日期、提交、环境和探针类型判断。
| 文档 | 内容 |
|---|---|
| 架构与边界 | 模块职责、会话状态、线程模型、转服、目录所有权 |
| 消息与命令补全 | 富文本、模板、异步参数补全及协议边界 |
| 插件开发 | 生命周期、玩家/服务器视图、选服、命令与统一类型化事件 API |
| 转服协调 | 登录前决策、可选源服释放、异步确认、期限与失败边界 |
| 玩家权限与 LuckPerms | 通用权限接口、提供者生命周期、命令鉴权和原生 LuckPerms 平台插件 |
| 初次登录路由 | 显式入口、插件策略、超时、重试安全边界与验收契约 |
| 玩家操作与部署完善设计 | 消息、主动断开、服务器列表配置与验收边界 |
| 运行配置 | 认证、接入限制、超时、启动和部署边界 |
| WebSocket 接入 | 与 TCP 并存的 WebSocket 玩家监听、CDN 部署、真实 IP 与客户端 mod |
| 后端 Channel 消息服务 | 共享宿主、跨后端路由、消息身份与交付语义 |
| Channel 消息设计契约 | 从参与者、寻址、响应与失败语义推导 API 和验收条件 |
| 验证方法 | 自动化测试、烟测、真实客户端与合成性能测量 |
| 发行物与安装位置 | gradlew release 产出的服务器包、后端插件、客户端 mod 各装在哪里 |
| 发布与依赖版本 | 本地 SNAPSHOT、CI 不可变版本、Maven 构件和发行包的区别 |
当前可引用的验证记录
- 初次路由专项验收:自动化路由覆盖与真实 Java 8 Uranium 后端协议探针;不是完整 Prism 模组包视觉验收。
- MoonBridge 后端 API 验收:隔离 Uranium 服务端中的 Bukkit 宿主和 API 功能验收;无玩家。
- 2026-09-26 Prism 历史记录:真实客户端及配对测量,仅适用于该记录描述的代码版本和环境。
设计约束:核心管理连接和协议;插件负责玩法与访问策略。ServerView 是后端目录快照,发现方式是目录的提供者,不引入核心负载观测。准入与会话通知使用同一事件类型、监听器和注册表;不同事件在派发策略上处理结果。常规 PLAY 转发没有通用事件派发。