传奇单机架设完成主程序无法持续启动反复弹出报错窗口处理方案

来源: 作者: 点击:
单机环境已经完成数据库配置,服务端主程序无法正常驻留,启动瞬间就弹出提示对话框,点击确认之后程序直接关闭,无法进入引擎控制台界面。这类弹窗不会固定单一报错文字,但是触发逻辑基本围绕程序权限缺失、组件丢失、数据库连接失败、配置路径错误、版本授权失效、系统运行库缺失这几类,按照顺序逐项排查。

优先处理程序运行权限相关问题,存放Mirserver的文件夹路径如果带有中文、空格或者特殊符号,启动主程序时会直接弹窗退出。将整套Mirserver移动到磁盘根目录,例如D盘根目录,文件夹名称保持纯英文数字,不要放置在桌面或者多层中文文件夹内。右键点击游戏控制器,选择以管理员身份运行,不要直接双击打开。老版本主程序在高版本系统中,直接双击会触发权限校验弹窗,管理员模式能够规避大部分目录读写权限不足引发的弹窗。

查看弹窗出现的时机判断故障范围,刚点开控制器就弹出对话框,一般是控制器读取配置文件失败;等待网关加载阶段弹出弹窗,多为LoginGate、DBServer这类网关组件缺失损坏;M2引擎即将加载完成时弹出窗口,问题集中在数据库、脚本、地图资源或者授权校验。记录弹窗内的文字提示,这是定位故障最直接的依据,关闭弹窗之后查看对应的程序日志文件,日志会记录详细错误信息。

核对DBC数据库BDE配置,很多人配置HeroDB之后没有保存,或者数据库指向的DB文件夹路径错误,会造成DBServer网关启动弹窗。打开BDE Administrator,找到HeroDB,确认路径指向Mirserver下面的DB文件夹,路径不能存在中文,点击应用保存设置。打开DB文件夹,检查db文件是否被安全软件隔离,文件大小为零代表损坏,关闭防护软件,重新解压服务端文件覆盖DB目录。BDE组件损坏也会弹窗,卸载原有DBC工具,清理注册表残留,重启电脑之后重新安装DBC2000,新建HeroDB数据库。

检查全套网关与引擎文件完整性,解压服务端压缩包的过程,安全工具会直接删除M2Server.exe、各类网关程序和配套dll文件。打开Mirserver下面Mir200、LoginGate、DBServer文件夹,核对目录内exe、dll文件是否齐全,存在缺失就到隔离区恢复文件,关闭防护软件之后重新解压完整版本包进行覆盖替换。引擎文件损坏,每次启动M2都会弹出提示窗口,无法正常加载。引擎包和服务端版本不匹配,替换M2之后没有同步配套网关,启动阶段校验失败,持续弹出对话框,需要使用版本自带的整套引擎组件,不要单独混用其他来源的M2主程序。

打开Mir200目录下!Setup.txt配置文件,检查里面所有资源路径,确认盘符和当前Mirserver存放位置保持一致。之前这套服务端放在其他磁盘,迁移目录后配置文件内旧路径不会自动更新,M2读取脚本、地图、怪物资源时找不到目录,弹出提示并终止程序。将文件内所有旧盘符批量替换为当前磁盘盘符,保存文件,重启整套服务端。沙巴克配置、怪物数据库、物品数据库字段出错,也会在M2加载数据库阶段弹出弹窗,打开物品和怪物数据库,检查字段末尾是否存在多余符号,删除无效空行。

授权文件校验失败是高频触发弹窗的原因,Mir200目录内的授权文件绑定硬件信息,复制版本包到别的磁盘或者更换硬件后,原有授权失效,M2启动直接弹出提示框。删除旧授权文件,使用配套授权生成工具,在本机重新生成授权,放到Mir200目录,再次尝试启动主程序。部分引擎还会校验登录网关和M2的配对信息,网关授权失效,网关启动弹窗,连带整套控制器运行异常。

系统运行库缺失会造成程序启动弹窗,老版传奇引擎依赖旧版VC运行库,系统缺少对应dll组件,打开程序瞬间弹出提示。下载VC++2005、2008、2010运行库合集,依次安装,安装结束重启电脑。部分电脑缺少MDAC组件,会干扰DBC数据库通信,需要补充安装对应组件。

端口占用同样会触发弹窗,7000、7100、7200端口被其他程序占用,网关启动失败弹出对话框。打开命令行工具,查询端口占用PID,任务管理器结束占用进程,重启电脑清理后台残留进程。多网卡电脑存在虚拟机网卡、虚拟网络适配器,网关绑定IP失败,临时禁用多余虚拟网卡,单机测试控制器IP填写127.0.0.1,保存配置后重启控制器。

脚本错误会在M2加载脚本阶段弹出窗口,自定义脚本语法错误、缺少包含的脚本文件,读取到错误脚本时直接弹窗退出。可以临时把Mir200下的脚本文件夹改名备份,新建空白脚本目录,尝试启动M2。如果能够正常启动,代表原有脚本存在错误,把脚本文件分批放回,逐个定位出错脚本,修改语法或者直接删除问题脚本。地图文件损坏、地图编号重复,M2加载地图资源时弹窗退出,查看M2日志定位出错地图编号,替换对应的地图文件。

每次修改配置、替换文件之后,需要关闭所有Mirserver相关程序,结束后台残留进程,再以管理员身份启动游戏控制器。不要反复多次快速点击启动按钮,多次异常退出会留下文件占用,重复触发弹窗。全部组件加载完成,观察所有网关窗口,没有红色报错,不再弹出对话框,才算主程序正常启动。