阿里云服务器完全可以架设测试用的传奇服务端,内网测试通过只是程序在本机回环跑通,发布到外网必须把云网络、系统防火墙、引擎监听地址、登录器列表四层配置全部改对。下面按可落地步骤写,GOM、GEE、BLUE引擎思路通用。
一、阿里云侧必须先确认的三件事
1. 实例要有公网入口
ECS控制台看实例是否绑了弹性公网IP(EIP)。只有私网IP(172.x或10.x开头)外网是摸不到的。没公网IP就先绑定EIP。
2. 安全组入方向放行游戏端口
传奇常用端口:7000(RunGate游戏主端口)、7100(登录角色)、7200、7300,以及微端8000、列表站80或8080等。
阿里云控制台→安全组→入方向规则:
协议选TCP
端口范围填7000/7000、7100/7100、7200/7200,或偷懒写7000/7999
授权对象测试期填0.0.0.0/0,正式期收成自己办公IP/32
方向选入方向,策略允许
安全组是独立于系统防火墙的第一道闸,不配等于外网全挡。
3. VPC网络ACL默认放行
如果你之前手贱改过ACL,把对应TCP端口也放开。默认情况下不用动。
二、服务器系统内防火墙
Windows ECS:高级安全防火墙→入站规则→新建规则,放行上述TCP端口。或者直接关防火墙做测试,生产别长期关。
Linux用wine跑引擎少见,firewalld或iptables同端口放行。
验证监听:服务端起来后cmd里执行netstat -an | find "7000",看到0.0.0.0:7000 LISTENING才对。
三、服务端配置改什么
内网测试时一堆127.0.0.1,外网发布要分两类地址处理。
1. 服务端内部通信填ECS内网IP
DBServer.ini、LoginSrv.ini里的IPAddress、ServerIP、LocalIP
Gate_Server下LoginGate、RunGate的MirGate.ini里LocalIP、ServerIP
M2配置向导里数据库IP、网关IP填内网IP(172开头或控制台实例IP)
千万别把网关监听填成公网IP,否则内部转发绕路甚至起不来。
2. 监听地址改0.0.0.0
找到!Setup.txt、引擎配置器里的监听IP:
BindIP=0.0.0.0
这样服务端才接公网进来的包,127.0.0.1只会听本机。
3. 端口保持一致
LoginSrv.ini、!Setup.txt、M2端口、网关端口、登录器列表端口必须一一对应。别服务端开7000,登录器填7100。
4. 动态IP或单机模式关掉
GEE、GOM配置器里关绑定本机、单机模式,开外网访问权限、跨网登录。
四、登录器和列表文件重做
玩家侧只认公网IP,不是你服务器里写啥他就连啥。
1. 登录器配置器
主列表地址填http://公网IP:端口/list.txt或http://域名/list.txt
游戏服务器IP填公网IP
游戏端口填7000(按你实际)
微端IP填公网IP,微端端口8000,密码和服务端UpdateServer一致
2. 列表文件list.txt内容
不同引擎格式略有差异,大致为:
测试外网一区 公网IP 7000
3. 微端UpdateServer
pak.txt路径、资源目录、更新密码和登录器配置器完全对上,不然进游戏黑屏或装备不显示。
4. 重新生成登录器exe,别拿内网那版直接发。
五、起服顺序与自检
起服顺序:DBServer → LoginSrv → LoginGate → SelGate → RunGate → M2
M2日志无红字、地图怪物加载完,本机先用新登录器进一次。
然后换一台外网机器(手机热点)测:
列表空白:查list.txt格式、HTTP服务、80端口安全组
点开始游戏秒断:查7000、7100安全组加防火墙加监听0.0.0.0
能选角进图黑屏:微端没起或pak密码错
telnet公网IP 7000黑屏就是通,报错就是被拦
六、用域名代替IP可选
买域名→A记录指向ECS公网IP→登录器填域名。
注意:国内云机用域名开80或443做列表站,按规要ICP备案;纯IP测试不用备。
动态IP场景写个脚本定时改配置加刷新解析,但阿里云EIP是固定公网IP,不用折腾DDNS。
七、性能与合规顺带说一句
测试期2核4G能跑,挂机脚本、微端、多网关起来再往上加配置。
系统盘别直接放MirServer,放D盘;远程桌面复制文件比ftp省事。
正式给外人玩前,把安全组授权对象收窄、改默认端口、加M2防扒配置、关多余共享。
内网通只是程序能跑,外网通是云入口加系统墙加监听地址加登录器四条链全对。按上面改完,外网机器用新登录器直接进图。

