Files
90CNServer/server
hanfuit 2ca06e113a 修正客户端完整性校验:补齐 CRC 后处理脚本并回绑 90CN.dll 指纹
问题:上一提交把 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。
2026-11-05 10:41:47 +08:00
..

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