先把结论说死:把数据库别名HeroDB改名成MAXDB、把目录里HERO字样替换成MAX,这种做法没用,直接这么干只会让DBServer起不来或者物品全乱码。HERO换MAX是“引擎核心+数据库结构+脚本命令+网关配置”整套迁移,数据库只是其中一环,而且不是改名字,是做字段映射和结构转换。
一、先搞懂两件事:HeroDB是什么、MAX读的是什么
HERO引擎默认用DBC2000体系,BDEAdministrator里建别名HeroDB,物理路径指向D:\MirServer\Mud2\DB或Mir200\DB,里面放StdItems.DB、Monster.DB、Magic.DB、Hum.DB等PARADOX/DBC格式文件。
MAX引擎(MaxM2一类)同样大多继续用DBC体系,配置界面里那个选项往往还叫“HeroDBPath”,但它要的是“路径下的.DB文件内容”,不在乎父目录叫HeroDB还是MAXDB。所以:
-别名可以继续叫HeroDB,只要路径指对就行;
•也可以新建别名MaxDB,在MAX引擎控制器的DBServerSetup里把DatabaseName/HeroDBPath指向新别名路径;
-绝对不要在文本编辑器里打开.DB搜HERO替换成MAX,DBC是二进制结构,这么干直接报废。
二、正式转换步骤(按执行顺序)
1.全量备份
整份MirServer目录拷一份到别处,尤其Mud2\DB、Mir200\Envir、Mir200\Castle、Logs、DBServer配置。回滚就靠这份。
2.拿MAX引擎包替换核心文件
用MAX官方引擎控制器(GameCenter/BlueXControl)覆盖:M2Server.exe、DBServer.exe、LoginGate、SelGate、RunGate、LoginSrv、配套dll、!Setup.txt里引擎标识、引擎插件目录。
注意保留你原HERO版的Envir脚本、Map、WIL/WIX/PAK补丁,只换引擎程序不放回旧M2,别整份覆盖把脚本也冲了。
3.数据库结构转换(重点,不是改名)
HERO的StdItems/Monster/Magic/Hum字段比MAX少,MAX多了特效ID、绑定类型、AI仇恨范围、技能释放概率、天赋点等扩展字段。做法二选一:
-用MAX官方给的“HERO→MAX转换工具”批量导,自动做字段映射(Idx→ItemID、AC/DC倍率修正、Reserved类型转换等);
•手动用DBC2000+MAX的DBTool打开原HeroDB下各表,按MAX说明书新增/改名字段,再用DBVerify校验长度。
常见要改的:
•物品表:Durability→MaxDurability,新增CurDurability、EffectID、BindType、WeightFix;
•怪物表:攻击模式单值改复合值,新增HateRange、SkillProb、TerrainAdapt;
-人物表:Profession1/2/3改warrior/wizard/taoist字符串,新增TalentPoints;
•数值单位核对:HERO的DC=10可能对应MAX的10或1000(厘单位),不核对攻击力直接膨胀百倍。
4.BDE/别名重新指向
打开BDEAdministrator→别名HeroDB(或新建MaxDB)→PATH指向转换后的DB目录→Ctrl+S→重启机。
进MAX引擎控制器→配置向导→DBServerSetup→DatabaseType选DBC(HeroDB)→HeroDBPath填物理路径→保存。
5.脚本命令重构(Envir全目录搜替)
HERO与MAX脚本不通用,启动后M2报脚本错误的根因在这。常见替换:
•SendCenterMsg→SENDTIMEMSG
•CheckNationCredit/ChangeNationCredit→CHECKGLORYPOINT/GLORYCHANGE
-CheckGroupCount→GETGROUPCOUNT
•CheckRangeMonCountEx→CheckMapMobCount
•CheckSkill→CheckMagicName
-TakeEx→Takew,AddTextList→ADDLINELIST
•@@变量名→@变量名
•文本存储格式XX:YY:ZZ→XXYY
合击、连击、经络、独家活动NPC基本要按MAX说明书重写调用段。
6.网关与列表配置对齐
MAX默认端口体系与HERO基本一致(7000/7100/7200/7400),但部分MAX版RunGate加密协议、握手包格式变了,必须拿MAX配套登录器配置器重新生成登录器,列表文件格式、网关密码、微端端口按MAX控制器里写的填,老HERO登录器直接连会卡选区。
7.启动顺序与冒烟测试
DBServer→LoginSrv→SelGate→RunGate→M2Server,看M2黑框日志有无“加载物品数据库失败/字段不存在/脚本第X行错误”。建新号穿布衣木剑,攻击/血量/防御和原HERO版新手一致才算数值没崩,再测英雄召唤、连击、合击、地图传送、BOSS掉落。
三、激战版本额外要处理的坑
•激战版大量自定义怪物AI、技能特效、真彩地图,MAX里要补Monster表AI字段、SkillExp.txt重映射特效ID、Map索引重制;
-NPC资源若用npc3.wil高阶帧,MAX可能要求迁到npc4.wil起始编号1500,用WIL编辑器调帧;
•原HERO的变量如<$HUMAN(XXX)>对应MAX字段若不存在,要在Hum表加字段并改脚本引用;
•属性膨胀/缩水基本都是DC/AC/HP/经验单位倍率没对齐,先小号裸身校验再放玩家数据。
四、一句话定性
HERO改MAX:“改HeroDB名字”只是表象,真实动作是备份→换引擎核心→用转换工具做DBC字段映射→BDE别名重指→Envir脚本全量替换命令→配套登录器重写→冒烟测试。只改目录名和别名字符串,M2必报数据库结构错误起不来。
一、先搞懂两件事:HeroDB是什么、MAX读的是什么
HERO引擎默认用DBC2000体系,BDEAdministrator里建别名HeroDB,物理路径指向D:\MirServer\Mud2\DB或Mir200\DB,里面放StdItems.DB、Monster.DB、Magic.DB、Hum.DB等PARADOX/DBC格式文件。
MAX引擎(MaxM2一类)同样大多继续用DBC体系,配置界面里那个选项往往还叫“HeroDBPath”,但它要的是“路径下的.DB文件内容”,不在乎父目录叫HeroDB还是MAXDB。所以:
-别名可以继续叫HeroDB,只要路径指对就行;
•也可以新建别名MaxDB,在MAX引擎控制器的DBServerSetup里把DatabaseName/HeroDBPath指向新别名路径;
-绝对不要在文本编辑器里打开.DB搜HERO替换成MAX,DBC是二进制结构,这么干直接报废。
二、正式转换步骤(按执行顺序)
1.全量备份
整份MirServer目录拷一份到别处,尤其Mud2\DB、Mir200\Envir、Mir200\Castle、Logs、DBServer配置。回滚就靠这份。
2.拿MAX引擎包替换核心文件
用MAX官方引擎控制器(GameCenter/BlueXControl)覆盖:M2Server.exe、DBServer.exe、LoginGate、SelGate、RunGate、LoginSrv、配套dll、!Setup.txt里引擎标识、引擎插件目录。
注意保留你原HERO版的Envir脚本、Map、WIL/WIX/PAK补丁,只换引擎程序不放回旧M2,别整份覆盖把脚本也冲了。
3.数据库结构转换(重点,不是改名)
HERO的StdItems/Monster/Magic/Hum字段比MAX少,MAX多了特效ID、绑定类型、AI仇恨范围、技能释放概率、天赋点等扩展字段。做法二选一:
-用MAX官方给的“HERO→MAX转换工具”批量导,自动做字段映射(Idx→ItemID、AC/DC倍率修正、Reserved类型转换等);
•手动用DBC2000+MAX的DBTool打开原HeroDB下各表,按MAX说明书新增/改名字段,再用DBVerify校验长度。
常见要改的:
•物品表:Durability→MaxDurability,新增CurDurability、EffectID、BindType、WeightFix;
•怪物表:攻击模式单值改复合值,新增HateRange、SkillProb、TerrainAdapt;
-人物表:Profession1/2/3改warrior/wizard/taoist字符串,新增TalentPoints;
•数值单位核对:HERO的DC=10可能对应MAX的10或1000(厘单位),不核对攻击力直接膨胀百倍。
4.BDE/别名重新指向
打开BDEAdministrator→别名HeroDB(或新建MaxDB)→PATH指向转换后的DB目录→Ctrl+S→重启机。
进MAX引擎控制器→配置向导→DBServerSetup→DatabaseType选DBC(HeroDB)→HeroDBPath填物理路径→保存。
5.脚本命令重构(Envir全目录搜替)
HERO与MAX脚本不通用,启动后M2报脚本错误的根因在这。常见替换:
•SendCenterMsg→SENDTIMEMSG
•CheckNationCredit/ChangeNationCredit→CHECKGLORYPOINT/GLORYCHANGE
-CheckGroupCount→GETGROUPCOUNT
•CheckRangeMonCountEx→CheckMapMobCount
•CheckSkill→CheckMagicName
-TakeEx→Takew,AddTextList→ADDLINELIST
•@@变量名→@变量名
•文本存储格式XX:YY:ZZ→XXYY
合击、连击、经络、独家活动NPC基本要按MAX说明书重写调用段。
6.网关与列表配置对齐
MAX默认端口体系与HERO基本一致(7000/7100/7200/7400),但部分MAX版RunGate加密协议、握手包格式变了,必须拿MAX配套登录器配置器重新生成登录器,列表文件格式、网关密码、微端端口按MAX控制器里写的填,老HERO登录器直接连会卡选区。
7.启动顺序与冒烟测试
DBServer→LoginSrv→SelGate→RunGate→M2Server,看M2黑框日志有无“加载物品数据库失败/字段不存在/脚本第X行错误”。建新号穿布衣木剑,攻击/血量/防御和原HERO版新手一致才算数值没崩,再测英雄召唤、连击、合击、地图传送、BOSS掉落。
三、激战版本额外要处理的坑
•激战版大量自定义怪物AI、技能特效、真彩地图,MAX里要补Monster表AI字段、SkillExp.txt重映射特效ID、Map索引重制;
-NPC资源若用npc3.wil高阶帧,MAX可能要求迁到npc4.wil起始编号1500,用WIL编辑器调帧;
•原HERO的变量如<$HUMAN(XXX)>对应MAX字段若不存在,要在Hum表加字段并改脚本引用;
•属性膨胀/缩水基本都是DC/AC/HP/经验单位倍率没对齐,先小号裸身校验再放玩家数据。
四、一句话定性
HERO改MAX:“改HeroDB名字”只是表象,真实动作是备份→换引擎核心→用转换工具做DBC字段映射→BDE别名重指→Envir脚本全量替换命令→配套登录器重写→冒烟测试。只改目录名和别名字符串,M2必报数据库结构错误起不来。

