架设完成后登录器点击区名无法连接服务器的排查逻辑

来源: 作者: 点击:
登录器上能看到服务器列表,但点进去后一直转圈或提示连接失败,这种情况说明列表地址没问题,但登录器和服务端之间的通讯管道没有打通。顺着网络路径逐级排查,基本能找到堵点。

**服务端控制器IP未全部替换**

配置向导里把IP改成了127.0.0.1或者局域网IP,但几个核心网关的配置文件里还有残留的IP没改干净。重点检查LoginGate文件夹下的Config.ini、SelGate文件夹下的Config.ini、RunGate文件夹下的Config.ini,这三处必须和控制器里的IP保持一致。如果服务端是从别人那里拿来的,原来的配置里可能写的是一串外网IP,批量替换成你的目标IP后再启动。

**端口被其他程序占用**

7000端口通常分配给LoginGate,7100给SelGate,7200给RunGate。启动引擎时如果某个网关窗口闪退或者报端口绑定失败,说明该端口已经被其他程序占用了。用命令netstat -ano | findstr 7000可以查到占用端口的进程ID,在任务管理器里结束对应进程后重新启动引擎。更彻底的办法是修改端口号,在控制器配置里换一个不常用的端口,比如7005、7105、7205,改完后登录器列表里对应的端口也要同步修改。

**登录器与引擎的加密密钥不匹配**

GOM引擎有个特征:登录器生成时用的Key.lic文件必须和Mir200文件夹下的Key.lic完全一致。如果版本里自带的Key文件被动过,或者你用了别人的登录器生成器,就会导致登录器和M2Server之间的握手失败。表现就是M2Server窗口已经跑起来了,但登录器始终显示服务器连接失败,而且M2Server控制台没有任何报错信息。把登录器生成器目录下的Key.lic复制到Mir200覆盖掉原来的,然后重新生成登录器再试。

**微端模式下更新端口未开放**

如果架设的是微端模式,除了游戏网关端口外,微端更新端口也需要被登录器访问。微端UpdateGate程序监听的端口如果没在列表文件中正确填写,登录器连接后收不到资源更新包也会断开连接。检查登录器列表文件里微端端口的写法,确保和UpdateGate.ini里设置的端口一致。

**防火墙或安全组阻断连接**

Windows自带的防火墙会拦截外来连接请求。即便服务端设置完全正确,防火墙没有放行端口的话,局域网其他电脑或者外网用户照样连不上。控制面板的防火墙高级设置里添加入站规则,允许TCP协议通过7000-7300端口。如果使用云服务器,还需要在服务器提供商的控制台里添加安全组规则,把对应端口开放出来。

**客户端与登录器版本冲突**

登录器生成的客户端类型和服务端引擎不匹配时,会出现能注册账号但进不了游戏的状况。例如引擎是32位的但登录器用的是64位客户端,或者登录器配套的客户端补丁放错了位置。重新检查客户端版本和登录器生成时选择的客户端类型选项,确保两者一致。

**简易测试方式确认端口可达**

在连接不上时用同一台电脑执行telnet 127.0.0.1 7000,或者让室友执行telnet 你的局域网IP 7000。如果端口不通,说明网关程序没有正常监听或者防火墙拦截了请求。如果端口通但游戏还是连不上,问题就出在登录器和引擎的握手环节。