TermiNexus
|
093159629b
|
feat(ui): 本地资源代理 + 车库全屏布局与退出入口
|
2026-10-25 20:50:13 +08:00 |
|
TermiNexus
|
780373180d
|
feat(session): S3 连接层起步,上行编码 golden + 会话解码自检
|
2026-10-24 22:43:35 +08:00 |
|
TermiNexus
|
fdc516b7f3
|
feat(state): 迁密码登录与 Twitch 切片,拼出 89 槽位根 reducer
|
2026-10-23 00:38:10 +08:00 |
|
TermiNexus
|
a64530761b
|
feat(state): 移植 Redux 内核(Store/中间件/网关)并加 10 项自检
对照 module_10849 的 toString 证据实现:vt=ReduxStore(归约+监听器+中间件链)、yt=ReduxToModelGateway(按动作类先通知、再交给 Store;模型/键/游戏对象三级订阅,重复订阅 fail-fast)。
自检 TANKIOFFLINE_STATE_TEST=1:归约累加、通知次数与新状态可见性、中间件由外向内顺序、动作监听器先于归约、模型订阅/退订、重复订阅抛错、派发经过调度器,共 10 项全通过。
state 模块补 js(IR){browser();nodejs()} 使 :app 可依赖;新增 tools/RunStateTest.ps1。
|
2026-10-22 12:47:51 +08:00 |
|
TermiNexus
|
b083d27165
|
fix(protocol): TankState 按 23 字节定长 blob(T5)解码,修复 TankCC 后续字节错位
- codec_fields:module_87072::T5 记为单字段 bytes23;pq.tankState 的 TypeCodec 由 85183::jq 改指 87072::T5
- 生成器支持 bytes<N>(ByteArray / R.ReadRaw(N) / W.WriteRaw),重生成 Module87072、Module85183
- 审计链:lib_space_codec 新增 bytes<N>;audit_pt_boundaries / audit_bit_budget 支持 --body/--plain;semantic 暴露 Out.Bits
- 新增工具:audit_bit_budget(nullmap 位预算)、probe_pt_record(pt 项级)、analyze_item_trace(客户端项级打点对照)、dump_codec_src
- wss_server 新增 --dump-plain:把解密+解压后的裸帧体落到 plain/,供离线审计
- 镜像打点:opt 全量位位置、pt 项级字节/位区间、TankCC 逐字段区间;重新打包 unpacked.pack.json
|
2026-10-21 15:21:10 +08:00 |
|
TermiNexus
|
ce8eeec8d6
|
fix(tools): 审计改用跨记录位游标,修正多记录帧误判
|
2026-10-21 03:28:52 +08:00 |
|
TermiNexus
|
7845e5becd
|
fix(protocol): 单帧异常不再中断整轮回放,并记录 enum 宽度实验结论
|
2026-10-21 02:04:54 +08:00 |
|
TermiNexus
|
3b58a43063
|
fix(protocol): 修正反查漏掉 \$ 前缀类名的错位,回放错误 12→6
|
2026-10-21 01:53:51 +08:00 |
|
TermiNexus
|
9975a8662f
|
feat(protocol): 采集运行时 modelId→codec 注册并用源码反查模块归属
|
2026-10-21 01:32:03 +08:00 |
|
TermiNexus
|
ca42614056
|
feat(protocol): 离线回放支持多目录并补齐 pt 解码失败定位信息
|
2026-10-21 01:16:21 +08:00 |
|
TermiNexus
|
0ca28ff9b2
|
feat(autotest): 新增双连接接入测试与链路密钥探测
- AutoTest:大厅 Hash Request → 取 digest/空间 id → 空间连接 EnterSpace → 收空间帧
- StreamDecoder:首条密文即穷举单字节链路密钥(K),之后 s2c 自动解密
- 首条空间帧到达后再加密发送 G.q1wd,服务端才会继续下发容器数据
- RunAutoTest.ps1:自动拉起大厅/空间两条中继,跑完自动回收
- 实测通过:握手成功、K 唯一命中、容器 1 条、回编码一致
|
2026-10-21 00:38:59 +08:00 |
|
TermiNexus
|
f3db51cf4b
|
feat(protocol): 补齐容器命令与短命令别名机制
- Containers.kt 实现 lt/pt/zt/alias 四种布局,覆盖 ModelService 4 条容器命令
- 生成 ModelRegistry.ByModelId,供 pt 项按 modelId 展开
- 短命令:_setModelCommandAlias 解码后写入别名表,记录链可按别名继续解
- 下行注册补到 681 条;railgun-battle 400 帧复跑仍为 399/399 回编码一致
|
2026-10-21 00:13:12 +08:00 |
|
TermiNexus
|
5088524f22
|
feat(tankioffline): 搭建 Kotlin/JS 多模块工程与 S2 全量协议层
- 新增 TankiOffline 多模块骨架(app/core/net/ecs/physics/render/resource/state/battle/ui)
- core 实现帧边界、nullmap 位流、大端读写、varint、fflate 解压
- GenerateProtocol.py 从 names 表生成 644 个模型、679 条下行、361 条上行 Kotlin codec
- 手写 TankState 的 23 字节位打包 codec(真实注册点是 module_87072 的 T5)
- app 增加 Node golden 自检:抓包解码后立即回编码逐字节比对
- 实测 plain/railgun-battle 400 帧:399 条记录全部回编码一致
|
2026-10-21 00:03:18 +08:00 |
|