Commit Graph
117 Commits
Author SHA1 Message Date
layue13andClaude Opus 5.5 789648c82f refactor: 仓库根目录按用途分组
- proxy/:core、plugin-api、luckperms 及其上游子模块 vendor/luckperms
- messaging/、backend/ 保持在根目录(messaging 是代理与后端共用的 API)
- build-logic/(原 proxy-build-logic)
- testing/:smoke/ 与 benchmarks/,不进入发行物

Gradle 项目名不变(settings.gradle.kts 映射目录),任务路径与 Maven 坐标照旧。
脚本的仓库根定位、文档与记录中的链接同步更新。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:34:01 +08:00
Claude d836f6c3d3 build: 统一 release 入口,CI 覆盖客户端 mod,文档同步新结构
- 根任务 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
2026-10-21 10:13:06 +00:00
Claude 66ef6788f1 feat: 与 TCP 并存的 WebSocket 玩家监听
新增可选 websocket 配置段,在原有 TCP listen 之外再开一个 WebSocket 监听,
供经 CDN 接入的客户端使用;两种入口共用会话、选服、转服和 maxConnections。

- core.websocket:升级握手(可选 TLS)、二进制消息与 Minecraft 字节流互转、
  可信代理真实 IP(X-Forwarded-For 从右取第一个不可信地址 / CF-Connecting-IP 等)
- SessionChannels.clientAddress 统一玩家地址,用于两类准入事件、Mojang 验证 IP
  与 Bungee 转发
- ConnectionGate 支持升级后才加入管线;登录等待守卫放在 WebSocket 适配器之后
- 未升级连接计入 maxConnections,并受 handshakeTimeoutSeconds 约束
- 测试:真实 socket 上 TCP 与 WebSocket 并存登录与转发、分片/合并/Ping、
  在线模式加密与转发 IP、不可信来源、404/文本帧、名额归还、wss 证书加载
- 文档:docs/websocket.md,并更新运行配置、插件、架构与默认配置示例

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
2026-10-20 21:23:15 +00:00
Claude 4def198cc0 docs: 修正 CI 引用、拆出历史验证记录并统一中文文档
- 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
2026-10-20 21:06:01 +00:00
layue13 15e5abb325 Default permission storage to MariaDB 13.0.2 and verify recovery 2026-10-02 05:30:59 +08:00
layue13 7f1980269a Add permissions service and native LuckPerms platform 2026-09-28 01:32:31 +08:00
layue13 8401e34639 Make development publishing traceable and polish operator and plugin docs 2026-09-27 23:43:13 +08:00
layue13 9481403684 Redesign initial player routing with explicit candidates and bounded retries 2026-09-27 23:05:58 +08:00
layue13 64152878d0 Rename project to MoonBridge and expose standalone Bukkit API 2026-09-27 22:39:16 +08:00
layue13 8c2d35b8be feat: name backend host and verify real Uranium lifecycle 2026-09-27 22:16:21 +08:00
layue13 7e045e0ddc feat: unify plugin channel messaging and remove v1 API 2026-09-27 19:00:17 +08:00
layue13 230f317d0a feat: replace backend discovery with control channel 2026-09-27 02:52:46 +08:00
layue13 7fe2c99d6e docs: record current Forge pack acceptance and paired measurements 2026-09-26 22:39:12 +08:00
layue13 ea7852375c Unify event results and clarify player admission 2026-09-26 09:53:31 +00:00
layue13 a74527ca5b Unify plugin access and lifecycle event subscriptions 2026-09-26 09:15:07 +00:00
layue13 3c21a6c2e3 Add asynchronous plugin access checks and architecture docs 2026-09-26 08:39:54 +00:00
layue13 72086ccb5d Add plugin player commands and harden proxy ingress 2026-09-25 22:18:48 +00:00
layue13 9e60e162c7 Clarify real Forge transfer reliability boundary 2026-09-26 04:18:53 +08:00
layue13 abfe8a0306 Capture backend bytes during Uranium login stalls 2026-09-26 04:02:37 +08:00
layue13 05aba68621 Capture early Uranium login stall evidence 2026-09-26 03:44:25 +08:00
layue13 883d439e6b Add diagnostics for intermittent initial login EOF 2026-09-26 02:34:31 +08:00
layue13 a09fc07726 Keep server views as registration snapshots 2026-09-26 02:07:09 +08:00
layue13 2eeb342d74 Exercise Forge round-trip through plugin transfer API 2026-09-26 01:41:20 +08:00
layue13 c99d296cd4 Verify authenticated Forge transfer on encrypted session 2026-09-26 00:48:42 +08:00
layue13 7925b868af Cancel abandoned initial placement requests 2026-09-25 22:55:24 +08:00
layue13 68e7f87477 Smoke test backend discovery across container network 2026-09-25 22:35:16 +08:00
layue13 3f31bc1d0f Record Linux post-transfer session benchmark 2026-09-25 22:14:40 +08:00
layue13 6b2d12e9b0 Verify pull requests without cross-repository workflow access 2026-09-25 22:00:03 +08:00
layue13 7eb9b086c2 Record real Forge client and current transfer benchmark 2026-09-25 21:50:58 +08:00
layue13 24e6de0eff Measure ordinary forwarding after backend transfer 2026-09-25 21:14:27 +08:00
layue13 91d2d016e1 Verify dynamic plugin registration with real Forge transfer 2026-09-25 21:06:00 +08:00
layue13 c41c2c5c8e Verify plugin API transfer through installed proxy 2026-09-25 21:02:41 +08:00
layue13 a93fd3c36c Smoke test Forge transfer between Uranium backends 2026-09-25 20:56:49 +08:00
layue13 70e12b1764 Smoke test minimal Uranium backend through proxy 2026-09-25 20:50:37 +08:00
layue13 446ff76da0 Verify active sessions survive Agent unregister 2026-09-25 20:41:32 +08:00
layue13 86a3fad5b8 Close handed-off backend candidate on pipeline error 2026-09-25 20:36:27 +08:00
layue13 d90ebf903e Record current session throughput after lifecycle fixes 2026-09-25 20:26:12 +08:00
layue13 0b15bd85e0 Preserve login disconnect frames across backend close 2026-09-25 20:21:31 +08:00
layue13 a7f85a22d0 Drain accepted clientbound writes before backend disconnect cleanup 2026-09-25 20:05:02 +08:00
layue13 9e7c91a45d Reset Forge client registry when switching to vanilla 2026-09-25 19:37:48 +08:00
layue13 c810e1a4cc fix: recover Agent registration after lease expiry 2026-09-25 19:02:55 +08:00
layue13 82032fd673 fix: retain DNS family addresses across partial query failures 2026-09-25 18:58:04 +08:00
layue13 0bf460bfcf Enforce single event loop for session backends 2026-09-25 18:06:55 +08:00
layue13 042efcf6e3 Validate exact backend endpoints before registration 2026-09-25 17:35:00 +08:00
layue13 2625db30c3 Document current synthetic session benchmark and scope 2026-09-25 17:10:51 +08:00
layue13 e617fd4784 Bound online verification work and cancel abandoned requests 2026-09-25 17:02:53 +08:00
layue13 2910fbbea9 Bind backend endpoint to capacity reservations 2026-09-25 16:49:48 +08:00
layue13 ea2c1ebe2a Bound prelogin frames and fail oversized forwarding promptly 2026-09-25 16:33:15 +08:00
layue13 5b91e08e64 Keep old session when transfer candidate disconnects before cutover 2026-09-25 16:13:44 +08:00
layue13 6799410f8d Expire stale DNS registrations and bypass JVM address cache 2026-09-25 16:00:02 +08:00