Lucky Stun内网穿透+srv解析搭建Minecraft服务器网络-家庭宽带搭建我的世界服务器
前言
在家庭宽带环境下搭建Minecraft服务器,最大的困扰就是动态IP和端口访问问题。本教程将介绍如何通过Lucky Stun内网穿透结合Lucky的Webhook功能,实现动态修改SRV解析记录,让玩家可以通过域名直接访问您的Minecraft服务器,无需记住复杂的IP地址和端口号。
✅ 实现域名无端口访问Minecraft服务器
✅ 自动化管理动态端口,无需手动修改DNS
✅ 适用于家庭宽带环境,无需公网IP
✅ 基于Cloudflare免费服务,成本低廉
一、前期准备
所需服务和工具:
- 一个域名(需要托管到Cloudflare)
- Lucky软件(用于内网穿透)
- 运行中的Minecraft服务器
- Cloudflare账号
提示:本教程假设您已经有一个正常运行的Minecraft服务器。如果还没有搭建,可以先观看这个视频教程:【飞牛NAS:家庭宽带开我的世界服务器】。
二、Cloudflare域名托管和SRV记录配置
1. 将域名托管到Cloudflare
首先确保您的域名已经托管到Cloudflare。如果还没有,请登录Cloudflare控制台添加您的域名。
2. 创建SRV解析记录
在Cloudflare DNS管理页面,新建一条SRV类型的解析记录:

| 字段 |
值 |
说明 |
| 类型 |
SRV |
服务记录类型 |
| 名称 |
_minecraft._tcp.mc |
Minecraft服务的标准SRV记录格式 |
| 优先级 |
0 |
服务优先级 |
| 权重 |
1 |
服务权重 |
| 端口 |
6666 |
初始端口号(之后通过Webhook动态修改) |
| 目标 |
mc.yourdomain.com |
替换为您的实际域名 |

3. 获取DNS记录API地址
保存SRV记录后,点击编辑该解析记录。按F12打开浏览器开发者工具,切换到“网络”选项卡,并开启“保留日志”功能。


在开发者工具打开的状态下,点击“保存”按钮保存解析记录。在网络请求中找到一个包含长串字符的请求,复制其URL地址。
URL格式类似:https://dash.cloudflare.com/api/v4/zones/******/dns_records/******

重要:请妥善保存这个URL,后续Webhook配置需要用到。注意将URL中的 dash.cloudflare.com/api替换为 api.cloudflare.com/client。
4. 添加A记录或CNAME记录
为 mc.yourdomain.com添加解析记录,有两种方式:
- A记录:直接指向穿透后的IPv4地址(可配置DDNS自动更新)
- CNAME记录:指向另一个已配置DDNS的域名(推荐)

三、获取Cloudflare API令牌
1. 访问API令牌页面
登录Cloudflare后,点击右上角头像,选择“我的个人资料”。

2. 创建API令牌
在个人资料页面,选择“API令牌”选项卡,点击“创建令牌”。

3. 选择模板
选择“编辑区域DNS”模板,这个模板已经包含了修改DNS记录所需的权限。

4. 配置权限
在区域设置中,选择您要管理的域名。其他设置保持默认即可。

5. 生成并保存令牌
点击“继续以显示摘要”,然后“创建令牌”。
重要:API令牌只会显示一次,请立即复制并妥善保存!
四、Lucky Stun穿透配置
1. 添加穿透规则
在Lucky软件中添加新的Stun穿透规则:
| 配置项 |
值 |
说明 |
| 目标地址 |
127.0.0.1 |
本地回环地址 |
| 目标端口 |
25565 |
Minecraft服务器端口(根据实际情况调整) |

2. 开启Webhook功能
在Lucky穿透规则中启用Webhook,并按以下参数配置:
接口地址:
https://api.cloudflare.com/client/v4/zones/******/dns_records/******
(将之前保存的URL中的 dash.cloudflare.com/api替换为 api.cloudflare.com/client)
请求头:
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
将 YOUR_API_TOKEN替换为您的Cloudflare API令牌。
请求体:
{
"type": "SRV",
"name": "_minecraft._tcp.mc.yourdomain.com",
"data": {
"priority": 0,
"weight": 1,
"port": #{port},
"target": "mc.yourdomain.com"
},
"ttl": 1
}
将 yourdomain.com替换为您的实际域名。
成功响应包含的字符串:
"success":true
说明:#{port}是Lucky的变量,会自动替换为当前穿透的端口号。TTL设置为1表示DNS记录的缓存时间为自动。

五、测试和验证
1. 启动穿透
在Lucky中启动配置好的Stun穿透规则。如果Webhook配置正确,您应该能在日志中看到DNS记录更新成功的提示。
2. Minecraft客户端测试
打开Minecraft游戏客户端,在服务器地址栏输入:
mc.yourdomain.com
无需添加端口号,直接点击连接。

3. 验证连接
如果配置正确,您应该能够成功连接到服务器。客户端会自动通过SRV记录查询到正确的端口并建立连接。

故障排除:如果连接失败,请检查:
- Lucky穿透是否正常运行
- Webhook是否成功调用(查看Lucky日志)
- DNS记录是否已更新(可通过nslookup等工具查询)
- 防火墙是否阻挡了相关端口
六、高级配置和优化
自动化脚本
可以编写脚本定期检查穿透状态,确保服务的稳定性:
- 监控Lucky穿透进程
- 检查端口变化
- 验证DNS记录更新
多服务器支持
如果有多个Minecraft服务器,可以配置不同的子域名:
survival.yourdomain.com - 生存服务器
creative.yourdomain.com - 创造服务器
modded.yourdomain.com - 模组服务器
监控和日志
建议配置监控系统,跟踪:
- 穿透连接状态
- DNS更新频率
- 玩家连接情况
- 服务器性能指标
七、常见问题解答
Q: 为什么需要使用SRV记录?
A: SRV记录允许Minecraft客户端自动发现服务器的端口号,这样玩家只需要输入域名就能连接,无需知道具体的端口号。
Q: Webhook更新DNS记录有延迟吗?
A: 通常DNS记录更新在几秒到几分钟内生效,具体时间取决于TTL设置和DNS服务器的缓存策略。
Q: 如果Lucky穿透失败怎么办?
A: 可以配置多个Stun服务器作为备选,或者结合其他穿透方案(如frp、ngrok等)作为备用方案。
Q: 这个方案适用于其他游戏吗?
A: 原理相同,但需要根据不同游戏的SRV记录格式进行调整。例如,TeamSpeak使用 _ts3._udp格式。
总结
通过Lucky Stun内网穿透结合Cloudflare Webhook的方案,我们成功实现了Minecraft服务器的域名无端口访问。这个方案具有以下优势:
✅ 用户友好:玩家只需记住简单的域名即可连接
✅ 自动化管理:端口变化时自动更新DNS记录
✅ 成本低廉:基于免费的Cloudflare服务
这个解决方案特别适合在家庭宽带环境下搭建游戏服务器的用户,让您的朋友可以通过简洁的域名轻松加入您的游戏世界。
扩展阅读:如需了解在飞牛NAS上搭建Minecraft服务器的详细步骤,可以观看以下视频教程:
视频教程:【飞牛NAS:家庭宽带开我的世界服务器 | 家庭宽带开服终极优雅方案:Cloudflare双域名重定向】