状态检测做了什么?
Minecraft 服务器状态检测会向服务器发送一个非常简短的请求,与游戏客户端展示服务器列表时发送的请求完全相同。服务器返回包含版本、MOTD、玩家数、最大槽位和协议版本的类 JSON 数据集。不会进行登录,不占用槽位,也不会影响游戏运行。
- Java Edition:TCP 端口 25565(默认),Server-List-Ping 协议
- Bedrock Edition:UDP 端口 19132(默认),基于 RakNet 的 Unconnected-Pong
- SRV 记录会自动解析,您只需输入主机名而无需端口
- 若服务器已配置,则同时支持 IPv4 与 IPv6
MOTD、SRV 与协议版本说明
MOTD 代表 Message of the Day。这是游戏内服务器列表中显示在服务器名称下方的文本。运营方常用它放置宣传语、IP、Discord 链接或彩色状态信息。颜色和格式代码(Section-Sign 代码)会以清理后的纯文本形式展示,确保结果可读。
SRV-Records 是一种特殊的 DNS 记录,将一个服务(这里是 Minecraft)映射到实际的主机名加端口。例子:玩家在客户端输入 play.example.com,客户端查询 _minecraft._tcp.play.example.com,得到 mc01.hoster.net:25577 并连接过去。这样可以在内部迁移服务器而不需要玩家更改地址。
协议版本 (例如 Java 1.20.4 对应 765)决定了服务器可以与哪些客户端版本通信。ViaVersion 等插件可以扩展兼容范围,使一台服务器同时接受多个客户端版本。
为什么我的服务器显示为离线
如果您的服务器实际在运行但这里显示离线,常见原因可按以下顺序排查:
- 防火墙: 端口 25565(Java)或 19132(Bedrock)从外部被屏蔽。请检查 UFW、iptables、Hetzner 防火墙、Windows 防火墙等。
- 绑定地址: 服务器绑定到
127.0.0.1 而非 0.0.0.0,则只能本地访问。
- DNS 记录错误: A 或 AAAA 记录指向了与服务器不同的 IP。
- SRV 记录错误: 若使用非默认端口,必须设置 SRV 记录,否则客户端会查找默认端口。
- Server-Properties:
enable-status=true 必须正确配置,否则服务器不会响应 Ping。
- Bedrock 与 UDP: 家庭网络环境下许多人忘记开放 UDP 端口(不是 TCP)。
- 运营商 CGNAT: 运营级 NAT 后的连接通常无法从外部访问,需要使用 VPS 或隧道。
隐私与限制
状态检测通过以下服务的公共 API 进行: mcstatus.io。我们仅传递您输入的服务器地址。不设置 Cookie,不进行追踪,也不持久存储请求。Web 服务器日志(用于安全和速率限制)将在短时间后删除。
- 每个 IP 每分钟 30 次请求
- hCaptcha 防护表单免受自动滥用
- 服务端屏蔽私有和保留 IP 范围(anti-SSRF)
- 无追踪、无分析脚本、无第三方 Cookie