Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-CP2A实施自验与待复核边界-2026-09-29.md
Liubing\LB 6813da149a feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。
保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。

验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。
包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2026-09-30 19:19:05 +08:00

3.5 KiB
Raw Blame History

M2 CP2A 实施自验与待复核边界

日期:2026-09-29。依据已核37/37受审基线的主会话裁决,仅实施 CP2A:非AGG、正式地址 http://s101.local:18080/、首批101/102且已有KV档,完成普通登录入口和CP1原句柄内部交接;不进入 FishingStage,不公布 IsLogin/IsAuthorized,不初始化 Mail/IAP 或开放业务路由。现有工作树其他改动未清理/重置。

已落源码与合成证据

  • Bootstrap 在旧 PF 组件创建前捕获不可变模式,KV 不创建 PlayFabMgr;普通 UserService 跳过 PF 登录、MMTest/PF写、YinDun、TapJoy 与第二次 S101 登录。AGG KV 在捕获时失败,Editor kv-loop 后置许可仍走旧路径。
  • 正式三传输由同一 CookieContainer、各自 HttpClientHandler 创建,禁重定向;先校验三张 handler 图互不共享,再发送一次认证。正式工厂与 Editor 验证工厂分离。请求前只准101/102,Prepare 后核 newCreate=false、非空数据、31模块完整 Schema;失败不 Apply/不发布句柄。
  • Bindings 同一31模块进入 Player 源码条件分支,登录阶段补 EventShootingRangeData 注册;UserService 以 Coordinator 的 LoadForGameAsync 与 TryGetCurrentGameHandle(epoch) 获取同一原对象,只建立内部 KVHandoffReady。CustomServerMgr 绑定同一 Context 租约且业务路由仍为空;PFLoginAct 不等 API 事件、不启 Mail/IAP、不 Unload;LoginStage 再阻止切入首场景。Logout、销毁、Application.quitting 同步撤销,关闭故障维持 registry 屏障。
  • KVGameLoadTests 最终89组1962断言0失败;ServiceHost 非Android及Android+AGG各9组86断言0失败、正式请求0,PlayerProbe仅验证非Editor局部能力表面。新增红绿测试保留新建非空/既有空拒绝、既有完整交接、共享内层handler首次认证前拒绝、GameLoaded后Close失败阻断下一Context、未验证Sockets拒绝。
  • Unity CLI Loop Editor 编译结果:Success=true、ErrorCount=0、WarningCount=269(该次输出未逐条归因);git diff --check 通过。没有 Unity Play、正式账号请求或打包。

未通过与待复核

真实 Player 目标的0错误证据尚未取得。既有 FishingChallengeManager.ResetForKVLoad 在非Editor引用仅Editor声明的 _cheatingScore,修复超出 CP2A 12 文件白名单;已形成单文件补审方案与4项受审基线(清单SHA256 DC912EC9A14D4BAB2C1AC4A6B4CC3F5BD7EAEB7240DAE2D5679A3E2F3CDB76D6),未改代码。旧式 .csproj 的命令行编译探测不是可靠 Player 编译,已中断;不列作通过。批末原 ZCode 独立实施复核尚未落盘,故 CP2A 实施中、未关闭。CP2B、CP3–CP5与最终闲置实现/旧Mgr运行调用清理仍未开始本批实施。

19项源码/测试字节与SHA256清单已本地重核19/19一致,清单 SHA256 733BC3AFD45AA15D06A1A03601829B793012EBA1716BAC860B5AEB98D265BA1B;其中12个生产源码、1个Unity .meta、6个测试宿主文件。另将原37项受审基线逐项重比:26项不变、11项变化且全在获批既有生产白名单,新增源码和 .meta 均为获批项目。该清单标记当前实施中快照,不等于批末封板或独立审查通过。