传奇单机架设全链路疑难杂症处理DBC2000物品魔法报错267黑屏不开门端口冲突更新引擎注

来源: 作者: 点击:
服务端解压前把杀毒实时防护关掉,整个目录放到纯英文根目录,例如D:\MirServer,不要放桌面、不要带中文、不要带空格、不要放Program Files。很多所谓找不到DBServer、物品库魔法库加载错误,第一原因就是杀软把DBServer.exe、M2Server.exe、LoginGate.exe隔离,或者路径含中文导致BDE、网关、登录器解析失败。

老引擎使用DBC2000时,控制面板打开BDE Administrator,左侧Databases右键New,驱动选STANDARD,别名按服务端配置写;多数HERO、Blue老端用HeroDB,若dbsrc.ini、!Setup.txt、DBServer配置里写MirDB、LegendDB等其他名,就按那个名建,不要自己改名。右侧PATH精确到放数据库文件的文件夹,老端常见D:\MirServer\Mud2\DB,也有在Mir200\DB、DBServer\FDB,以StdItems.DB、Magic.DB实际位置为准。PATH末尾不带反斜杠,不含中文空格。LANGDRIVER有Chinese (PRC) ANSI就选,避免中文物品名乱码。改完Apply,关BDE时按提示保存;64位系统老引擎若只认32位BDE,就装32位DBC2000,别强行装64位增强版。

进PATH指向的DB目录,检查StdItems.DB物品库、Magic.DB技能魔法库、Monster.DB怪物库是否齐全,文件大小不能是0KB,不能只读,不能被NTFS压缩。老Paradox库还要看StdItems.idx、Magic.idx、Monster.idx等索引;缺索引会读取异常。文件0KB、乱码、被杀软删,就从同版本完整包重新解压DB目录覆盖,覆盖前在任务管理器结束M2Server、DBServer、LoginSrv、LoginGate、SelGate、RunGate,避免文件被锁。不同引擎数据库字段不一样,HERO老端StdItems列少,GOM/GEE/合击端列多,把老库硬塞新端、把新库硬塞老端都会报物品数据库错误、魔法数据库字段不匹配,必须用同版本库,或用引擎自带转换工具,不要手动跨引擎替换。

新GOM、GEE部分版本不按DBC2000走。GOM新64位可用Access,报“物品数据库加载失败 Code -100”通常缺Access Database Engine,装包内AccessDatabaseEngine_x64,控制器数据库设置指向MDB文件;GEE可用SQLite或单库如GEEM2.DB,GOM单库常见heroDB.MDB,控制器里选对应数据库类型,不要仍然建HeroDB走DBC。若老DBC库只有StdItems、Magic、Monster三个DB,而新包DB目录只有一个MDB/DB单文件,说明该端已换数据库模式,按控制器提示选Access或SQLite,不混用。

启动顺序严格执行。老端先DBServer,窗口显示数据库连接成功、物品库魔法库初始化无红字;再LoginSrv处理账号;再LoginGate登录网关、SelGate角色网关、RunGate游戏网关;最后M2Server加载地图、怪物、技能、NPC、脚本。用GameCenter一键启动也按这个依赖关系,不要跳过DBServer直接开M2,否则267、物品魔法双错、角色读不到都会出。所有黑窗别关,M2可最小化。任务管理器里若残留dbserver、m2、gate死进程,先全结束再起,避免端口和DB文件被锁。

单机IP全部写127.0.0.1。GameCenter配置向导、Mir200\!Setup.txt的ServerIP/ServerAddr、DBServer的ServerAddr、LoginSrv\!addrtable.txt、LoginGate/Config.ini、SelGate/Config.ini、RunGate/Gate.ini全部统一。端口按所用端默认,老端常见LoginGate 7000、SelGate 7100、RunGate 7200,DBServer若独立配置常见6000类,具体看端内ini;改了任何一个端口,登录器列表、!addrtable、各网关、M2参数要全改,不能只改一处。M2参数设置里若有权限控制,单机勾允许本地IP或把127.0.0.1加入允许连接段,避免“服务器认证失败”“禁止本地连接”。

报10048通常端口被占。cmd执行netstat -ano | findstr "7000",把LoginGate、SelGate、RunGate、DBServer、M2所用端口都查一遍;看到LISTENING且PID不是服务端进程,用任务管理器按PID结束酷狗、迅雷、IIS、旧M2残留、其他游戏网关。不想逐个排查就整体改一套新端口,例如7010、7110、7210,并在所有ini、!addrtable、登录器列表同步。改完重启电脑再起服务端,别只重启M2。

能建号但点开始黑屏、不开门,优先查SelGate和RunGate。任务管理器确认SelGate.exe、RunGate.exe在跑;M2查看网关信息,看是否显示已连接。RunGate的ServerAddr写127.0.0.1,GatePort与M2游戏端口、登录器列表一致;SelGate的监听地址写127.0.0.1或0.0.0.0,端口与!addrtable、登录器一致。黑屏也可能是客户端资源问题:服务端Data、Map、Wzl/Wil、Pak补丁要完整覆盖到客户端根目录,不要多套一层“补丁\Data”双重文件夹;Map数量与服务端Mir200\Map对应,缺0.map、比奇系列map会进图黑屏;登录器必须用同包生成器,GOM配GOM、GEE配GEE,混用引擎会不显示区或直接拒连。

登录器没列表分本地列表和HTTP列表。本地列表在客户端根目录放list.txt或ServerList.txt,格式按所用登录器要求,单机常写序号区名 127.0.0.1 7000
0,编码ANSI,区名不带空格括号中文特殊符号;HTTP列表要在本机起小型Web服务,浏览器能打开http://127.0.0.1/list.txt再填到登录器配置器。GOM/GEE生成登录器时填服务器IP、端口、补丁资源、Key/授权文件,若服务端用Key.lic,客户端Data和登录器要配套;不配套会只出大区不弹登录、或点开始转圈。

物品显示问号、魔法放不出、NPC贴图丢失,先分三处:第一,StdItems.DB字段与客户端Data版本不一致,老176补丁配新合击库会装备错乱;第二,Wzl/Wil、Prguse类补丁没覆盖全,或Pak有密码但登录器没填密码;第三,Envir里物品名和数据库名不一致,脚本GIVE“祝福油”但库里叫“祝福油(强力)”就会发空。改数据库前备份整个DB目录,用DBC工具或引擎自带编辑器改,不用记事本改DB文件;改文本配置用记事本存ANSI,不存UTF-8带BOM。

怪物不刷新、刷怪报错查Mir200\Envir\MonGen.txt和Monster.DB。MonGen坐标、地图名、怪物名必须存在;地图名在MapInfo.txt有定义,怪物名在Monster.DB有记录,刷新数量、范围、时间间隔按格式写。怪物名多一个空格、地图名拼错,会导致整段不刷或M2红字。合击端还看HeroDB里Skill.DB、英雄技能配置,纯1.76不需要英雄库,强行开英雄功能会魔法库、技能库异常。

脚本类疑难看Log目录。QManage登录脚本、QuestDiary任务、Market_Def商人、Npc_Def功能NPC、MapQuest_Def触发,任一处#if/#act不配对、变量超范围、物品名不存在,都会让对应NPC点不开或M2报行号。改脚本前备份Envir,改完在M2控制重新加载脚本;NPC不生效可用重载命令重读,还不行重启M2。机器人Robot.txt定时任务写错时间格式会让服务卡启动,按“#AutoRun NPC MIN 60 @段名”这类所用引擎格式来,不套用不明来源模板。

更新引擎只做整套替换,不单换DBServer或M2。先复制整个MirServer备份;关所有网关和M2;用同版本引擎包覆盖GameCenter、M2Server、DBServer、LoginSrv、LoginGate、SelGate、RunGate、插件目录;再检查!Setup、dbsrc、各ini端口和IP是否保留原值,覆盖后这些配置可能被重置,要按原单机参数改回127.0.0.1和原端口。数据库不要拿别的引擎库覆盖,只更新同版本DB;若更新后报字段缺失,用新引擎示例DB做对照,逐步把原物品、魔法、怪物数据按新结构迁移,不整体硬替。插件PlugList、PlugClient版本要和主引擎一致,插件旧了会M2闪退、登录器卡登录。

权限和系统环境补充。MirServer右键属性安全给当前用户完全控制;DBServer、M2、GameCenter、各网关右键属性兼容性,勾以管理员身份运行,Win10/11可加Windows 7兼容。BDE异常可删C:\Windows\System32\PDOXUSRS.NET和C:\Windows\SysWOW64\PDOXUSRS.NET锁文件,重开BDE重设PATH再起DBServer。系统盘符、区域短日期、VC运行库、.NET按引擎要求装;M2一闪而过先补VC运行库,再查路径中文和管理员权限。

排错顺序固定为:关杀软、纯英文路径→装对应数据库(DBC或Access/SQLite)→建别名/选库文件并指到StdItems、Magic、Monster所在目录→检查DB文件非0KB、非只读、索引齐全→统一所有配置IP为127.0.0.1、端口全局一致→先DBServer再LoginSrv再各Gate再M2→用同包登录器、同版本Data/Map补丁→进图验证物品、技能、怪物、NPC。哪一步红字停哪一步,不盲目换引擎。267多查杀软、路径、DBC别名、启动顺序;物品魔法双错多查PATH、DB文件、引擎版本、字段结构;黑屏不开门多查SelGate/RunGate、补丁双重目录、登录器配套;10048查端口占用;Code -100查Access驱动或换回DBC老端。按这个清单逐条核,单机搭新端和修旧端都不用靠重下整个包。