保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
32 lines
4.8 KiB
Markdown
32 lines
4.8 KiB
Markdown
# M2 合批预审主会话裁决
|
||
|
||
日期:2026-09-29。当前动作是吸收预审并补全同一合批方案,不恢复 DP1 单独实施轮。用户裁定的 KV 替代 PF 玩家数据读写、新 PlayerId、原游戏服流程、客户端不碰服务器、单编码端及减少审核次数均保持。
|
||
|
||
## 证据与权限
|
||
|
||
- 最新输入:[合批工作稿独立预审意见](M2-合批工作稿独立预审意见-2026-09-29.md),SHA256 `8C8F1BD7F703260BB764568DB13F4FB3F94C86D8B62A3A3099816FFFA752F879`。原文明确“这不是 hash 门控的正式前审”;没有绑定工作稿及代码的受审清单,不能事后生成 hash 冒充已审基线。
|
||
- 补充输入:[DP1 独立方案审查](M2-DP1独立方案审查.md),SHA256 `8C577A6D81ADAEC4E175F186EA2E4D1674588F2C47269C8B38A6EBAFD16E1ACF`。主会话复算旧 DP1 清单 **18/18 长度与 SHA256 一致**,清单 SHA256 `858C43EF26361EB348D4CE36C7F3AFC8AF4DAF85E754A45F3D960A2D078145FA`。这证明旧方案基线未漂移,不代表最新合批方案已完整评审。
|
||
- 项目 `AGENTS.md` 要求“修改代码前完成相关方案的完整评审,记录裁决和开发边界”。本裁决不批准生产或测试代码修改;开发侧继续完善可执行方案和白名单,不让用户重复决定既定迁移目的。
|
||
|
||
## 逐项裁决
|
||
|
||
| 输入 | 裁决 | 同批落地要求 |
|
||
|---|---|---|
|
||
| 预审 §1 事实核验 | 接受 | 新 ID、KV 存储与普通游戏服请求沿用原流程已定;不再追索所有旧接口的完整文档。 |
|
||
| P2-A 地区码缺失导致地区榜与全局榜同名 | 接受缺陷事实 | 地区来源为 KV 资料中的 `ContinentCode`;缺失与非法值不能拼成全局榜名。保留地区榜目标;来源未补齐时明确缺少地区资料,不伪造地区或悄悄查询全局榜。跨玩家聚合读取交由服务器开发侧,本 Agent 只记录字段需求。 |
|
||
| P2-B / DP1-R1 宽 IUserService 与模块构造 | 接受 DI 事实,覆盖旧恒空身份建议 | 新 KV 类实现共用用户契约;就绪后公开新 ID 和真实授权状态。现有 `EntityKey` 类型泄漏须明确处理,不能一边实现该属性一边声称没有 SDK 类型依赖。 |
|
||
| P2-B / DP1-R2 测试迁移 | 接受 | ServiceHost Program/Stubs/csproj 一起纳入候选白名单;formal 用例转向新 KV 类。保留 PF、AGG、kv-loop 和受控加载回归,明确三个签名耦合文件的核验责任。 |
|
||
| P2-B / DP1-R3 登录退出中立入口 | 选择窄生命周期契约 | `IUserService.CustomId` 增加 setter;登录不再下转旧类赋值。31 模块 Reset/Replace/Discard 与登录退出状态分别采用有实际消费者的窄契约,具体成员见工作稿。 |
|
||
| P2-C 身份发布必须早于场景切换 | 接受 | 在原 handle、当前 epoch、资料和普通请求租约就绪后同步发布身份;登录完成和场景切换入口都检查同一服务的有效状态。FishingStage 5 秒软等待不能作为 KV 成功凭据。401/退出先失效身份再等待关闭。 |
|
||
| P3-D 短 ID 默认名与 Survey 抽样 | 接受并定算法 | 默认名只截取至 `min(5, id.Length)`;KV Survey 按规范十进制新 ID 的末位 `%10`,对应现有 TailNumberList;PF 保持旧十六进制规则。不得误写为 `%16` 或随机/进程 hash。 |
|
||
| P3-E 重读 SaveBackend | 选择正式 KV 仅使用冻结选择 | 新 KV 类不再读取配置重新选择后端。已冻结选择、准入名单、固定地址仍由现有 RuntimeSelection 决定;保留 PF/kv-loop 既有兼容入口,不额外引入开关。 |
|
||
| DP1-P3-1 时间/地区/语言默认值 | 旧建议不用于首场景 | AccountDescriptor 已有 CreateTimeUtc/ServerTimeUtc;用户资料从 KV 读。未知历史登录时间与地区不能伪装为已知值,消费者需显式处理缺失。 |
|
||
| DP1-P3-2 Duel EntityKey | 接受并登记实际调用 | Duel 仍有三个直接 EntityKey 成员访问(两段业务)。纳入共用契约去 PF 类型与 Duel PF 能力调用的完整设计;KV 不制造 EntityKey。 |
|
||
| DP1-P3-3 编辑器认证探针 | 接受,无修改 | S101LoginWindow 不受本批用户服务注册替换影响。 |
|
||
|
||
## 本次补全与剩余开发责任
|
||
|
||
已把 7 项预审输入写入[合批工作稿](M2-合批实施方案工作稿-2026-09-29.md)的实现决定、身份来源、时序、候选文件与验收矩阵。仍须完成同一方案中的奖励写入边界、首场景动态存档链及跨账号资料消费者处理,才可称完整可编码方案;不把预审的“方向通过”扩张成这些未审实现的许可。
|
||
|
||
没有新增用户产品问题。服务器依赖只集中记录在[同一沟通文档](M2-客户端致服务端线上合同集中问题单-2026-09-29.md),不发送消息、不访问服务器源码、不操作正式账号。后续仍是一份完整合批方案、一份受审基线、一次正式前审,批准范围内连续实施。
|