跳到主要内容

3.8.2~3.8.3 Server Changelog

2026-10-12​

  • 合并来自 fix/cve-2026-93749-source-map-js 的合并请求 #196 (d81df02, 雅铭网络工作室)

    fix(deps): 升级 source-map-js 至 1.2.2 修复 DoS 漏洞 PR-URL: #196

  • fix: 升级 source-map-js 至 1.2.2 修复 DoS 漏洞 (CVE-2026-93749) (7368dc5, CodeBuddy)

    indexed source map 的 section offset line 未做校验,极大 offset 值会长时间阻塞 同步事件循环,导致拒绝服务。1.2.2 修复该问题。 仅更新 yarn.lock 锁定版本,package.json 中的 ^1.2.1 范围已可满足 1.2.2, 未做降级。

  • 合并来自 devlop 的合并请求 #194 (3b1bd3c, 雅铭网络工作室)

    chore: 移除未使用的 DES 头文件 PR-URL: #194

  • chore: 移除未使用的 DES 头文件 (2579201, 雅铭网络工作室)
  • refactor: 将 md5ex 的 size 参数由 size_t 改为 unsigned int (c44ca24, 雅铭网络工作室)

2026-10-11​

  • 合并来自 devlop 的合并请求 #193 (5a9103a, 雅铭网络工作室)

    refactor(EncDec): 将 md5 长度参数改为 size_t PR-URL: #193

  • refactor: 将 md5 长度参数改为 size_t (06971f8, 雅铭网络工作室)
  • 合并来自 devlop 的合并请求 #192 (124c43e, 雅铭网络工作室)

    添加地图风格切换实装 PR-URL: #192

  • 添加地图风格切换实装 (5de227d, 蠢萌范二的人生)

2026-10-10​

  • 合并来自 devlop 的合并请求 #191 (545a147, 雅铭网络工作室)

    refactor(EncDec): 将 md5ex 的 size 参数由 size_t 改为 unsigned int PR-URL: #191

  • refactor: 将 md5ex 的 size 参数由 size_t 改为 unsigned int (f125a07, 雅铭网络工作室)

2026-10-01​

  • 合并来自 devlop 的合并请求 #190 (a96a540, 雅铭网络工作室)

    feat(tools): 添加 mps2xml 转换脚本 PR-URL: #190

  • feat: 添加 mps2xml 转换脚本 (de95f76, 雅铭网络工作室)

2026-09-30​

  • 合并来自 fix/captcha-jpeg-baseline 的合并请求 #189 (c1da972, 雅铭网络工作室)

    fix(captcha): 图形验证码改为标准基线 JPEG(客户端 libjpeg-turbo 可直接解码) PR-URL: #189

  • style: 注释行拆分, 避免与上一行注释粘连 (47c2e93, 蠢萌范二的人生)
  • fix: render 图形验证码为标准基线 JPEG, 客户端 libjpeg-turbo 可直接解码 (f807cae, 蠢萌范二的人生)

    原 base/zJpeg.cpp 的 encodeJpeg 自创了非 JPEG 的熵编码(2bit 伪 Huffman)、只编 Y 分量、 不做 4:2:0 MCU 交织, 导致任何标准解码器(客户端 libjpeg-turbo)报 bad Huffman code/花屏。 改为标准基线 JPEG: SOF/SOS/DHT 与熵编码一致, 所有分量用标准亮度 DC/AC 表(table 0), 正确的 zigzag-to-natural 映射、DC 差值类别码+幅值位、AC run/size+幅值位、EOB 与 0xFF 字节填充。 不引入任何新依赖。60 个随机种子 + libjpeg-turbo 解码全部 0 warning。

  • 合并来自 auto/captcha-jpeg-segment-88e2 的合并请求 #188 (51c348c, 雅铭网络工作室)

    fix(zJpeg): 修正验证码JPEG的APP0与DHT段长度 PR-URL: #188

  • fix: 修正验证码JPEG的APP0与DHT段长度 (5b70f39, 蠢萌范二的人生)

2026-09-23​

  • 合并来自 devlop 的合并请求 #186 (83f6045, 雅铭网络工作室)

    fix(script): 修复缓冲区溢出及Lua虚拟机泄漏 PR-URL: #186

  • chore: 将调试日志限制在 DEBUG 构建中 (96d33b9, 雅铭网络工作室)
  • docs: 为 luabind 脚本接口补全中文注释 (2d36ffd, 雅铭网络工作室)
  • fix: 修复缓冲区溢出及Lua虚拟机泄漏 (790b1f3, 雅铭网络工作室)
    • getNpcMenu 增加缓冲区大小参数并安全截断,避免 strcpy 越界
    • show_dialog/show_obj_dialog 扩大对话框缓冲区并安全拷贝
    • LuaVM 构造检查 lua_open 失败,execute 校验空指针
    • ScriptingSystemLua 析构及 reloadVM 释放 LuaVM,修复内存泄漏
    • getVM 增加 index 边界检查
    • 为 Lua 绑定补充默认参数包装重载函数
  • feat: 升级 Lua 至 5.1.5 并统一脚本接口命名 (8e0b40c, 雅铭网络工作室)
    • 将 Lua 依赖从 5.0.3 升级至 5.1.5,移除旧版本兼容分支
    • 为脚本绑定接口添加 package.path 设置,统一脚本加载路径
    • 将 luabind 绑定的中文接口名统一改为英文命名
    • 新增 sys_player_list 和 log2file 脚本接口
    • 更新 quest 脚本以适配新的英文接口命名
  • 合并来自 devlop 的合并请求 #185 (9c70f7b, 雅铭网络工作室)

    build: 移除 _ALL_SUPER_GM 宏及相关调试代码 PR-URL: #185

  • build: 移除 _ALL_SUPER_GM 宏及相关调试代码 (9ffba0d, 雅铭网络工作室)

    移除构建选项中的 _ALL_SUPER_GM 定义,并清理代码中所有依赖该宏的条件编译和调试日志,同时简化版本字符串生成逻辑。

2026-09-22​

  • fix: 完善套接字初始化和发送超时处理 (d4f5240, 雅铭网络工作室)
    • 将 zSocket 构造中的 assert 改为运行时检查,避免 Release 下未初始化导致崩溃
    • 修复 sendRawDataIM 与 sync 在发送超时或 EAGAIN 时未推进偏移导致的死循环和重发问题
    • 将 zMTCPServer/zTCPServer 的 epoll_ctl 断言改为错误检查,注册失败时正确回滚
    • 在 verify 状态切换前补充 ListeningSend,并在 poll 分支补注册 POLLOUT 事件

2026-09-21​

  • 合并来自 devlop 的合并请求 #178 (800b86c, 雅铭网络工作室)

    ci: 优化并新增多架构构建验证 PR-URL: #178

  • ci: 优化并新增多架构构建验证 (cc63f0a, 雅铭网络工作室)
    • 修正缩进并移除冗余的构建缓存清理步骤
    • 新增 Centos 7 arm64 构建验证任务
    • 明确 Centos 7 amd64 任务名称

2026-09-18​

  • 合并来自 devlop 的合并请求 #177 (4656282, 雅铭网络工作室)

    chore: 将验证版本兜底版本号修正为与客户端一致的 20250713 PR-URL: #177

  • chore: 将验证版本兜底版本号修正为与客户端一致的 20250713 (067e8e1, 雅铭网络工作室)

2026-09-12​

  • 合并来自 devlop 的合并请求 #176 (5009ada, 雅铭网络工作室)

    build(Makefile): 修正 VERSION_STRING 空值判断 PR-URL: #176

  • build: 修正 VERSION_STRING 空值判断 (991b74f, 雅铭网络工作室)
  • build: 更新版本号至3.8.3并更新默认构建日期 (972627b, 雅铭网络工作室)