【开发计划】Azerothcore内核升级(2026年6月)

首页 论坛 交流分享 【开发计划】Azerothcore内核升级(2026年6月)

正在查看 2 个帖子:1-2 (共 2 个帖子)
  • 作者
    帖子
  • #5968
    洛加斯特
    管理员

    背景

    距离老克塔项目内核升级已经过去半年多(2025-11-09 ~ 2026-06-05 ,约 201 天),这导致当前项目的代码与 azerothecore 开源社区相差较大,一方面新的 bugfixfeature 没有合入当前项目,另外一方面影响老克塔对开源社区后续的贡献。
    因此,我们计划近期对整体服务器进行开发调整,主要内容有:

    • 升级内核至社区6月份的版本
    • 升级服务器的部署架构,改为docker方式部署,提升后续cicd的迭代效率

    一、社区更新概览

    按类型统计

    类型 数量 占比 说明
    fix 1115 58% Bug修复
    chore 630 32% 日常维护/数据库导入
    feat 83 4% 新功能
    refactor 41 2% 代码重构
    other/docs 53 2% 其他/文档

    按领域统计 (Top 15)

    领域 提交数 主要类型
    DB 607 混合
    DB/SAI 112 混合
    Core/Spells 107 混合
    DB/Creature 83 混合
    General 56 混合
    DB/Gameobject 47 混合
    DB/Loot 40 混合
    DB/Quest 36 混合
    Core/Scripts 35 混合
    Core/Movement 33 混合
    Scripts/Commands 22 混合
    DB/Conditions 22 混合
    Scripts/Naxxramas 22 混合
    Core/Unit 21 混合
    Core/Player 19 混合

    二、新增功能 (Feat)

    本周期上游共新增 83 项功能,主要聚焦于 GM命令扩展、脚本Hook、战场系统和配置灵活性。

    2.1 GM命令扩展

    日期 功能描述
    2026-05-31 战场命令省略ID时默认使用冬握湖
    2026-05-24 新增 .pet rename 宠物重命名命令
    2026-05-14 新增 respawn guid/entry 命令并扩展 list respawn
    2026-05-10 角色删除列表显示等级,按最近删除排序
    2026-05-05 解析金币字符串并验证 sendmoney 命令参数
    2026-05-03 新增 .pet list.pet delete 宠物管理命令
    2026-03-28 允许从控制台为离线玩家添加成就
    2026-03-26 新增 .mail list.mail return 邮件管理命令
    2026-03-24 新增自动广播管理命令
    2026-03-24 新增调试阵营转换命令
    2026-03-24 新增 .debug loot 调试掉落命令
    2026-03-21 pinfo 命令显示在线会话时长
    2026-03-09 无目标时 .npc info 支持通过GUID查询
    2026-03-03 .reset all 新增荣誉点和竞技场点数重置
    2026-02-26 新增 .spellinfo 法术信息查询命令及子命令

    2.2 脚本系统Hook扩展

    日期 Hook名称 说明
    2026-05-24 Player SetSkill Hook 玩家技能变更时触发
    2026-05-17 OnPlayerQuestAccept 玩家接受任务时触发
    2026-05-17 OnBattlefieldPlayerKill 战场击杀玩家时触发
    2026-05-07 OnBattlefieldWarEnd 战场战争结束时触发
    2026-04-24 OnPlayerBeforeGetLevelForXPGain 获取经验前计算等级时触发
    2026-03-29 OnPlayerLearnTaxiNode 学习飞行点时触发
    2026-03-17 OnPlayerCanLearnTalent 判断能否学习天赋时触发
    2026-03-01 Battlefield Scripting Hooks 战场脚本化Hook及API
    2026-02-15 BG and Arena Hooks 战场和竞技场系统Hook
    2026-02-15 Reputation Price Discount 声望折扣计算Hook
    2025-12-27 Player Unequip Hook 玩家卸下装备时触发

    2.3 战场/冬握湖系统增强

    日期 功能描述
    2026-05-31 战场命令省略ID时默认使用冬握湖
    2026-05-29 双方阵营可选精华Buff
    2026-05-28 战争中登出/重连的宽限期
    2026-05-27 光环驱动的复活队列
    2026-05-26 跳过GM的战争邀请
    2026-05-24 PvP播报可选退出标志
    2026-05-24 宝库战前踢人开关
    2026-05-17 战场击杀玩家脚本Hook
    2026-05-07 战场战争结束脚本Hook
    2026-03-02 战场邀请玩家参战前置Hook
    2026-03-01 战场脚本化Hook及API

    2.4 其他重要新功能

    日期 功能描述
    2026-06-03 新增"服务器第一!"种族限制配置
    2026-06-02 发布 ACDB 16.0.0 数据库大版本
    2026-06-01 新增聊天过滤,使用 Aho-Corasick 算法匹配
    2026-05-24 VSCode Copilot 提交信息生成指南
    2026-05-22 新增 SmartAI 动作 SMART_ACTION_INC_DATA (242)
    2026-05-19 背包满时邮件发送Roll到的物品
    2026-05-17 调试命令RBAC拆分为三级权限
    2026-05-10 新增 ChatLog.Enable 日志配置
    2026-05-10 复活耐久损失百分比可配置
    2026-05-01 引入基于角色的访问控制 (RBAC)
    2026-04-24 新增条件 Unit_In_Combat
    2026-04-23 OnNetworkStart 传递 IoContext
    2026-04-15 OnPlayerResurrect 允许修改虚弱状态
    2026-04-12 对象可见性条件增强
    2026-04-12 从 TrinityCore 移植动态刷新系统

    三、核心重构 (Refactor)

    本周期共 41 项重构,主要目的是代码现代化、性能优化和架构改进。

    3.1 关键重构

    日期 重构内容
    2026-03-18 从 TrinityCore 移植堆威胁系统
    2026-02-18 QAston 触发系统 (proc system)
    2026-01-15 从 TrinityCore 移植网络层优化

    3.2 脚本现代化

    日期 重构内容
    2026-06-03 脚本注册元数据集中管理
    2026-04-11 紫罗兰监狱副本脚本现代化
    2026-03-28 诺森德Gossip处理器迁移至数据库
    2026-03-28 外域Gossip处理器迁移至数据库
    2026-03-27 卡利姆多Gossip处理器迁移至数据库
    2026-03-25 奥杜尔使用 DoorData、持久化数据和代码规范
    2026-03-23 NPC Maredis Firestar 迁移至DB Gossip
    2026-03-22 移除冗余的调度器 SetValidator 调用
    2026-03-22 黑石山脚本转换为注册宏
    2026-03-22 灵魂熔炉Boss使用 BossAI 现代化

    四、关键Bug修复

    4.1 核心系统修复

    法术系统 (103项)

    • 阿克蒙德的末日烈焰不应受火焰抗性影响
    • 阻止圣光审判/智慧审判触发施法者的治疗饰品
    • 治疗加成百分比正确应用于迅捷治愈
    • 快乐值恢复不再产生威胁值
    • 修复任务11893的图腾归属判定
    • 拆卸不再移除依赖护盾的光环
    • 无 spell_bonus_data 的 DmgClass NONE 不享受法强加成
    • 修复骨盾双重消耗问题

    移动系统 (29项)

    • 防止Gossip暂停时错误的 MovementInform
    • 防止飞行点登录时PvP标志和倒退移动
    • 恢复 JustExitedCombat 以修复路径点恢复
    • 施法中断后恢复路径点移动
    • 修复 WaypointMovementGenerator 的 use-after-free
    • PathEndReached 之前触发 WaypointReached
    • MovementInform 传递路径点ID
    • 追逐样条结束时清除 CanNotReachTarget

    玩家系统 (16项)

    • 修正坠落伤害公式数值
    • 近战连锁范围增至10码
    • GM状态恢复时保留额外标志
    • 专精切换时重新检查变形加成光环
    • CanSeeSpellClickOn 需要法术点击条目
    • 对象可见性条件不应用于GM
    • 修复战斗结束后药水冷却不递减
    • 修复技能奖励法术学习的ID乱序处理

    单位系统 (20项)

    • 防止 IsImmunedToSpell 中的自我免疫
    • 飞行坐骑下马时重新计算跑步速度
    • 圣化之怒计算 SPELL_AURA_MOD_IGNORE_TARGET_RESIST
    • 精神控制后清除无效战斗引用
    • 防止生物在其他单位威胁列表上时脱战
    • 跳过玩家拥有生物的脱战光环移除
    • 混合法术的部分免疫
    • 改进载具退出安全检查及回退逻辑

    战斗系统 (11项)

    • 阶段切换时清除悬空的当前目标,防止崩溃
    • 宠物召回后训练假人卡住战斗
    • 安全的 StopAttackFaction 和恢复护送脱战
    • NullCreatureAI 禁用战斗仅对触发器生效
    • 嘲讽光环更新后立即重新选择目标
    • 重新启用训练假人的战斗
    • 防止 NullCreatureAI 生物进入战斗
    • 恢复宠物/主人的战斗传播

    AI系统 (4项)

    • 保持魅惑生物由魅惑者设置的目标
    • 防止 ScriptedEscortAI 中 uint32 下溢
    • 防止守卫在主人战斗交互时切换目标
    • 修复 TempSummon 消失时 OnSpellFailed 崩溃

    脚本系统 (28项)

    • 奥特兰克山谷 – 冰血塔修复
    • 修复DK石像鬼控制后未恢复攻击
    • 使用 DespawnOrUnsummon 重生参数
    • 修复锋鳞遭遇战未启动
    • 紫罗兰监狱使用 DoAction 并将Gossip迁移至DB
    • 修复瓦莉丝瑞雅·梦行者遭遇战及 JustExitedCombat 默认行为
    • 修复威胁系统移植后的多个ICC遭遇战回退
    • 修复任务 Avruu’s Orb 中 Aeranas 的循环重置

    战场系统 (9项)

    • BfCapturePoint::ActivePlayers 合并为单一集合
    • 阻止战场团队中的邀请和踢出
    • 进入时预清除陈旧追踪数据
    • 拒绝过期的战争邀请
    • 限制冬握湖圣物室踢人仅在战时
    • "掌握核心"仅对进攻方生效
    • OnBattlefieldPlayerLeaveZone 在 HasPlayer 守卫前触发
    • 修复陈旧队列/邀请条目和错误阵营踢人

    随机地下城 (5项)

    • 按职责排序LFG提案中的玩家
    • 防止通过战利品Roll的RDF防踢漏洞
    • 预制组不再应用好运增益
    • LFG队列不包含禁用地图
    • 随机地下城查找器忽略英雄副本锁定

    纳克萨玛斯 (22项)

    • 帕奇维克仇恨打击目标选择修复
    • 塔迪乌斯激活时重置威胁
    • 四骑士宝箱重生计时器设为7天
    • 修复四骑士宝箱消失
    • 修复不朽者/永恒者成就结算
    • 塔迪乌斯施放闪电球不应…
    • 比格沃斯先生与小动物零食互动
    • 萨菲隆飞行阶段动画

    奥杜尔 (10项)

    • 科隆加恩眼棱表情仅对当前玩家可见
    • 修复米米尔隆 ACU 在磁核吸附时无敌
    • 击败后在观测环刷新守护者
    • 布鲁迪尔在过载时无敌(若非最后Boss)
    • 从TC移植米米尔隆磁核处理
    • 烈焰巨兽追击无目标时进入脱战
    • 修复锋鳞空中行走动画
    • 修复Boss击杀后传送器未激活

    诺森德 (18项)

    • 更新德拉肯斯莱德始祖龙载具逻辑
    • 克尔苏加德虚空爆裂现在可导致不朽失败
    • 修复芙蕾雅路径脚本的控制台错误
    • 德拉肯斯莱德可靠的乘客安装
    • 萨塔里奥周期性呼救
    • 战前重置帕雷霍夫威胁
    • 加速哈多诺克斯移动事件
    • 防止瓦哈拉斯之战·基尔里维夫软锁

    五、崩溃修复

    本周期共修复 16 处可能导致服务器崩溃的问题:

    • 2026-05-29 阶段切换时清除悬空的当前目标
    • 2026-05-27 深水领主卡拉瑟雷斯崩溃
    • 2026-05-18 控制台使用 GetModuleString() 时崩溃
    • 2026-04-13 阻止安其拉神殿 Master’s Eye 重生崩溃
    • 2026-04-13 修复交易日志中的 use-after-free 崩溃
    • 2026-04-05 修复任务 "恐怖圣物" 无限循环服务器崩溃
    • 2026-03-16 解析无效IP时防止崩溃
    • 2026-03-08 修复 TempSummon 消失时 OnSpellFailed 崩溃
    • 2026-03-05 防止 Warden 析构函数和对象可见性中的崩溃和未定义行为
    • 2026-03-02 修复延迟法术修正清理中的迭代器失效崩溃
    • 2026-02-24 修复 SetSpellModTakingSpell 重入调用断言
    • 2026-02-24 恢复 SetSpellModTakingSpell 中的断言
    • 2026-01-29 修复对骑载具玩家使用精神控制时崩溃
    • 2026-01-15 修复阿努布雷坎随从生成崩溃
    • 2026-01-09 FlightPathMovementGenerator 崩溃
    • 2025-11-17 更新崩溃问题模板,新增日志提交指南

    六、数据库更新

    • ACDB 16.0.0 (2026-06-02): 数据库大版本更新
    • ACDB 15.0.0 (2026-03-16): 数据库大版本更新
    • ACDB 14.0.0 (2025-12-29): 数据库大版本更新
    • 大量数据库日常修复:生物刷新、任务、掉落、路径点、智能AI等
    #5975
    kakaxiya
    参与者

    老G记得顺手修一下泰罗卡召唤任务和刀锋山的恶魔无双任务

正在查看 2 个帖子:1-2 (共 2 个帖子)
  • 哎呀,回复话题必需登录。