当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端外网架设:从本机到公网联通

热度:
外网架设不是把登录器发别人就完事,核心是三件事:服务端监听地址对、网络层能把外网包送到服务端电脑、客户端登录器拿到正确列表。单机127.0.0.1能进,不代表外网能进;外网连不上,八成是IP写错、端口没放、网关回包地址还是内网。

一、先定拓扑
家宽电脑开服:外网玩家→运营商/光猫→路由器NAT→内网服务器192.168.x.x→LoginGate/DBServer/M2/RunGate。
云服务器开服:外网玩家→云安全组→Windows防火墙→云主机公网IP→各网关。
两种最大的区别:家宽要端口映射或穿透,云主机直接在安全组放行,但云主机本身也要关/配Windows防火墙。

二、确认有没有公网IP
浏览器搜“我的IP”拿到公网地址A;登路由器看WAN口IP是B。A=B大概率有公网IPv4;A≠B可能被运营商放内网(多层NAT),做端口映射也没用,只能换企业宽带、申请公网IP、或用FRP/Ngrok/花生壳类TCP穿透。
动态公网IP也行,但宽带重拨就变,登录器里用DDNS域名(xxx.oicp.net、*.3322.org)比写死IP稳。

三、服务端该填什么IP
路由器后方的电脑:网关配置里ListenAddr可写0.0.0.0或内网IP(如192.168.1.100),ServerAddr填内网IP;M2/登录器对外列表填公网IP或DDNS域名。别把所有地方都填公网IP,也别全留127.0.0.1。
云主机:主机只有一块公网网卡时,网关可绑0.0.0.0,M2里外网IP填云主机公网IP;若云主机内网+公网分离,按引擎文档来,GOM/Hero常见是列表填公网、内部组件填内网或0.0.0.0。
全局搜配置把127.0.0.1替掉时要小心:LoginGate、SelGate/SelChrGate、RunGate、DBServer、LoginSrv、M2的Setup.txt/Config.ini/!AddrTable.txt都要对齐。

四、端口这一层最容易漏
Hero/GOM常见:
7000登录网关LoginGate
7100角色/选择网关SelGate
7200游戏网关RunGate
5500/5600M2管理或中心类端口(视端而定)
8080/8000/888微端更新、列表页、资源下载
有的端还用7300、7400、27015等,以端里RunGate.ini、LoginGate.ini、!Setup.txt实际值为准。
家宽路由器做端口转发:外部端口7000→内部192.168.1.100:7000,7100、7200同样;协议先TCP,引擎用UDP再补UDP。运营商封7000-7200段就改高位口,比如37000/37100/37200,服务端和登录器列表必须同步改。

五、云主机安全组+防火墙
云控制台安全组入方向加TCP7000、7100、7200、8080(以及你实际改过的端口),来源0.0.0.0/0是测试期懒人写法,真长期开建议限来源IP段,别把3389、1433、3306也裸奔出去。
云主机里WindowsDefender防火墙高级设置→入站规则→新建端口规则,放行同样端口;测试期直接关防火墙能排错,但别生产环境长期关。
家宽电脑同理:系统防火墙不放行,路由器映射了也进不来。

六、登录器列表才是玩家入口
玩家不连M2,先读登录器里的serverlist地址:
http://域名/list.txt或http://公网IP:8080/list.txt
里面大致:
[1]
服务器名=外网测试服
IP=123.45.67.89
端口=7000
动态IP就写DDNS域名。登录器生成器(Hero登录器配置器/GOM登录器制作)里关掉“单机模式/本地模式”,列表地址填上面HTTP地址,生成出来的exe给朋友。
列表能刷出来但点进入没反应:通常是7200游戏网关没通、RunGate没起、或登录器端口和LoginGate对不上。

七、启动顺序
DBServer/LoginSrv→LoginGate→SelGate→RunGate→M2Server。
M2报“网关未连接”就是Gate没起来或IP/端口错;M2说开门成功但玩家选人后黑屏,是RunGate通了、场景数据回传有问题,或客户端补丁/Map/Data不对,不是外网没通。
改完IP别热更碰运气,停掉全部服务再按顺序起。

八、没公网IP的替代方案
FRP:有公网的主机做frps,家里电脑跑frpc,把7000/7100/7200转出去,登录器填公网机IP。
Ngrok/花生壳/nat123:做TCP映射,内网地址填192.168.1.100,内网端口7000/7100/7200,外网端口用分配到的;登录器填穿透域名和对应外网端口。
别用“UDP打洞”那种P2P工具扛传奇,网关长连接会疯。动态公网IP不想买云主机就用DDNS+路由器端口映射,最省钱。

九、家宽光猫坑
电信/联通/移动定制光猫常带路由,WANIP是100.64.x.x就别挣扎了,那是CGNAT。
光猫和路由器两层NAT时,要么光猫改桥接、路由器拨号再做映射;要么光猫里再映射一层到路由器、路由器再映射到电脑(双层映射容易错)。
路由器给服务端电脑绑固定DHCP(MAC绑定),不然192.168.1.100明天变101,映射全废。

十、外网能连但卡
不是你没架起来,是家宽上行小(30M/50M上行撑几十人还行,上百人攻沙就满),或者单RunGate扛不住。开多个RunGate绑不同端口、登录器列表挂多个网关、M2里网关数配一致;云主机带宽别选1M/2M,传奇小包多,人多时上行先满,表现就是放技能迟滞、人物回退。
Windows电源别开节能,网卡高级设置关GreenEthernet/节能以太网,老引擎吃单核,别让系统把进程丢到小核上。

十一、配置文件核对清单
Mir200\!Setup.txt:ServerIP/ExtIP/GameGateIP之类按端填公网或0.0.0.0
LoginSrv\!AddrTable.txt:游戏名Line1内网IP外网IP外网IP:7000
LoginGate\Config.ini:ListenAddr、ServerAddr、ListenPort=7000
SelGate\Config.ini:7100
RunGate\Config.ini:7200,ServerAddr指向M2内网地址
微端UpdateGate/UpdateServer:有微端才改,IP和下载端口(8080/8000)都要放
登录器列表:公网IP或域名+登录端口,别写127.0.0.1、别写192.168.x.x给外人

十二、排错顺序
1.服务端电脑本机用127.0.0.1登录器能进吗——不能先别碰外网。
2.同局域网另一台电脑用192.168.1.100:7000能进吗——不能查Gate/M2/防火墙。
3.公网机telnet你的IP7000通吗——不通查路由器映射/云安全组/运营商封端口。
4.列表能刷出服务器但进不去——查7100/7200和RunGate。
5.能选人黑屏——查地图/补丁/M2场景线程/同图怪数。
6.能玩但延时飘——查上行带宽、跨运营商、WiFi、后台下载、杀软扫客户端。

十三、云主机最小可行配置
WindowsServer2016/2019或Win10/11专业版都行,老Hero端用2008R2虚拟机最稳;装VC2005-2013运行库、BDE/HeroDB(Hero系)、SQL(GOM部分端要);远程桌面开3389但安全组限自己IP;游戏端口单独放行;M2日志看“开门成功”再发登录器。
别选轻量服务器却又要装老Windows服务端,部分轻量机型系统镜像和网卡驱动折腾死人;ECS/云服务器Windows实例更常规。

十四、常见死法
把LoginGate填公网、RunGate填内网、M2填127.0.0.1,三角关系错一处就“列表有、进不去”。
路由器映射填了7000-7200,Windows防火墙没放,本地能连外网白连。
动态IP写死到登录器,宽带重拨后朋友全掉线。
运营商封80/8080,列表放自己家里IIS,列表都刷不出来,还以为是传奇挂了。
云主机安全组放了,主机防火墙没放,同样连不上。
登录器是Hero的、端是GOM的,或者反过来,直接“无法连接服务器”。

十五、登录器分发注意
发给别人的是“登录器exe+对应客户端版本说明+补丁包”,不是把整个MirServer发过去。
客户端路径别中文、别放桌面OneDrive同步目录;补丁Data/Map/Wil/Wix/Effect跟服务端Envir引用的资源对得上才显示。
外网玩家卡,先让他ping你公网IP、telnetIP7000,比让他重装客户端有用。

十六、动态域名做法
路由器支持DDNS就绑花生壳/公云;不支持就在服务端电脑跑DDNS客户端,每隔几秒把当前公网IP推到域名。
M2和登录器列表都写域名,家宽重拨后不用挨个改配置文件,只要DDNS生效。
注意DDNS有TTL缓存,IP刚变那一两分钟外面可能连不上,属正常。

十七、生产环境别踩的线
3389、22、1433、3306、6379别和游戏端口放一起裸奔;
M2后台GM命令别设弱密码;
登录器别用来路不明的“破解生成器”,很多绑远控;
外网一开就有人扫端口、试账号、刷封包,单Gate容易被打挂,正式玩得加多Gate、限连、防加速、日志轮转;
家宽开给陌生人进,上行被打满还容易被运营商警告,真要长期搞用云主机。

十八、最小外网闭环
家宽有公网IP:
路由器MAC绑定192.168.1.100→映射7000/7100/7200/8080→服务端网关写内网IP、M2外网写公网IP→DDNS域名挂列表→生成外网登录器→朋友连域名:7000→进游戏。
云主机:
买Windows云服→安全组放7000/7100/7200/8080→关/配系统防火墙→端里外网IP填云公网→列表HTTP放8080或单独小网站→登录器填公网IP→朋友进。
没公网IP:
FRP公网机做服务端跳板,或花生壳TCP映射,登录器填映射域名和分配端口。

十九、一句话抓本质
传奇外网架设=服务端知道“自己外号叫什么(公网IP/域名)”+网络层把7000/7100/7200送到服务端+网关回包地址不是127.0.0.1+登录器列表和网关端口一字不差。这四句全对,外网就能进;差一句,就不是“卡”,是根本连不上。

二十、进不去时别乱重装
先看M2日志有没有“RunGateConnect/GateOpen/开门成功”;
再在朋友机器cmd里telnet你的公网IP7000,通了说明网络层OK,问题在网关/M2/登录器;
telnet不通就回到路由器/云安全组/运营商封端口;
能选角色但黑屏,网络已经通了,去查Map/Envir/客户端补丁/同图怪数/场景线程。
外网架设最忌“反正重下个端试试”,端一换,IP、端口、列表格式、网关名全变,排错成本反而更高。先把一个纯净端跑通外网,再换版本,才叫会架。
[顶部]