手机在局域网内连接传奇服务端后卡在开门界面或直接跳过选区列表,根本原因是客户端与服务端之间的通信链路在某个环节被阻断。局域网环境下的故障点相对集中,排查时按照网络连通性、IP配置、端口映射、网关参数、客户端文件的顺序逐层推进,基本可以覆盖绝大多数场景。
先处理最基础的局域网连通问题。手机和运行服务端的电脑必须连接同一个路由器,电脑建议走有线网络,手机连接该路由器的WiFi,避免一个连主路由、另一个连光猫或访客网络。部分路由器默认开启AP隔离功能,会禁止局域网内设备互相访问,需要登录路由器后台将AP隔离关闭。验证方法很简单:在服务端电脑上按Win+R输入cmd,执行ipconfig记下IPv4地址,然后在手机浏览器中输入这个IP地址,如果无法打开任何页面,说明连通性有问题,先重启路由器、关闭双方防火墙再测。
服务端电脑的局域网IP必须是固定值。很多路由器会给设备动态分配地址,今天服务端的IP是192.168.1.100,明天可能变成192.168.1.102,手机客户端里写死的列表地址就会失效。进入路由器后台将服务端电脑的MAC地址与一个固定IP绑定,或者在Windows网络设置中手动配置静态IP,子网掩码和网关保持与路由器一致。手机端同样建议设置为静态IP,与服务端处于同一网段,最后一段数字不同即可,子网掩码和网关与服务端完全一致。
不提示选择区的核心问题通常出在列表读取环节。手机传奇客户端需要通过一个HTTP地址拉取区服列表文件,这个地址必须指向服务端电脑的局域网IP,不能填127.0.0.1,也不能填任何外网地址。打开服务端目录下的LoginGate文件夹,找到LoginGate.ini,检查FileUrl和ListUrl两个参数,将地址中的IP替换为服务端真实局域网IP,格式类似于http://192.168.1.100/gamelist.txt,确保URL中没有多余空格或符号。列表文件本身的内容也要核对,格式通常为“区服名称|IP|端口”或“区服名称 IP 端口”,IP填写服务端局域网地址,端口与引擎配置保持一致。列表文件放置的位置需要能被HTTP服务访问到,本地架设如果没有配置IIS,可以使用引擎自带的本地列表服务器小程序,将程序与列表文件放在同一目录下启动,然后在电脑浏览器中访问列表地址,能正常显示文件内容才算配置成功。手机客户端如果经过反编译修改过列表地址,需要确认修改后的地址确实指向局域网IP,并且APK已重新签名安装。
不开门问题的首要排查点是IP配置的一致性。服务端有多个配置文件需要填写IP,包括Mir200文件夹下的!Setup.txt、LoginSrv文件夹下的!addrtable.txt、DBServer的相关配置以及各网关的ini文件。局域网架设时所有这些位置都应该填写服务端电脑的局域网IP,不能残留127.0.0.1。!addrtable.txt的格式有固定规范,正确内容应类似于“游戏名称 Title1 127.0.0.1 127.0.0.1 服务端IP:端口”,格式错乱或参数缺失会直接阻断开门连接。部分引擎的LoginSrv.ini中有一个DynamicIPMode参数,局域网环境下可以将其从0改为1,同时将DynamicIP填写为服务端局域网IP,让登录服务以动态IP模式运行。
端口层面需要保证三处完全一致:服务端引擎配置的端口、登录器列表中的端口、网关实际监听的端口。传奇的核心端口通常是7000(登录网关)、7100(角色网关)、7200(游戏网关),部分引擎版本会使用7000到7200的连续范围。打开服务端控制台的配置向导,记录当前使用的端口号,然后检查登录器列表文件中的端口是否与之匹配。端口顺序也不能颠倒,列表中通常包含开区端口和微端端口两个值,填反了同样会导致连接失败。端口被其他程序占用是另一个高频原因,在命令提示符中执行netstat -ano | findstr ":7000"可以查看该端口是否已被监听,如果显示的不是服务端进程,需要用tasklist查询占用进程并关闭,或者将服务端端口修改为非标准端口,同时同步更新列表文件和网关配置。
网关密码不匹配是容易被忽略的开门阻断因素。登录器生成配置、LoginGate和GameGate三处的连接密码或通信密钥必须完全一致。打开登录器配置器查看网关密码设置,然后分别核对LoginGate文件夹和GameGate文件夹中配置文件里的密码字段,任何一处不一致都会导致客户端在角色选择后无法建立游戏连接,表现为卡在开门界面或提示连接已关闭。修改密码后需要在M2控制台中重新加载网关配置,或者直接重启整套服务端进程。
服务端进程的启动顺序和运行状态直接影响开门。正确的启动顺序通常是先启动数据库服务,再启动登录网关,最后启动游戏主引擎,顺序错误可能导致端口被提前占用或依赖关系断裂。启动后逐个检查网关窗口的状态,LoginGate应显示正常监听,GameGate和SelGate不能出现闪退或报错。如果某个网关启动即退出,优先检查其配置文件中的IP和端口是否填写正确,以及该端口是否已被其他残留进程占用。
防火墙和杀毒软件对局域网通信的拦截不可忽视。Windows Defender或第三方安全软件可能阻止LoginGate.exe、M2Server.exe等程序接受入站连接。临时关闭防火墙测试能否开门,如果问题消失,再到防火墙入站规则中为服务端程序添加允许规则,或者直接放行TCP 7000-7200端口范围。路由器层面的端口映射在纯局域网环境下不是必需项,但如果服务端电脑和手机之间经过了二级路由或网络隔离设备,仍需要确保相关端口在中间设备上被放行。
客户端侧的补丁完整性同样会导致开门失败。服务端使用的地图文件、登录器补丁需要与客户端版本匹配,补丁包中的data、map等文件夹应完整覆盖到客户端根目录,而不是只复制单个文件。登录器必须放在客户端根目录下启动,放在桌面或其他路径运行可能导致相对路径解析错误,无法加载开门所需的地图资源。检查客户端data文件夹中是否存在服务端提供的Map.pak、Tiles.pak等核心文件,缺失这些文件时客户端能进入角色界面但地图门无法加载。部分手机引擎还需要额外修改mir2.scenes.select.scene文件中的IP地址,修改后覆盖回客户端压缩包并重新签名安装。
区服名称中包含空格或特殊字符也可能导致开门失败。服务端配置向导中的游戏名称必须与登录器列表中的名称完全一致,包括空格和大小写,任何差异都会使验证环节失败。检查时可以直接从服务端配置中复制名称,粘贴到列表文件中进行比对,避免肉眼判断遗漏隐藏字符。
数据库连接异常虽然占比相对较低,但同样会表现为开门阻断。DBC2000的系统DSN中HeroDB别名必须指向服务端的Mud2\DB目录,路径错误或数据库文件损坏会导致角色数据无法加载,客户端在开门阶段收不到服务端的正常响应。如果以上所有网络和配置项都已排查无误但问题依旧,可以尝试用DBC2000自带的工具连接数据库执行一次简单查询,确认账号表能被正常读取。
整个排查流程建议按照“网络连通性→IP一致性→列表地址→端口匹配→网关密码→防火墙→客户端补丁”的顺序执行,每完成一步修改后重启对应的服务端进程或客户端再测试。多数局域网不开门问题在前三步内即可定位,剩余情况集中在网关密码和客户端补丁两个环节。

