layue13
537815766e
Bound transfer candidate packet queue and benchmark framed relay
2026-09-25 08:03:22 +08:00
layue13
5412e27c55
Keep packet boundaries across session relay and transfer
2026-09-25 07:54:00 +08:00
layue13
d928174098
Complete Forge handshake across backend transfer
2026-09-25 07:45:44 +08:00
layue13
18156b0d4d
Preserve in-flight relay frames while pausing
2026-09-25 07:45:34 +08:00
layue13
f677a229d2
Add optional leased Agent backend discovery plugin
2026-09-25 07:22:32 +08:00
layue13
466f38f7b1
Implement protocol 5 backend transfer with Forge reset and rollback
2026-09-25 07:22:20 +08:00
layue13
3dc772c5e0
Allow relay pause and detach for backend replacement
2026-09-25 06:53:46 +08:00
layue13
d2ece92cde
Bound initial sessions and add synthetic relay benchmark
2026-09-25 06:48:38 +08:00
layue13
a410c159fb
Rewrite proxy around player sessions and plugin-owned discovery
2026-09-25 06:27:16 +08:00
layue13
ac064adb25
refactor: simplify routing ownership and remove implicit transfer selection
2026-09-25 02:50:06 +08:00
layue13
7ba97faca1
refactor: add staged plugin routing and server load views
2026-09-25 02:10:02 +08:00
layue13
152bae13be
feat: add independent backend channel broker
2026-09-25 01:04:52 +08:00
layue13
3bfb0228ff
ci: use shared build-publish workflow
2026-09-23 23:43:40 +08:00
layue13
5dc68edec2
feat: add platform-neutral backend messaging API
2026-09-22 22:57:20 +08:00
layue13
138bbcf987
refactor: streamline proxy network runtime
2026-09-22 22:47:59 +08:00
layue13
d03ff6801c
refactor: simplify network relay accounting
2026-09-22 22:25:50 +08:00
layue13
41aa8bb57b
refactor: flatten core implementation packages
2026-09-22 19:53:46 +08:00
layue13
03bb9d8601
refactor: colocate minecraft runtime metrics
2026-09-22 19:50:51 +08:00
layue13
84d241b464
refactor: extract plugin server service
2026-09-22 16:18:27 +08:00
layue13
28855879a1
refactor: organize core package boundaries
2026-09-22 12:59:50 +08:00
layue13
8c010481aa
fix: harden backend agent and plugin contracts
2026-09-22 05:48:43 +08:00
layue13
8063f6eb1f
docs: consolidate Chinese documentation
2026-09-22 03:57:47 +08:00
layue13
9fa6a782a6
fix: configure Bukkit Java compatibility via extension
2026-09-22 03:47:22 +08:00
layue13
71b15cd180
feat: add Bukkit backend agent and shared CI publishing
2026-09-22 03:42:25 +08:00
layue13
cfa3c8bc51
refactor: reduce StrataProxy to core runtime
2026-09-22 02:33:30 +08:00
layue13
3f3937b6b0
build(StrataProxy): settings 补 foojay toolchain 解析器
...
问题: updateDaemonJvm 缺 toolchain 下载仓库配置报 toolchainDownloadUrls 失败
改动: settings.gradle.kts 顶层补 foojay-resolver-convention 1.0.0(前一 commit criteria 提交时遗漏)
验证: criteria 已在 44fab88 落地并推送, 本文件是其必需配套
2026-09-06 14:41:51 +00:00
layue13
44fab88c60
build(StrataProxy): Daemon JVM criteria 钉 JDK 25
...
问题: 构建进程 JVM 依赖各机器 JAVA_HOME, 换环境漂移
改动: updateDaemonJvm --jvm-version=25 生成 gradle-daemon-jvm.properties(criteria 优先于 JAVA_HOME/org.gradle.java.home)
验证: JAVA_HOME=Zulu8 下 assemble 全绿(daemon 实跑 JDK25); 产物 0 个 class 全部 major=52
2026-09-06 14:38:12 +00:00
layue13
d9761620de
perf(StrataProxy): 转移单一 payload 捕获前缀所有权
...
原因 / Cause:
启用 payload capture 时,relay 已为前缀新建 byte[],ProxyMetrics 又为单个匹配 capture 执行 Arrays.copyOf,导致同一采样数据复制两次。
修复 / Fix:
新增显式所有权转移入口;relay 将其新建且不再使用的前缀数组交给指标层。单个完整匹配 capture 直接保存该数组,多个 capture 或需要截断的 capture 继续独立复制。
性能收益 / Performance:
常见的单一 capture、全长样本路径消除一次 byte[] 分配与内存复制;多 capture 路径仍以独立副本保证隔离。
兼容性 / Compatibility:
既有 payloadCaptured API 继续防御复制;新入口明确调用方不得再修改数组。新增回归测试验证多个 owned capture 的导出样本不共享数组。
验证 / Validation:
git diff --check;Java 25 下 :proxy-observability:test、:proxy-network:test 与全仓 check 均通过(95 tasks)。
Refs #2
2026-09-05 13:30:47 +08:00
layue13
2f80a2738a
perf(StrataProxy): 缓存 relay 服务流量计数器
...
原因 / Cause:
前后端 relay 每转发一个包都以服务器字符串调用 ConcurrentHashMap.computeIfAbsent 获取同一组 ServerTrafficCounters。
修复 / Fix:
ProxyMetrics 提供绑定到单服务器的 ServerTrafficRecorder;relay handler 在构造时获取一次,并在每包路径直接写入已绑定的两个 LongAdder。
性能收益 / Performance:
将每包字符串哈希、ConcurrentHashMap 查找和 computeIfAbsent 分支移动到每条 relay 连接的一次性初始化,降低高吞吐转发的同步映射开销。
兼容性 / Compatibility:
保留既有按服务器 API;绑定记录器仍同时累加原有全局和同一服务器的计数器,快照、服务名校验与指标值不变。
验证 / Validation:
git diff --check;Java 25 下 :proxy-network:test、:proxy-observability:test 与全仓 check 均通过(95 tasks)。
Refs #2
2026-09-05 13:27:50 +08:00
layue13
4f56e936cc
perf(StrataProxy): 减少压缩审计动作分配
...
原因 / Cause:
前后端 relay 在每个已协商压缩帧上都会创建动作 ArrayList、再通过 List.copyOf 复制;无完整帧和未协商路径也重复创建等价的 CompressionObservation。
修复 / Fix:
复用无动作观察结果;空压缩样本直接使用共享结果;非空样本按已知数量预分配动作列表,并在私有只读消费路径中直接传给重写器,避免 List.copyOf 的第二份容器和元素数组复制。
性能收益 / Performance:
未协商、分帧暂未完成和无完整压缩样本路径不再分配 CompressionObservation/动作列表;有完整样本时消除一次动作列表复制并避免扩容。
兼容性 / Compatibility:
压缩样本、指标记录、动作生成顺序、重写输入及转发决策均保持不变;动作列表仅由同一 handler 私有路径创建并由重写器只读消费。
验证 / Validation:
git diff --check;Java 25 下 :proxy-network:test 与全仓 check 均通过(99 tasks)。
Refs #2
2026-09-05 13:25:53 +08:00
layue13
6f82712e4a
revert: restore StrataProxy runner label
...
原因 / Cause
The previous runner-label update targeted a proxy repository that is outside the mod build-and-distribution scope.
修复 / Fix
Restore the original Ubuntu runner label and leave StrataProxy unchanged.
性能收益 / Performance
No runtime behavior changes.
兼容性 / Compatibility
Restores the prior CI configuration exactly.
验证 / Validation
Verified the restored workflow diff only changes the runner label back to ubuntu-latest.
2026-09-05 11:42:03 +08:00
layue13
8ae842c042
ci: route builds to macOS ARM runner
...
原因 / Cause
StrataProxy CI requested ubuntu-latest, but the available global runner is an ARM64 macOS host labeled macos-arm64. Jobs were cancelled before a runner accepted them.
修复 / Fix
Target the macos-arm64 label so pushes to main are executed by the available M5 Max runner.
性能收益 / Performance
Uses the available native ARM64 build capacity without queuing indefinitely.
兼容性 / Compatibility
The workflow continues to use actions/checkout, actions/setup-java, and Gradle on macOS.
验证 / Validation
Verified the runner is idle, enabled, global, and labeled macos-arm64; the workflow trigger remains push to main.
2026-09-05 11:35:32 +08:00
layue13
d5ec957d28
perf: remove hot-path observer copies ( #1 )
...
原因 / Cause:
完整入站帧会被 legacy Forge race guard、Forge 握手跟踪器和插件通道注册表分别复制到各自 pending 缓冲,转发热路径产生不必要的分配与内存复制。
修复 / Fix:
完整帧改为仅在当前 channelRead 内以 ByteBuf 切片解析;只有跨包的未完成尾帧才复制到 pending。race guard 对完整且未命中 race 的帧直接返回原缓冲,命中或分片时继续使用原有过滤路径。
性能收益 / Performance:
完整、非 race 的入站帧在上述三个观察器中的全量字节复制由每观察器 1 次降为 0 次,消除 3 次热路径缓冲复制与相应分配;压缩解码保留以维持观察语义。
兼容性 / Compatibility:
Forge 握手状态、压缩解析、REGISTER/UNREGISTER 注册表、race 过滤与跨包累积语义保持不变;分片仍由拥有的数据副本续帧,避免引用计数悬挂。
验证 / Validation:
./gradlew.bat :proxy-network:test;./gradlew.bat build。新增压缩分片首段释放回归,以及完整非 race 帧对象同一性回归。
Refs #1
2026-09-04 01:25:17 +08:00
layue13
d0c3ac321e
Expose controlled server registry mutations to plugins
2026-07-05 17:08:03 +08:00
layue13
577bebac0e
fix: handle forge 1.7.10 join dimensions
...
Parse Forge 1.7.10 Join Game dimensions as int during legacy Forge backend switches while keeping vanilla 1.7.10 on byte dimensions.
Add regression coverage for large modded dimensions and Bungee legacy forwarding preserving the FML hostname token.
2026-07-03 00:23:30 +08:00
layue13
4b64a6819e
feat: add legacy forge protocol switching support
...
Introduce protocol profiles and legacy custom payload codecs for 1.7.10/1.8 behavior.
Add Forge handshake tracking, gating, reset, plugin channel replay, legacy switch cleanup, diagnostics, and local 1.7.10 deployment scripts.
Document the protocol version matrix and current support limits.
2026-07-03 00:04:29 +08:00
layue13
03bbbcabe1
Introduce SLF4J logging facade
2026-07-02 02:41:42 +08:00
layue13
03a3143d50
Optimize routing and packet registry lookups
2026-07-02 02:37:04 +08:00
layue13
7c11ad30de
docs: complete Javadocs
2026-07-02 02:28:13 +08:00
layue13
a0683c4a25
Complete plugin developer API surface
2026-07-02 02:03:31 +08:00
layue13
6378f86ea3
Add proxy plugin and in-game command system
2026-07-02 01:41:06 +08:00
layue13
b742fce39c
Implement Bungee-style player transfers
2026-07-02 00:55:10 +08:00
layue13
b36b7fff6b
Improve user-facing documentation structure
2026-07-01 04:47:17 +08:00
layue13
244f5eaeca
Add operations manual documentation
2026-07-01 04:03:01 +08:00
layue13
5cdc39ca7d
Add Zstd sample collection commands
2026-07-01 02:40:15 +08:00
layue13
1f9266b8b0
Document Zstd compression tuning
2026-07-01 02:06:32 +08:00
layue13
ae4092ae76
Merge remote-tracking branch 'origin/main' into codex/zstd-dictionary-mod
2026-06-30 22:50:27 +08:00
layue13
040a3ed893
Normalize modded handshake route hosts
2026-06-30 21:06:54 +08:00
layue13
c0cfc92b3a
Add managed echo backend for performance profiles
2026-06-30 20:56:36 +08:00
layue13
d6961cb1b7
Add login plugin payload diagnostics
2026-06-30 20:49:11 +08:00