能注册账号说明LoginGate(登录网关)和DBServer(数据库)通信正常,问题出在客户端与游戏网关(GameGate/RunGate)的连接环节。资源加载后提示“无法连接服务器”,通常是因为登录器找不到游戏网关的端口,或者数据包被拦截。
一、首要检查游戏网关进程与端口
服务端启动时,除了LoginSrv和M2Server,必须确认 GameGate.exe(或RunGate.exe)已成功启动并监听端口。Sky引擎默认游戏端口通常为 7100(部分版本为7200)。
1. 查进程:打开任务管理器,查看是否存在GameGate或RunGate进程。若缺失,手动进入 MirServer\GameGate 目录双击启动。
2. 查端口占用:按 Win+R 输入 cmd 打开命令行,执行 netstat -ano | findstr :7100。若结果显示“LISTENING”且PID不是GameGate的进程ID,说明 7100端口被占用(如被其他游戏服务端、迅雷等占用)。结束占用进程或修改GameGate端口。
3. 改端口避让:若端口被占,打开 MirServer\GameGate\Config.ini,找到 GatePort= 参数,将其改为未占用的端口(如7101)。修改后必须同步修改登录器配置(见下文)。
二、登录器配置与网关的严格对应
Sky引擎对端口一致性要求极高。注册用7000端口,游戏用7100端口,若登录器配置错误,必然卡在加载界面。
1. 核对游戏端口:打开你使用的登录器配置器(必须是Sky引擎专用配置器),找到“游戏端口”或“GamePort”设置项。此处的端口号必须与GameGate的 GatePort 完全一致(默认7100,若改了GameGate端口,这里也要改)。
2. IP地址校验:
◦ 单机测试:登录器服务器IP填 127.0.0.1,游戏端口填 7100。
- 列表格式:检查登录器读取的列表文件(如serverlist.txt),确保单机行格式为:服务器名,127.0.0.1,7100,0(第三位即游戏端口)。
3. 重新生成:修改配置后,必须重新生成登录器并替换客户端内的旧文件,直接修改文本有时不生效。
三、防火墙拦截与IP绑定设置
即使端口设置正确,Windows防火墙或杀毒软件也可能在后台静默拦截GameGate的数据包。
1. 临时测试:直接关闭Windows防火墙和第三方杀毒软件,重启服务端和登录器测试。若此时能进入游戏,说明是拦截问题。
2. 放行规则:在防火墙高级设置中,为 GameGate.exe 程序或 7100端口(TCP协议)添加入站规则。
3. IP绑定检查:检查 MirServer\GameGate\Config.ini 中的 ServerAddr= 参数。单机应设为 127.0.0.1 或 0.0.0.0(允许所有连接)。若错误绑定为外网IP,本地连接会失败。
四、Sky引擎专属配置文件校验
Sky引擎部分版本使用独立的配置文件控制连接地址,需重点检查以下文件:
- !servertable.txt:位于 Mir200 目录下,格式通常为 0 127.0.0.1 7100,需确保IP和端口正确。
- !addrtable.txt:同样在 Mir200 目录,检查内网IP段指向是否正确。
排查顺序建议:先看GameGate进程是否存在 → 再查7100端口是否被占 → 核对登录器配置器里的游戏端口 → 关闭防火墙测试 → 最后检查!servertable.txt。若仍无效,检查M2Server启动时是否有红色字体报错(如脚本加载失败),有时脚本错误也会导致网关初始化异常。

