[Parity][net-world][S3][F] 遗留的本地回环适配分支和缺省 id #579

Closed
opened 2026-10-02 11:42:41 +00:00 by troytt · 0 comments
Owner

1.13c 客户端保真度审计立项(基准快照:7bd1090 / main @ 77a20c7)

证据标记说明:V-data = 1.13c MPQ 数据表 (.txt / animdata.d2 / .tbl / pal.pl2);V-src = D2MOO 逆向源码;V-bin = 1.13c DLL 反汇编;K = 1.13c 公认行为。

来源审计项:net-world#20 — [S3][F] F20 遗留的本地回环适配分支和缺省 id

  • 位置:client-world.ts:1595-1691(ActDataLoaded 的 areaId ?? 1、PlayerAssign/EntitySpawn、Damage 直接设 mode 17/12 跳过 DT 等);online-session.ts:1184-1206(PlayerKill → CorpseAssign 缺省 self;SkillCast 缺目标时用 {0,0};UnitMove 的 id ?? 1)
  • 原版:真实 D2GS 不会产生这些事件;只有 src/server/world/server-world.ts(LocalLoopbackAdapter)会产生(V-src 本仓库)。
  • 影响:离线回环模式下的死亡、施法、地图行为与在线路径不同;缺省 id 会把事件挂到错误的单位上。
  • 建议:回环服务器改为产出与 netproto 相同的事件,删掉这些分支。
  • 已有 issue:—(与 #526 前后端边界相关,但本条讲的是行为差异)
> **1.13c 客户端保真度审计立项**(基准快照:`7bd1090` / `main @ 77a20c7`) > 证据标记说明:`V-data` = 1.13c MPQ 数据表 (`.txt` / `animdata.d2` / `.tbl` / `pal.pl2`);`V-src` = D2MOO 逆向源码;`V-bin` = 1.13c DLL 反汇编;`K` = 1.13c 公认行为。 ### 来源审计项:`net-world#20` — [S3][F] F20 遗留的本地回环适配分支和缺省 id - 位置:`client-world.ts:1595-1691`(`ActDataLoaded` 的 `areaId ?? 1`、`PlayerAssign`/`EntitySpawn`、`Damage` 直接设 mode 17/12 跳过 DT 等);`online-session.ts:1184-1206`(`PlayerKill` → CorpseAssign 缺省 self;`SkillCast` 缺目标时用 `{0,0}`;`UnitMove` 的 `id ?? 1`) - 原版:真实 D2GS 不会产生这些事件;只有 `src/server/world/server-world.ts`(LocalLoopbackAdapter)会产生(V-src 本仓库)。 - 影响:离线回环模式下的死亡、施法、地图行为与在线路径不同;缺省 id 会把事件挂到错误的单位上。 - 建议:回环服务器改为产出与 netproto 相同的事件,删掉这些分支。 - 已有 issue:—(与 #526 前后端边界相关,但本条讲的是行为差异)
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#579
No description provided.