传奇服务端外网架设的核心在于打通网络通道。本地能玩和外地朋友能连进来是两回事,前者只涉及127.0.0.1回环地址,后者需要让公网流量能够到达你内网的服务端。以下从实际部署角度,把整个流程拆开来说。
服务端本身的搭建是基础。版本包解压后固定放在D盘根目录,文件夹名称必须为MirServer,这个路径规范直接影响后续引擎对资源的识别。DBC2000数据库安装后,通过BDE Administrator新建STANDARD数据库,别名设为HERODB,PATH指向D:\MirServer\Mud2\DB,路径不要手动输入,复制粘贴避免漏掉反斜杠。数据库配置完成后重启一次服务器让设置生效。
引擎配置环节最关键的是IP地址的填写。打开服务端控制器或配置向导,服务器IP一栏填公网IP而不是127.0.0.1,云服务器环境下必须勾选动态IP模式,否则外网玩家无法连接。登录网关默认端口7000,游戏网关默认7200,这些端口在服务端配置文件中一一对应。配置保存后会生成GameCenter.ini之类的控制文件,需要确认DynamicIPMode的值为1。
接下来是外网访问方案的选择,取决于你手头有什么资源。如果有云服务器,这是最省事的路子。云服务器自带固定公网IP,不需要折腾路由器,重点变成在云平台控制台的安全组里放行端口。登录云服务器管理页面,找到安全组或防火墙配置,添加入站规则:协议选TCP+UDP,端口范围填7000-7300(覆盖登录、角色、游戏三个核心端口),源IP可以临时设为0.0.0.0/0进行测试。需要留意的是,部分云服务商对未备案域名使用80或443端口有严格限制,如果登录器列表需要从服务器读取,用IP加非标准端口也能工作,但朋友访问时不够方便。
如果是用家里电脑架设并且宽带分配了公网IP,则需要做端口映射。先确认服务器的内网IP,命令行执行ipconfig,找到IPv4地址,比如192.168.1.100,这个IP需要是静态的,否则路由器重启后IP变化会导致映射失效。然后登录路由器后台,地址通常是192.168.1.1或192.168.0.1。不同品牌路由器的入口名称不同:TP-Link在高级设置下的NAT转发里找虚拟服务器,小米在常用设置里找端口转发。每个端口单独添加一条规则:外部端口填7000,内部端口也填7000,内部IP填服务器内网地址,协议选TCP+UDP,状态启用。7100和7200重复同样的操作。
家庭宽带还有一个绕不开的问题:公网IP是动态的,重启光猫或过一段时间就会变。解决办法是用DDNS服务把域名绑定到变化的IP上。在路由器管理界面找到DDNS设置,选择花生壳或阿里云DDNS,填入域名和服务商账号。这样玩家通过固定域名连接,不需要每次IP变了就重新通知。有玩家实测用花生壳内网穿透方案,比传统路由映射的成功率高出不少。
如果宽带根本没有公网IP,也就是运营商给的是大内网地址,端口映射这条路走不通。这时候需要用内网穿透工具。FRP是技术圈常用的方案,需要在有公网IP的服务器上部署frps服务端,在本地服务端机器上运行frpc客户端,把7000、7100、7200这几个端口映射出去。花生壳的操作更简单一些,安装客户端后添加映射规则,指定内网端口和外网访问域名即可。另外Cloudflare Tunnel在延迟表现上有优势,实测比传统花生壳方案延迟降低约45%。
端口通不通需要验证。服务端全部组件按顺序启动后,在服务器本地用netstat -an命令查看7000、7100、7200端口是否处于LISTEN状态,如果只绑定了127.0.0.1而没有绑到0.0.0.0,外部流量就进不来。在外网环境用telnet命令测试公网IP加端口,比如telnet 123.123.123.123 7000,显示Connected说明通道是通的。也可以用在线端口检测工具,访问canyouseeme.org输入端口号,Success表示映射生效。
服务端启动成功但玩家连不上,排查顺序是这样的:先在服务器上临时关闭Windows防火墙测试,如果能连上说明是防火墙拦截,需要在入站规则里放行TCP 7000到7200端口范围。云服务器还要检查安全组规则是否已经添加了对应的入站规则,安全组默认拒绝所有入站流量,必须显式放行。如果服务端在局域网内其他电脑能连、外网不行,问题基本锁定在路由器映射或公网IP环节,重点检查映射规则里的内部IP是否和服务器实际内网IP一致。游戏内出现数据不同步的情况,需要核对各网关的IP配置是否统一,LoginGate、SelGate、RunGate使用的IP地址必须保持一致。
服务器硬件配置按在线人数来定。测试阶段50人以内,1核2G内存加5M带宽可以跑起来。50到200人的中小型服建议2核4G加10M带宽起步,硬盘用SSD能明显提升数据库读写速度。超过200人在线需要4核8G加20M带宽的配置,海外服务器优先选CN2直连线路,国内玩家访问延迟更低。服务端的日志文件要定期清理,长时间运行积累的日志会占用大量内存,影响多人在线时的响应速度。

