一、先判断卡在哪一层
本机127.0.0.1能进、朋友外网连不上,问题不在服务端脚本,在IP绑定和网络链路。按三层测:
1. 本机能进:服务端本身没崩,DB和M2正常。
2. 同局域网另一台电脑用192.168.x.x能进:网关配置基本对,差外网映射。
3. 外网手机热点连不上:卡在路由器映射、公网IP、防火墙、列表IP这四处。
别一上来重装端,先分层定位。
二、确认有没有真公网IP
浏览器搜“我的IP”,拿到公网IP。再看路由器拨号拿到的IP:
如果路由器WAN口是10.x.x.x、100.x.x.x、172.16.x.x开头,说明是运营商内网NAT,外网根本打不进来,做映射也没用。
解决方式:
打电话让运营商给公网IP(桥接模式)
用路由器自带DDNS或花生壳做动态域名
没公网IP就用FRP内网穿透,把7000/7100/7200反代出去
家庭宽带公网IP会随拨号变,正式开服必须上动态域名,别把IP写死。
三、网关监听地址改对
外网连不进来,常见原因是网关只绑了127.0.0.1,外部包直接被丢弃。
GOM/GEE引擎配置向导里:
登录网关绑定IP:0.0.0.0
角色网关绑定IP:0.0.0.0
游戏网关绑定IP:0.0.0.0
0.0.0.0意思是监听本机所有网卡,外网包才能进来。绑127.0.0.1只认本机,绑内网IP只认局域网。
手动改各网关ini也行:
LoginGate\Config.ini
ServerAddr=0.0.0.0
GateAddr=0.0.0.0
Port=7000
SelGate\Config.ini
ServerAddr=0.0.0.0
GateAddr=0.0.0.0
Port=7100
RunGate\Config.ini
Server1=0.0.0.0
GateAddr=0.0.0.0
Port=7200
改完保存,重启所有网关进程。
四、核心配置文件IP写法
外网端不能只填公网IP,也不能只填内网IP,要内外网配对。
假设:
内网IP:192.168.1.100
公网IP:123.123.123.123
1. Mir200\!Setup.txt
ServerIP=0.0.0.0
GateAddr=0.0.0.0
DBAddr=127.0.0.1
DBPort=6000
ServerIP别写死公网,写0.0.0.0更稳,数据库地址保持本地。
2. Mir200\!ServerTable.txt 或 !ServerInfo.txt
格式:内网IP 公网IP 网关端口 公网IP 网关端口
示例:
192.168.1.100 123.123.123.123 7200 123.123.123.123 7200
这文件决定客户端进游戏后连哪个IP,错填内网IP必不开门。
3. LoginSrv\!addrtable.txt
格式:区名 Title1 内网IP 公网IP 公网IP:7100
示例:
复古测试 Title1 192.168.1.100 123.123.123.123 123.123.123.123:7100
4. LoginGate\ServerList.txt 或列表文件
区名 公网IP 7000 0
示例:
复古测试 123.123.123.123 7000 0
列表文件编码用ANSI,别存UTF-8 BOM。
五、路由器端口映射
进路由器管理页(192.168.1.1或192.168.0.1),找虚拟服务器/端口转发/NAT转发。
映射规则(协议选TCP+UDP或ALL):
外部端口7000 → 内部端口7000 → 192.168.1.100
外部端口7100 → 内部端口7100 → 192.168.1.100
外部端口7200 → 内部端口7200 → 192.168.1.100
用GOM微端再加:
外部端口8000 → 内部端口8000 → 192.168.1.100
保存后重启路由器。嫌麻烦直接开DMZ主机,填192.168.1.100,把所有端口指向这台机器。
验证映射通不通:
手机断WiFi开流量,cmd里:
telnet 123.123.123.123 7000
窗口变空白就是通,秒拒绝就是没映射上。
六、系统防火墙和云安全组
本地防火墙高级设置,入站规则新建:
允许 TCP 7000、7100、7200、8000
允许 UDP 7000、7100、7200、8000
把 DBServer.exe、LoginSrv.exe、LoginGate.exe、SelGate.exe、RunGate.exe、M2Server.exe、登录器exe 全部加放行
云服务器(阿里云/腾讯云/华为云)必须去控制台安全组,入方向手动放行同样端口,不然云平台在网卡前就把包丢了。
杀软把整个MirServer目录加信任,网关exe经常被拦成“无监听”。
七、M2的IP过滤和白名单
M2起来后点菜单:选项 → 参数设置 → 游戏选项/网络设置。
找IP过滤、IP绑定、允许连接IP:
取消“启用IP过滤”
拒绝列表清空
允许列表测试阶段可填 0.0.0.0/0,正式运营再收IP段
改完点保存,重启M2才生效。很多“IP限制”其实是M2默认拒外网,不是网络问题。
网关侧也关掉“仅限本地连接”“内网保护”“异地IP拦截”这类开关,RunGate高级设置里看一眼。
八、登录器列表必须重做
外网玩家用的登录器,列表地址必须指向公网IP或动态域名,不能还是127.0.0.1。
用同引擎配置器重新生成:
列表内容:
复古测试 123.123.123.123 7000 0
用花生壳域名:
复古测试 abc.oicp.net 7000 0
微端地址同步改公网IP或域名,微端端口8000,UpdateGate配置里ServerAddr也改外网。
生成完把登录器发给朋友,别用你本机那个127.0.0.1的登录器。
九、动态IP处理
家庭宽带重拨公网IP就变,列表和addrtable写死IP会突然连不上。
做法:
路由器开DDNS,绑花生壳/金万维域名
引擎配置里ServerAddr填域名(部分引擎支持,不支持就填0.0.0.0)
登录器列表用域名
IP变了域名自动解析,不用重发登录器
IP变动后等DNS刷新,通常几分钟到十分钟恢复。
十、NAT回流问题
自己用公网IP在本机或同局域网测,可能连不上,这叫NAT环回没开。不是配置错,是路由器不让内网机器用公网IP访问内网。
解决:
路由器开NAT Loopback/UPnP
本机测试继续用127.0.0.1
同局域网测试用192.168.x.x
让外网朋友用真公网IP测,才是最准的
十一、快速排查顺序
外网连不上按这个过:
本机127.0.0.1能进吗 → 能,服务端OK
网关绑0.0.0.0了吗 → 没绑改了重启
!ServerTable和!addrtable公网IP对了吗 → 内外网配对
路由器映射7000/7100/7200了吗 → telnet测
防火墙和安全组放行了吗 → 入站规则加端口加exe
M2关IP过滤了吗 → 允许0.0.0.0
登录器列表是公网IP/域名吗 → 重生成
动态IP用DDNS吗 → 别写死IP
十二、常见现象对应
能输账号密码但点开始黑屏/转圈:映射或!ServerTable错,客户端进游戏后连到内网IP。
列表能读但连服务器失败:防火墙拦了,或网关没绑0.0.0.0。
能进门但走路掉线:RunGate端口映射漏,或UDP没开。
本机可以、朋友不行:路由器没映射,或公网IP是内网NAT。
一会儿能连一会断:动态IP变了,没用DDNS。
M2提示IP被限制:M2白名单/黑名单拦了,关IP过滤。
外网架设本质就是“监听放开 + 内外网IP配对 + 端口打通 + 列表同步”四件事,配置改完必须全量重启网关和M2,只改不重启等于没改。
传奇外网IP限制与不开门分层排查实操
来源:
作者:
点击:

