外网架设与单机架设的核心区别在于,玩家不再通过127.0.0.1访问服务端,而是通过服务器的公网IP或域名连接。整个架设流程分为八个环节:准备工作与环境搭建、公网IP获取与端口映射、服务端IP配置修改、网关IP配置、列表文件部署、登录器配置生成、服务端启动与测试、常见问题排查。按顺序逐一执行,每完成一个环节确认无误再进入下一环节。
一、准备工作与环境搭建
外网架设需要准备五样东西:传奇服务端、DBC2000数据库、传奇客户端、版本配套补丁、一台具有公网IP的服务器。服务器可以是云服务器,也可以是具备公网IP的家用电脑,但后者需要处理路由器端口映射,配置复杂度更高。
云服务器推荐选择2核4G以上配置,系统使用Windows Server 2012 R2或更高版本。购买时选择预装IIS的Windows Server镜像,或者购买后手动安装IIS组件,IIS用于搭建网站存放列表文件。服务端解压路径必须为纯英文短路径,推荐D:\MirServer,路径中不能包含中文、空格或特殊符号。客户端解压到另一个磁盘根目录,例如E:\Legendofmir。
安装微软常用运行库合集,包含VC++ 2005至2022所有版本的32位和64位组件。安装DBC2000数据库,在控制面板的BDE Administrator中新建STANDARD数据库,重命名为HeroDB,PATH路径设置为D:\MirServer\Mud2\DB。这一步与单机架设完全相同,此处不再展开。
二、公网IP获取与端口映射
登录云服务器控制台,在实例详情页中找到公网IP地址并记录。家用宽带用户可在浏览器搜索“我的IP”查看公网IP,或在路由器管理后台的WAN口状态页面查看。
传奇服务端需要开放三个核心端口:登录网关7000、角色网关7100、游戏网关7200。这三个端口的协议类型均为TCP+UDP,需要同时放行两种协议。若使用微端功能,还需额外放行微端网关端口8000。
云服务器用户操作路径:进入云服务器控制台,找到安全组或防火墙设置,添加入站规则。规则内容为:协议类型选择TCP+UDP,端口范围填写7000/7200,源IP地址填写0.0.0.0/0,动作选择允许。重复添加8000端口的规则。部分云服务商的安全组规则需要分别添加TCP和UDP两条,需根据控制台界面提示操作。
家用宽带用户需在路由器管理后台设置端口映射。登录路由器后台,地址通常为192.168.1.1或192.168.0.1。找到虚拟服务器或端口转发选项,添加以下映射规则:外部端口7000,内部端口7000,内部IP地址填写服务端所在电脑的局域网IP,协议选择TCP+UDP,状态勾选启用。依次添加7100、7200、8000三个端口。如果路由器支持DMZ主机功能,可将服务端电脑的局域网IP填入DMZ主机设置,但DMZ会暴露该电脑的所有端口,安全性低于端口映射,建议优先使用端口映射。
家用宽带的公网IP通常是动态的,重启路由器后会发生变化。需要配置DDNS动态域名解析服务。在路由器后台找到DDNS设置,选择花生壳、阿里云解析或No-IP等服务商,绑定域名。配置完成后,玩家通过域名即可访问服务端,无需关心IP变化。云服务器拥有固定公网IP,不需要DDNS。
端口映射配置完成后需要验证是否生效。在命令提示符中执行telnet 公网IP 7000,若提示Connected则说明端口已开放。也可使用在线端口检测工具,输入公网IP和7000端口,显示Success即为映射成功。若显示无法连接,检查路由器映射规则是否保存并重启路由器,检查Windows防火墙是否已放行对应端口。Windows防火墙放行方法:进入控制面板的Windows Defender防火墙,点击高级设置,选择入站规则,新建规则,选择端口,输入7000-7200,允许连接,应用规则到所有网络类型。
三、服务端IP配置修改
打开MirServer根目录,找到引擎控制器程序,双击打开后点击配置向导。配置向导第一页中,游戏服务器外网IP地址栏填写服务器的公网IP。如果是云服务器,勾选动态IP模式选项,引擎会自动获取当前公网IP。如果是家用宽带配合DDNS,同样勾选动态IP模式,引擎会通过DDNS域名解析获取公网IP。
游戏服务器名称可自定义,建议使用纯英文或中文,避免特殊符号。登录网关端口保持7000,角色网关端口保持7100,游戏网关端口保持7200。连续点击下一步直到生成新的配置文件。
打开MirServer\Mir200文件夹,用记事本打开!Setup.txt文件,搜索ServerIP和ServerName字段。ServerIP的值应为公网IP或0.0.0.0,0.0.0.0表示监听所有网络接口。ServerName字段填写服务器名称。同时搜索LoginPort字段,确认其值为7000。保存文件。
打开MirServer\DBServer文件夹,用记事本打开dbsrc.ini文件,确认其中的IP地址字段为公网IP或127.0.0.1。DBServer通常只需本地连接,使用127.0.0.1即可,无需改为公网IP。
四、网关IP配置修改
服务端目录下有多个网关程序,需要逐个修改其配置文件中绑定的IP地址。
登录网关位于MirServer\LoginGate文件夹,用记事本打开LoginGate.ini或!addrtable.txt文件,将其中所有的127.0.0.1替换为服务器的公网IP。部分引擎的登录网关配置文件为LoginSrv.ini,位于MirServer\LoginSrv文件夹中,同样将IP字段改为公网IP。
游戏网关位于MirServer\RunGate文件夹,打开RunGate.ini或Config.ini文件,将IP地址字段修改为公网IP。角色网关位于MirServer\SelGate文件夹,同样修改其中的IP配置。
部分引擎版本将网关IP统一存放在Mir200目录下的!runaddr.txt和!servertable.txt文件中,用记事本打开这两个文件,将其中的127.0.0.1全部替换为公网IP。
修改完成后,检查所有配置文件中IP地址的一致性。DBServer可以使用127.0.0.1,但LoginGate、LoginSrv、RunGate、SelGate中的IP必须为公网IP或0.0.0.0。如果某个网关的IP仍为127.0.0.1,外网玩家连接时数据无法正确转发。
五、列表文件部署
列表文件是一个txt文本,登录器通过HTTP协议从指定地址下载该文件,解析出服务器名称、IP和端口。外网架设中,列表文件需要托管在一个外网可访问的Web服务器上。
使用IIS部署列表文件的方法:打开服务器的IIS管理器,右键网站选择添加网站,网站名称任意填写,物理路径选择存放list.txt文件的文件夹,绑定类型选择http,IP地址选择全部未分配,端口填写88或8080等非80端口,主机名留空。点击确定完成网站创建。将list.txt文件放入该网站的物理路径文件夹中。在浏览器中访问http://公网IP:88/list.txt,能正常显示文本内容即为部署成功。
list.txt文件的内容格式因引擎而异。GOM引擎的列表格式为每行一个服务器条目,参数之间用半角英文竖线分隔,外网架设的典型写法为:服务器名称|公网IP|7000|8000|公网IP|7000|区组备注。其中第一个字段为服务器名称,第二个字段为开区IP,第三个字段为开区端口,第四个字段为微端端口,第五个字段为备用IP,第六个字段为备用端口,第七个字段为区组备注。微端端口仅在开启微端功能时需要填写,不使用微端时留空或填0。
如果使用GEE引擎,列表格式在字段顺序上存在差异,需要参照引擎自带的列表格式示例文件来写。HERO引擎的列表格式通常用空格分隔而非竖线,弄错分隔符类型会导致列表无法解析。
列表文件保存时编码选择UTF-8无BOM或ANSI格式。用Notepad++打开文件,在编码菜单中确认当前编码格式。部分引擎要求列表文件为ANSI编码,UTF-8带BOM格式会导致登录器读取时多出不可见字符,直接解析失败。
如果服务器没有备案域名,使用IIS搭建网站时,80和443端口可能被云服务商限制访问。此时使用88或8080等高位端口,登录器配置中的列表地址填写http://公网IP:88/list.txt即可。部分云服务商对未备案域名使用80端口有严格限制,使用非80端口可以绕过此限制。
六、登录器配置生成
打开服务端文件夹中的登录器配置器程序,文件名为LoginTool.exe或登录器配置器.exe。在配置器的列表地址栏中,填写部署好的列表文件访问地址,例如http://公网IP:88/list.txt。确保地址中没有多余的空格或特殊字符。
主列表地址和备用列表地址两栏填写相同地址。游戏名称栏填写与list.txt中一致的服务器名称。客户端路径栏选择本地传奇客户端的根目录路径。登录网关密码栏保持默认,除非在服务端配置中修改过密码。
如果使用微端功能,需要在配置器中勾选微端模式,微端端口填写8000,微端更新密码填写与微端服务器配置中一致的密码。如果不使用微端,不要勾选微端模式,这样登录器会引导玩家下载完整客户端。
配置完成后点击生成登录器按钮,生成的登录器文件默认保存在登录器文件夹中。将生成的登录器复制到客户端根目录,同时将登录器文件夹中的NewopUI.Pak文件复制到客户端Data文件夹中,覆盖原有文件。NewopUI.Pak是引擎的基础UI素材,缺失或版本不匹配会导致进入游戏后界面显示异常。
家用宽带DDNS场景中,登录器配置器中的列表地址建议填写域名而非IP,例如http://你的域名:88/list.txt。这样即使公网IP发生变化,登录器仍能通过域名正确解析到列表文件。云服务器使用固定公网IP,直接填写IP地址即可。
七、服务端启动与测试
正确的启动顺序对服务端能否正常运行至关重要。第一步,打开任务管理器,结束所有Mir200、DBServer、Gate、登录器相关残留进程。第二步,进入MirServer\DBServer目录,双击运行DBServer.exe,等待窗口显示数据库加载完成,保持该窗口运行。第三步,依次启动日志网关和计费网关程序。第四步,进入MirServer\Mir200目录,运行M2Server.exe主引擎,等待引擎自动加载脚本和地图资源,直至窗口显示启动成功且无红色报错。第五步,依次启动登录网关、角色网关、游戏网关等全部网关程序,窗口显示连接成功、端口监听正常即为运行正常。
所有服务端窗口启动完成后,将生成的登录器复制到客户端根目录,双击打开登录器。列表中会出现配置好的服务器条目,点击进入即可创建角色。在服务器本机测试成功后,将登录器分发给外网玩家测试。外网玩家将登录器放入客户端根目录,双击运行,如果能正常读取列表并进入游戏,说明外网架设成功。
八、常见问题排查
外网玩家提示无法连接服务器时,按以下顺序排查。第一步,确认端口映射是否生效,使用在线端口检测工具输入公网IP和7000端口,显示Success则映射正常。第二步,检查Windows防火墙是否放行了7000至7200端口范围,未放行时添加入站规则。第三步,检查服务端所有网关的IP配置是否已全部改为公网IP,遗漏任何一个网关都会导致连接失败。第四步,确认登录器配置器中的列表地址使用的是公网IP或域名,而非127.0.0.1。
登录器能读取列表但点击进入后黑屏或掉线,检查服务端M2Server窗口是否有红色报错。若报错提示某个地图文件加载失败,将该地图文件从客户端Map文件夹复制到MirServer\Mir200\Map文件夹中。若报错提示脚本错误,根据错误信息中显示的文件名和行号,用Notepad++打开对应脚本文件,将编码转为ANSI格式后保存。
家用宽带用户外网连接不稳定或频繁掉线,检查路由器的DMZ主机设置是否与端口映射规则冲突。DMZ会暴露服务端电脑的所有端口,同时开启DMZ和端口映射会导致数据包路由混乱。关闭DMZ,仅保留端口映射规则即可。
云服务器用户提示连接超时,检查安全组规则中的源IP是否填写为0.0.0.0/0。部分云服务商的安全组规则默认只允许内网访问,需要在入站规则中手动添加公网访问权限。同时确认云服务器的公网带宽是否充足,带宽不足时玩家连接会出现高延迟或掉线。
关于内网穿透方案,如果家用宽带无法获取公网IP,路由器WAN口IP为100.64.x.x或10.x.x.x这类内网地址,说明运营商未分配公网IP。此时无法使用端口映射方案,需要使用内网穿透工具如FRP、花生壳或ZeroTier。FRP方案需要一台具有公网IP的云服务器作为中转,在云服务器上部署FRP服务端,在本地服务端电脑上部署FRP客户端,将本地的7000、7100、7200端口映射到云服务器的对应端口。玩家通过云服务器的公网IP连接游戏。FRP方案的延迟高于直接端口映射,适合朋友间小规模联机使用。ZeroTier方案则是在服务端和玩家端都安装ZeroTier客户端,组建虚拟局域网,玩家通过虚拟IP连接服务端,无需公网IP,配置最简单但需要所有玩家安装ZeroTier客户端。

