Files
秦凡东 c750f57a0e Fix: 运行中修改系统数据后客户端无法同步
问题:
服务器只在启动时把 datas/Database/System.db 读入 DbSystemFile / DbSystemFileHash,用于和客户端比对并下发。运行中通过后台或 GM 修改装备、物品等系统数据并保存后,磁盘文件已更新,但这两个内存缓存不会刷新,客户端登录时仍按“启动时的旧哈希”判断为已最新,导致一直同步不到更新,只有重启服务器才生效。

修复:
  - SEnvir 新增 DbSystemFileTime 与 RefreshDbSystemFileIfChanged(),按文件最后写入时间判断,文件变更时重新读取 DbSystemFile 并重算哈希;
  - SConnection.Process(C.CheckClientDb) 在比对哈希前调用该刷新,使后台保存后客户端下次登录即可检测到变化并下载新的 System.db。

Signed-off-by: 秦凡东 <shell_way@foxmail.com>
2026-09-19 13:25:07 +08:00
..
2026-09-11 22:08:53 +08:00