想要让外地朋友连接到本地搭建的传奇,核心就是把服务端内全部内网地址替换为公网地址,同时放行对应端口,完成路由器映射或者云服务器安全组配置,整套操作需要按照顺序执行,遗漏任意一步都会出现连接失败。
先区分两种部署环境,家用电脑搭建和云服务器搭建,网络设置方式完全不一样。家用宽带架设首先要确认宽带是否拥有公网IP,没有公网IP的情况下,路由器端口映射无法生效,外网用户无法访问本机。可以通过查询本机出口IP,对比路由器WAN口IP,两个地址一致就是公网IP。如果没有公网IP,需要使用内网穿透工具转发端口,稳定性会低于原生公网线路。云服务器环境不需要路由器映射,只需要在服务商后台安全组开放游戏所需端口,同时关闭系统防火墙或者添加放行规则。
准备工作完成后,先设置电脑内网地址。家用电脑需要把本机IP设置为静态内网IP,避免每次重启电脑IP变动,导致之前做好的端口映射失效。进入网卡属性,手动填写IP、子网掩码、网关和DNS,保存后重启网卡确认地址不变。服务端文件存放路径不能包含中文、空格和特殊符号,磁盘路径层级不要太深,防止引擎读取文件异常。提前装好数据库工具,单机测试确认版本可以正常登录,单机127.0.0.1能够进游戏,再着手外网配置,不要直接跳过单机测试,一次性修改全部参数,出现故障很难定位。
接下来修改服务端内所有IP配置文件。打开服务端文件夹,找到引擎配套的控制器,里面包含游戏网关、登录网关、人物网关等组件。所有网关配置里的IP地址,全部替换为公网IP,不要保留127.0.0.1或者内网192段地址。不同引擎需要修改的配置文件略有区别,常见的有Mir200下的!Setup.txt,还有各个网关的ini配置文件,逐个打开查找IP字段,统一替换。修改完成保存文件,暂时不要启动引擎程序。
确认传奇需要开放的端口,主游戏端口、登录网关端口、人物网关、列表端口都需要放行。常用端口包含7000,7100,7200,7300,列表端口一般选用80或者8080,开启微端的情况下还要额外放行微端网关端口。家用路由器登录后台,找到转发规则或者虚拟服务器选项,新增端口映射条目,外部端口和内部端口填写一致,内部IP填写电脑静态内网IP,协议选择TCP,保存并启用映射规则。云服务器进入后台安全组,添加入站规则,把对应端口全部放开。系统防火墙也要添加放行规则,否则就算路由器映射成功,系统依旧拦截外部连接请求。
完成IP与端口配置之后,配置登录器列表。打开登录器配置工具,在游戏列表填写公网IP以及对应游戏端口,列表地址填写能够外网访问的列表文件地址。列表文件可以放置在网页空间或者本地简易列表服务程序,列表内IP和端口必须和服务端网关保持一致,字符不能有多余空格。导入pak密码文件,核对素材包密码,确认补丁相关参数无误,重新生成全新登录器。生成后的登录器交给外网使用者,客户端内需要放置配套补丁,客户端路径同样不能带有中文。
全部文件修改完毕,按顺序启动服务端程序。先启动数据库,再依次启动各个网关,最后启动M2引擎。观察网关日志窗口,查看端口监听状态,提示端口监听成功,代表本地端口已经正常启用。如果提示端口被占用,需要关闭占用端口的程序,或者更换服务端口,重新修改所有配置文件内的端口参数。网关全部正常加载之后,使用另一台非同一局域网的设备,打开登录器尝试连接。同局域网内测试不能代表外网已经通,内网访问不经过路由器WAN口映射,只能用来验证服务端本身是否正常。
外网连接失败时按固定顺序排查。第一步查看网关日志,确认端口是否监听成功,端口监听失败优先检查防火墙和端口占用。第二步核对所有配置文件IP,检查是否存在遗漏的配置文件依旧保留内网IP。第三步检查路由器映射或者云服务器安全组规则,确认端口协议与目标内网IP填写正确。第四步测试端口连通性,使用端口检测工具,查看公网IP对应端口是否对外开放,端口不通基本就是网络层面拦截。第五步检查登录器列表,IP端口写错、列表无法访问,都会导致列表空白或者服务器无法连接。
外网架设完成之后,还要留意网络稳定性。家用宽带上传带宽有限,连接人数较多时会出现延迟高、卡顿掉线的情况。动态公网IP每次宽带重启,公网IP会发生变化,IP变动之后,所有配置文件和登录器列表都需要同步更新。定期查看网关日志,及时处理异常连接,不需要使用的端口建议关闭,减少外部访问风险。所有参数修改之后,必须完整关闭全部引擎程序,重新启动服务端,新的IP和端口配置才会生效,只保存文件不重启引擎,配置不会加载。

