传奇服务端架设完成,引擎各窗口显示启动正常,但客户端登录器提示“无法连接服务器”或点击进入后黑屏无响应,这是架设过程中最常见的问题。服务端能启动只代表程序文件没有缺失,客户端能否连上服务端,取决于网络端口、IP绑定、登录器配置和引擎匹配四个环节是否全部正确。以下按排查优先级逐一说明。
## 先确认服务端进程是否真正存活
服务端启动后,不要只看主控程序界面是否显示正常。打开任务管理器,切换到“详细信息”页签,确认LoginSrv.exe、DBSrv200.exe、M2Server.exe、LoginGate.exe和RunGate.exe五个进程是否都存在,并且CPU或内存占用非零。如果某个进程缺失,说明它在启动后异常退出了。DBSrv200.exe异常退出会导致LoginSrv在初始化阶段卡住,进程存在但内存不增长,客户端连接时表现为无任何响应。
如果登录网关LoginGate闪退,通常是缺少VC++运行库或端口被其他程序占用。用命令行执行`netstat -ano | findstr :7000`查看端口占用情况,如果发现被酷狗、迅雷等软件占用,结束对应进程或修改网关端口即可。
## 端口放行是客户端能连上的前提
传奇服务端需要客户端能访问的端口主要有三个:登录网关默认7000、角色网关默认7100、游戏网关默认7200。这三个端口如果有任何一个没有放行,客户端就无法完成完整的登录流程。
Windows防火墙的入站规则需要手动添加。进入“高级安全Windows Defender防火墙”,新建入站规则,选择“端口”,填入需要放行的端口号,协议选择TCP和UDP,操作选“允许连接”,配置文件全部勾选。如果使用云服务器,还需要在云平台的安全组控制台里添加入站规则,放行相同的端口段。家用宽带环境下,路由器里的端口映射也要同步配置,内部IP填服务器的局域网IP,协议选ALL(TCP+UDP),不要只选TCP,因为传奇部分数据包走UDP协议。
部分运营商对7000端口有封禁策略,如果确认防火墙和安全组都已放行但仍连不上,可以把登录网关端口改成5200或17500这类高位端口,同时修改服务端配置文件里的对应端口号和登录器列表中的端口号。
## IP地址绑定必须用127.0.0.1
单机架设时,服务端配置向导里的IP地址必须填127.0.0.1,不能填localhost,也不能填本机的局域网IP或公网IP。很多新手看到“填服务器IP”的提示,习惯性填入192.168.x.x或公网地址,结果服务端启动正常但客户端就是连不上。
需要检查IP的位置包括:引擎控制台配置向导第一步的基本设置、LoginGate的配置文件(LoginGate.ini或Config.ini)中的ListenAddr字段、RunGate.ini中的服务器IP字段、以及登录器列表文件中的IP地址。这四个位置的IP必须全部是127.0.0.1,任何一个写错都会导致连接失败。
外网架设时,服务端配置向导里勾选动态IP模式并填写公网IP,但登录网关和角色网关的本地监听地址仍然保持127.0.0.1,不要改成公网IP。
## 登录器列表文件格式和编码
登录器读取服务器列表靠的是一个列表文件,常见格式有list.txt或ServerList.txt。文件内容格式通常为“区名|IP|端口|0”,例如“我的单机|127.0.0.1|7000|0”。
这个文件最容易出问题的地方是编码格式。用记事本编辑保存时,默认可能保存为UTF-8编码,而传奇登录器只认ANSI编码。UTF-8编码的列表文件会导致登录器显示空白列表或提示找不到服务器。用记事本打开文件后,选择“另存为”,在底部的编码下拉框里选ANSI,再保存。
列表文件的发布方式有两种。一种是把list.txt放在本地,用HFS等简易HTTP工具发布成http://127.0.0.1/list.txt的地址,登录器配置器里的列表地址填这个URL。另一种是部分Hero引擎版本支持直接读取登录器同目录下的ServerList.txt文件,不需要HTTP服务。
## 登录器必须与服务端引擎配套
不同引擎的登录器不能混用。GOM引擎的服务端必须用GOM登录器生成器制作登录器,Hero引擎的服务端必须用Hero的登录器配置器。用GOM登录器连接Hero服务端,或者反过来,一定会提示找不到服务器或列表为空。
检查服务端目录下是否有配套的登录器生成器,通常在Tools、LoginMake或登录器文件夹里。用生成器制作登录器时,服务器IP填127.0.0.1,登录端口填LoginGate实际监听的端口(默认7000,以引擎控制台显示为准),服务器名称与服务端配置向导里填写的一致。生成的登录器程序必须放在传奇客户端的根目录下,和Data、Map文件夹同级,放在服务端目录或其他位置都无法正常读取客户端资源。
如果登录器打开后列表一直显示“正在获取列表”然后变成空白,优先检查列表文件的URL地址是否可以在浏览器里正常访问。在浏览器中输入登录器配置的列表地址,如果打不开,说明列表文件没有通过HTTP服务发布出去,或者防火墙拦截了HTTP端口。
## 数据库配置错误也会导致进不去
DBC2000数据库配置不正确时,服务端主控程序可能显示启动正常,但LoginSrv实际无法完成账号验证。打开控制面板里的BDE Administrator,确认已经创建了名为HeroDB的数据库别名,路径指向服务端的Mud2\DB文件夹。如果路径指向了其他位置,或者数据库名称用了中文,引擎读取时会报错但可能不弹出明显提示。
Windows 10和Windows 11系统下,DBC2000的兼容性设置也需要调整。右键DBC2000的快捷方式或相关可执行文件,在兼容性选项卡里勾选“以管理员身份运行”,并将兼容模式设置为Windows XP SP3。系统自带的杀毒软件有时会把DBC2000的驱动文件当作威胁删除,架设前需要将整个MirServer文件夹和DBC2000的安装目录加入杀毒软件的排除列表。
服务端路径建议放在D盘根目录,即D:\MirServer。放在C盘系统盘下会因权限管控导致数据库文件无法读写,出现“无法打开数据库文件”的提示。
## 客户端闪退或黑屏的附加检查
如果登录器能连上服务器,能看到区列表,输入账号密码后也能进入角色选择界面,但点击“开始游戏”后黑屏或闪退,问题出在客户端资源文件上。确认登录器是否放在客户端根目录,客户端的Data文件夹里是否有服务端提供的补丁文件。补丁没有正确解压到客户端根目录,或者登录器指向的客户端路径不正确,都会导致进入游戏后黑屏。
另外检查客户端的分辨率设置。部分老版本引擎在高于1024x768的分辨率下会出现黑屏,在控制面板的显示设置里把屏幕分辨率临时调成1024x768,颜色质量设为16位增强色,再尝试进入游戏。

