游戏卡顿白皮书 › 只有部分人遇到的问题
客户端版本/数据不一致 Client version / data table mismatch
原因 ID pt-version · 主责 研发团队·客户端开发 · 配合 研发团队·服务器开发
在含图示和实验的完整版中打开此卡片 →
第二个客户端来自另一个安装目录,或补丁没打完时,它不认识服务器发来的新 NPC ID,就会悄悄忽略。
起因 装在其他文件夹里的客户端,或在打补丁过程中启动的客户端 → 结果 收到不认识的 NPC ID、模型 ID 就跳过 → 画面表现 只有新加的 NPC 在一边看不到
- 症状
- 隐身/幽灵实体
- 因素
- 丢包
- 谁会遇到
- 双开时只有一个客户端
- 何时出现
- 刚登录/维护结束后
- 负责方
- 主责 研发团队·客户端开发 · 配合 研发团队·服务器开发
- 研发团队要做的事
- 客户端:连接时发送数据版本,收到不认识的 ID 时记日志并显示替代内容。服务器:连接时检查数据版本,不一致就拒绝连接并提示更新。
- 监控图上
- 仅部分偏高 · 各客户端版本收到未知 ID 的次数
- 查看位置
- 对比两个客户端的可执行文件路径,以及画面、日志中显示的客户端版本和数据版本。在游戏侧记录连接时发送的数据版本,以及收到不认识的 NPC、模型 ID 而跳过的次数
- 确认依据
- 两个客户端的版本或安装目录不同,看不到的 NPC 是最近版本更新新增的,在已打完补丁的客户端里能看到
- 排除依据
- 版本和安装目录都相同,却仍只有一边没有,看“分线/副本/位面不同”或加载、传递方面的原因
- 确认手段
- 需在玩家侧环境确认
出处
- NetworkConfig class (Netcode for GameObjects 2.5) Unity
ProtocolVersion 不同则互不通信,用 ForceSamePrefabs 在连接时检查预制体(Prefab)列表的差异
相关原因
同一层:只有部分人遇到的问题
其他层中同样导致“隐身/幽灵实体”的原因
查看含图示和实验的原卡片