老规矩,先说我当时为什么折腾这个。我在雨云开了一台NAT模式的小VPS,装好MCSM面板后,把Minecraft服务端一跑,给朋友发连接地址。一开始发的是 103.xx.xx.xx:20001 这种带端口的长串,结果总有人复制漏了数字,有人以为IP后面那串数字是版本号,还有人每次我重启换端口就要重新问一遍。后来我花了点时间把域名和SRV记录配好,玩家在服务器地址栏只需要填 play.example.com 这样一个纯域名,其他什么都不用管,直接进服。这篇内容就是把这条"雨云NAT + MCSM + 域名SRV"的无端口登录链路完整讲清楚。
这篇东西适合谁看?在雨云或类似NAT机型上开了Minecraft服,想给玩家一个更稳定、更优雅的入口,同时又不太懂DNS和SRV细节的朋友。我会从最底层的原理开始,一步一步给到配置思路,后面还附了我实际踩过的坑,尽量让你一口气配完就能用。
1. NAT小主机开MC服,先弄明白这几个东西各管哪一段
1.1 NAT模式:共享公网IP与端口映射
很多人第一次用NAT机,以为跟普通VPS一样,结果进系统发现 ip addr 看到的是一堆内网地址,瞬间就懵了。NAT模式说白了就是:宿主机占着一个公网IP,上面挂了几台甚至几十台小虚拟机,每台虚拟机只分一个内网IP,宿主机再把公网IP上的一堆端口分别转发到内网对应的端口。
打个比方,这就是一栋楼只有一个大门口,每户有不同的门牌号,外人到了楼门口之后按门牌号喊一声,里面才有人应。对于Minecraft服务器来说,这种模式最大的影响是:玩家连接入口永远是“一个公网IP + 一个特定端口”,而不是“独立公网IP + 默认25565端口”。这也是为什么后边需要SRV记录来把端口藏起来,不然你发给玩家的地址永远是又长又难记的 IP:端口。
NAT主机的好处也很直白:便宜、部署快、资源够用。对于一个三五好友联机的小服务器,或者几十人的小型社区服来说,延迟和带宽往往比独立IP更重要。只要能把端口映射这条链路搞清楚,体验完全可以做得很好。
1.2 MCSM面板在整条链路里的真实位置
MCSM全称MCSManager,是跑在虚拟机上的一套Minecraft服务器管理面板。它的作用是帮你把Minecraft服务端实例管起来:在Web界面里点击创建Java版服务端、基岩版服务端,改配置文件,看控制台日志,设置计划任务重启。你可以把它理解成一个针对Minecraft的“运维平台”。
这里必须强调一个容易混淆的点:MCSM面板跟NAT端口映射没有直接关系,它们是两个不同层级的东西。
- 雨云控制台负责:给虚拟机分配内网IP、配置公网端口转发规则。
- MCSM负责:在虚拟机内部把Minecraft服务实例跑起来、管理起来。
- 真正给玩家进游戏听的端口,是Minecraft服务实例监听的端口。
很多朋友把MCSM面板的登录地址当成了游戏地址发给玩家,然后一脸懵地问“怎么连不上”。面板地址一般是 公网IP:面板管理端口,游戏地址则是 公网IP:游戏端口,同一个IP,但端口用途完全不同,一个是网页服务,一个是游戏流量。
1.3 SRV与“无端口登录”到底是什么关系
SRV记录是DNS域名系统里的一种记录类型,专门用来告诉客户端“某种服务的服务器主机名和端口”。普通A记录能告诉浏览器“这个域名对应哪个IP”,但SRV能更进一步:以 _minecraft._tcp 开头的SRV记录,能告诉Minecraft客户端“这个域名的
