Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-修订1独立审查主会话裁决与新增阻断-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.8 KiB
Raw Blame History

M2修订1独立审查:主会话裁决与新增阻断

日期:2026-09-29。受审报告:M2-先移植后优化独立方案审查-修订1.md,SHA256 5D293D41D26A23859AFEC85674B57F21BBF90D6FE8FEE445E954A1AF21BFE8A0。主会话独立复算15项受审文件长度与SHA256,15/15一致;受审方案hash 64CB30F2C0613BB59E12F5C00BF0A64230FEE5047715488FA02E87C1CE92C219。报告及原受审材料保持原样。本裁决不批准生产代码。

逐项裁决

报告项 主会话裁决
总体路线通过 接受“先移植、后优化”,Guard是9月28日迁移新增而非原PF语义;B02四入口等价关闭仍有效。总体路线通过不等于首批编码批准。
CP1–CP2有条件通过 接受“有条件”的限定;条件尚未满足,暂不编码。需补五项具体合同/白名单,且下述正式启动阻断未被报告覆盖;因此不采纳“约30–50行即可接正式玩法”的工作量推断。
P2-1五项 全部接受为编码前置:正式入口签名、Guard释放点、原handle出口、Player构建31模块绑定、非Editor正式工厂与配置来源。每项须有文件/调用顺序/失败路径/验收。
P3-1 Guard引用映射 接受,作为迁移期不改Guard的范围核对及CP5后续评估输入;不因表格本身扩大CP1代码白名单。
P3-2 PF缓冲/触发差异 接受,每个业务域记录旧PF与KV的真实触发差异,CP4停用组件前逐项销账。
P3-3 Player编译旧错误 限定接受“历史错误需单列来源”的事实;不接受把有编译错误的Player构建记为通过。CP1离线/Editor可明确未验Player;正式入口交付前仍须解决或隔离该错误并获得0错误构建证据,不能用白名单冒充可运行。

源码新增阻断:审查报告未覆盖的正式启动链

  1. SubBoostrap.cs:91无条件AddComponent<PlayFabMgr>(),其Awake在无Guard时立即建立PF缓冲和40秒循环。UserService.KVLoad.cs:27–32的受控协调器配置却要求未唤醒的PlayFabMgr、HasLiveInstanceForKVLoad==false、CustomServerMgr.IsFreshForKVLoad。普通游戏启动后这些条件不成立;只在LoadAsync末尾释放Guard不能使正式路径可达。需要先明确按backend分流的组件创建/未启动证明,不许静默停用PF默认路径。
  2. UserService.KVLoad.cs:17–25把精确SaveBackend=kv拒为BackendNotEnabled;UserService.cs:189–203普通LoginCore先走PF登录,IsLogin与IsAuthorized也按PF状态计算。AggUserService.cs:68–75在渠道SDK登录前同样先拒KV。正式入口必须设计认证、正常Done/授权状态与PF回退边界;不是协调器加模式参数即可完成。
  3. CustomServerMgr.cs:49–73,126–129当前KV网络借用只允许验证,普通API请求在kvOnly抛错;PlayerKVLoginContext.cs:398–399更只准两条__kv_validation路由。正式KV游戏需要可用且会话隔离的业务API路由。不能把验证租约改名当正式传输,也不能恢复旧Cookie容器的无排水替换缺陷。
  4. PlayerKVGameplayBindings.cs:1整文件仅在UNITY_EDITOR && !SERVICE_HOST编译;LoginStage与正常服务注册仍按旧路径。移除编译门不等于正式对象全部注册且静止,须明确容器时序和缺失时拒绝。

上述是能否到达正式KV加载的前置条件,并非CP5架构优化。原ZCode报告判断“模式参数加30–50行可实现”未分析这些路径,不能作为编码授权。先修订完整方案,把P2五项与四类启动前置一起列入精确白名单/验收矩阵,再送原ZCode复审;不重复开发B01/B02,不在未批准范围试写。用户要求完成后的代码干净清晰:不得以测试专用旁路、同名PF转发壳或永远闲置的新组件掩盖这些缺口。