问题:上一提交把 boundDll 指纹改成 1230336/F6DDA534…,但配套的 90CN.dll 未交付到客户端目录,服务端启动即被 verifyClientArtifacts 拦下 (client dll: size mismatch: 1230848 != 1230336),日志表现为空壳。 本次改动: - 新增 client-patch/tools/patch_dll_crc.py,实现仓库中缺失的 DLL 自校验 槽位回填(magic 0xC0DEC0DE + offset + 全文件 CRC32,跳过自身 4 字节), 附带 verify 子命令可回读校验 - 新增 client-patch/tools/build_90cn.bat / .ps1,一键编译 + 打 CRC + 输出指纹 - client_build_id.go 指纹回绑到本次实际构建产物: 1215488 / 30E41FF583893E611E6975DF96246E1320B042F7B33A32503C987F211D1776F5 验证:重编 DNF90Server.exe 后裸跑,完整性校验通过,PVF 加载完成, dnfbridge 正常监听 :7001,game_ports=31,admin http 127.0.0.1:18111。
Go server source
This module is the minimal source closure needed to build and test the current DNF90 service.
Key locations:
cmd/server/dnf90: product entry.cmd/server/doctor: deployment preflight.cmd/server/control: native BAT-facing deployment controller.internal/app/dnf90: single composition root.internal/services/dnfbridge: current-client transport and session implementation.internal/modules/dnf: DNF domain modules.internal/services/logic/dnf: MySQL repository assembly.internal/platform: only framework packages reachable by the DNF90 build/tests.
Runtime assets and generated configs intentionally do not live in this module. Build from this directory:
go build -buildvcs=false -mod=readonly -trimpath -o ..\runtime\bin\DNF90Control.exe ./cmd/server/control
go build -buildvcs=false -mod=readonly -trimpath -o ..\runtime\bin\DNF90Server.exe ./cmd/server/dnf90
go build -buildvcs=false -mod=readonly -trimpath -o ..\runtime\bin\DNF90Doctor.exe ./cmd/server/doctor