先把服务端MirServer文件夹和游戏客户端文件夹分别完整复制一份到其他盘符做全量备份,后续任何操作出错都能直接用备份覆盖恢复,不用重新解压架设版本。所有排查操作都要先完全关闭游戏登录器,停止所有服务端进程,避免文件被引擎占用导致修改后不生效。
第一步先核对服务端启动状态,这是最容易被忽略的基础问题。之前能正常进游戏,大概率是某次关闭电脑时没有按正确顺序退出服务端,导致进程残留占用资源。先打开任务管理器的详细信息面板,找到所有带Mir、Game、DBServer、LoginGate字样的进程,全部手动结束掉,确保没有任何残留进程在后台运行。之后严格按照正确顺序重新启动服务端,先开数据库服务程序,等控制台显示数据库加载完成没有红色报错,再开登录网关程序,最后启动游戏主引擎程序,等M2控制台显示所有脚本加载完成、所有网关连接成功,再去打开登录器启动游戏。如果跳过这个顺序,先开登录器再启动服务端,就会出现客户端已经发起连接请求,但服务端核心进程还没加载完地图和怪物数据,直接卡在加载界面不动的情况。
第二步检查IP和端口配置,单机环境下最容易出现配置被意外改动的问题。打开服务端LoginGate目录下的Config.ini文件,确认里面的ServerIP参数设置为127.0.0.1,ServerPort参数设置为7000,不能填其他局域网IP或者外网IP,也不能随意修改默认端口号。再打开登录器的配置文件serverlist.txt,确认里面的服务器地址同样填写127.0.0.1,端口号和服务端登录网关的端口完全一致,不能出现端口号不匹配的情况。之后用管理员身份打开命令提示符,输入telnet 127.0.0.1 7000命令测试端口连通性,如果返回无法连接,就说明端口被其他程序占用,输入netstat -ano | findstr "7000"命令找到占用端口的进程PID,在任务管理器里结束对应进程,或者直接在引擎配置里把登录网关端口改成7001,同步修改登录器里的对应端口,重启所有服务端程序就能解决端口冲突问题。同时打开Windows防火墙设置,把7000、7100、7200这几个引擎常用端口全部加入放行规则,或者临时关闭防火墙测试,避免防火墙拦截客户端和本地服务端的通信链路,导致数据传输中断卡在加载阶段。
第三步排查数据库连接状态,数据库读取异常是加载卡住的核心诱因。打开控制面板找到BDE Administrator程序,找到之前设置的数据库别名HeroDB,右键查看属性里的Path路径,确认路径指向服务端Mud2\DB文件夹的准确位置,路径里不能有中文、空格或者特殊符号,比如不能放在D盘的“单机传奇游戏”这类带中文的文件夹里,必须迁移到D:\MirServer这类纯英文路径下。确认别名名称和引擎配置界面里的游戏数据源名称完全一致,大小写和字符都不能有任何差异。之后进入服务端Mud2\DB文件夹,查看Monster.DB、StdItems.DB、Magic.DB这几个核心数据库文件,确认文件大小正常,没有变成0KB或者几十KB的异常状态,如果文件损坏,就用之前备份的正常数据库文件直接覆盖替换。同时检查杀毒软件的隔离区,确认DBServer.exe这个核心数据库连接程序没有被误删,要是被隔离就先还原文件,再把整个服务端目录加入杀毒软件的信任区,避免后续运行时再次被拦截。
第四步检查客户端文件完整性,客户端资源缺失会直接导致加载流程中断。确认当前使用的客户端版本和服务端版本完全配套,不要用跨版本的客户端强行连接,比如1.80版本的服务端不能用1.76版本的客户端连接,版本不匹配会直接卡在资源加载环节。打开客户端的Map文件夹,对比服务端Mir200\Map文件夹里的地图文件数量,把缺失的地图文件从服务端里复制过来补全,地图文件缺失是加载到一半卡住的最常见原因。再检查客户端Data文件夹里的pak资源文件,确认没有被误删或者损坏,要是之前手动修改过装备外观、技能特效的pak文件,就用原版配套的资源文件覆盖替换,避免客户端读取损坏的资源时陷入死循环。如果是微端版本,直接删除客户端目录下的Resources临时缓存文件夹,重新启动登录器让程序自动重新下载加载资源,就能修复缓存损坏导致的加载卡住问题。
第五步调整系统兼容性和运行环境,老版本引擎和新系统的适配问题很容易引发加载异常。右键点击游戏主程序M2Server.exe,选择属性里的兼容性选项,勾选以兼容模式运行,选择Windows XP SP3或者Windows 7模式,同时勾选以管理员身份运行此程序,确认设置保存。再右键点击登录器和客户端启动程序,同样设置相同的兼容性参数,避免Win10、Win11系统的权限拦截导致程序无法正常读取本地文件。去微软官网下载完整的DirectX 9.0c运行库和常用Visual C++运行库合集,安装完成后重启电脑,补充老游戏运行必需的系统组件,避免因为缺失运行库导致加载到一半闪退或者卡死。如果是NVIDIA显卡,打开显卡控制面板的管理3D设置,把传奇客户端程序添加进去,关闭垂直同步,把电源管理模式设置为最高性能优先,避免显卡驱动的默认设置和老游戏的渲染逻辑冲突。
第六步进阶排查隐藏故障,前面步骤都无效时再逐一核对。打开服务端的Log文件夹,查看DBServerLog和LoginGateLog里的最新日志文件,找到带ERROR标识的报错记录,如果提示Failed to load map,就说明对应编号的地图文件损坏,从同版本正常服务端里复制对应地图文件替换即可;如果提示Cannot open item database,就说明数据库文件路径配置错误,重新核对DBC2000里的路径设置就能解决。如果加载到角色选择界面之后才卡住,大概率是角色数据库文件损坏,打开服务端角色数据库文件夹,找到对应账号的角色数据文件,用备份的正常文件覆盖,或者直接新建一个游戏账号创建新角色测试,就能排除单个角色数据损坏导致的加载卡死问题。如果机械硬盘占用率长时间保持100%,就把服务端和客户端都迁移到固态硬盘里,大幅降低文件读取延迟,避免加载大体积地图资源时硬盘响应不及时导致程序假死。
所有排查步骤完成后,先按正确顺序启动所有服务端程序,确认M2控制台没有任何红色报错,再以管理员身份运行登录器启动游戏,就能正常进入游戏。后续每次关闭游戏时,先退出客户端,再按从游戏引擎到登录网关再到数据库服务的顺序关闭服务端,不要直接强制关机,避免文件异常损坏再次出现同类加载故障。

