Minexa说明书
进阶网络与联机

STUN 直连与 EasyTier 组网

不想租服务器?STUN 尝试打洞、EasyTier 组虚拟局域网;各自的前提、成功率和“不是万能”的原因。

你已经确认家里没有公网 IP,也不想为了偶尔联机去租一台服务器。Minexa 的网络页上还有两条不依赖自己服务器的路:STUN 直连和 EasyTier 组网。

它们看起来都是“点一下就能连”,实际前提完全不同。STUN 要求你的网络恰好是少数派;EasyTier 要求每个玩家都装客户端。先弄清代价,再决定要不要折腾。

本页要点
  • STUN 只有一种模式:TCP + 全锥形 NAT(NAT1),没有 UDP、没有 TURN、也没有中继。

  • 内置 6 台 STUN 服务器,保活 20 秒、并发上限 128,高级设置一般不用动。

  • EasyTier 是虚拟局域网,每个玩家都要装客户端,而且只转发 TCP。

  • 两条都走不通就回 FRP;STUN 会把家庭公网 IP 暴露给玩家。

先说结论#

  • 朋友不愿装任何软件,且你的网络是 TCP + 全锥形 NAT:可以试 STUN,但接受它随时可能失败。

  • 固定小圈子,每个人都愿意装 EasyTier:用组网,地址固定,适合长期。

  • 两条都不满足,或者想给不特定的人玩:回到 frp 内网穿透,它更稳,但要一台公网服务器。

在 Minexa 里

三条通道是独立的:FRP、STUN、EasyTier 各有自己的启动/停止按钮。STUN 可以和 FRP 同时开,相当于给玩家准备两个入口;EasyTier 也能同时跑,但它会占用系统 VPN。

NAT 是什么,为什么打洞有时行有时不行#

家里的手机地址通常是 192.168.x.x,这是个内网地址,互联网上没人能直接访问。出门时,路由器会把它换成宽带那一个公网 IP,并记一张表:哪个内网设备用了哪个端口、发给了谁。外面的回包只有对得上这张表,才放进来。

这就是 NAT(网络地址转换,可以理解成小区门卫:里面的人可以出去,外面的人不能随便进来)。

同样是 NAT,不同运营商、不同路由器的“松紧”不一样:

类型大白话TCP 打洞
全锥形(NAT1)出门一次就有个固定门牌,谁都能顺着它找回来有机会
受限锥形只有你刚联系过的人能回很难
端口受限锥形连对方端口也要对得上很难
对称 NAT每换一个对象就换一个门牌,外面猜不到基本不行
CGNAT你连独立门牌都没有,和邻居共用一个公网 IP不行

“打洞”就是双方先通过一台第三方服务器知道彼此的公网门牌,然后同时向对方发数据,让两边的 NAT 各开一个口。NAT1 的口开得最松,所以能成;对称 NAT 每换一个目标就换一套映射,打洞基本没戏。

TCP 比 UDP 更难:TCP 有握手状态,时机差一点就失败。Minexa 的 STUN 只能走 TCP——因为 Java 版服务端是 TCP,UDP 打洞再容易也接不上。

应用不判断、也不显示 NAT 类型

网络页没有“NAT 类型”选项,也不会告诉你自己是 NAT1 还是对称 NAT。你只能启动一次,看它成不成。这不是设置漏了,是应用刻意不展示这些名词。

STUN 直连:只有一种模式#

STUN 服务器只做一件事:告诉你“你从公网看长什么样”。Minexa 拿到这个公网 主机:端口 后,在本机对应端口上监听,把进来的连接转给 Minecraft 服务端。

数据不经过 STUN 服务器,它是地址发现,不是中继。所以带宽就是你家宽带的上行,延迟也接近直连;上传带宽被别的东西占满时,人一多照样卡。

限制写得很死:

  • 只支持 TCP。基岩版是 UDP,走不了。

  • 只支持全锥形 NAT(NAT1)。对称 NAT、CGNAT、多数家庭宽带都不行。

  • 没有 UDP、没有 TURN、没有中继。失败就是失败,不会自动换一条路。

  • 内置 6 台 STUN 服务器,都支持 TCP 3478,不需要你填。

  • 会暴露家庭公网 IP。卡片上有一行常驻提示,不是吓唬人。

  • 地址会变。断线重连、换 Wi-Fi、运营商重新分配,端口都可能变。

启动后卡片上会显示「公网直连地址」。地址由运营商分配,不是永久的;如果地址变过,卡片会告诉你变了多少次,提醒你重新发给玩家。

高级设置里有什么#

一般不用动。真要改,先看这张表:

设置项默认说明
目标端口跟随服务端端口不勾选时手填,例如 25565
保活间隔20 秒维持 NAT 映射并检测地址变化,不建议低于 5 秒
并发上限128超过这个数的连接直接拒绝
记录连接日志开记录每条入站连接的建立和断开
启用 PROXY protocol v2关服务端必须自己支持,否则玩家进不来
自定义 STUN 服务器空留空用内置 6 台;只支持 TCP 3478 的服务器

最后一项容易踩坑:网上很多 STUN 服务器只支持 UDP。填进去不会让 STUN 变强,只会让探测失败。

PROXY protocol v2 会让玩家进不来

打开它之后,每条入站连接前面都会多写一段以 PROXY 开头的头信息,只有服务端自己会解析,这段头才有意义。原版和多数核心默认不认,握手会直接失败,玩家会直接进不来。不确定服务端支持就保持关闭。

怎么开 STUN#

  1. 先启动服务端,等终端出现 Done。服务端没起来,隧道即使启动,玩家连上也没人接。

  2. 打开更多 → 网络,找到「STUN 直连」卡。

  3. 需要时展开「高级设置」,确认目标端口是“跟随服务端端口”。

  4. 点「启动 STUN」,等状态从“启动中”变成“运行中”。

  5. 复制「公网直连地址」发给玩家。地址里如果带 tcp://,让玩家去掉,只填 主机:端口。

  6. 玩完点「停止」。停止后地址立即失效。

运行中卡片还会显示三个数字:当前连接、已回收的空连接(连上后一直没发数据)、因超过并发上限被拒的次数。后两个数字一直涨,通常说明有人在扫端口,或者地址被到处转发过。

STUN 和 FRP 可以同时运行,互不影响。一个入口失效,玩家还能试另一个。

STUN 失败了,通常是这几种#

提示含义怎么办
本机公网地址是内网/CGNAT 地址运营商没给你独立公网映射换 FRP 或平台隧道
STUN 服务器 TCP 可达但均无响应这些服务器多半只支持 UDP换支持 TCP 的自定义服务器
全部 STUN 服务器均无法连接对称 NAT、CGNAT 或防火墙拦截别再耗,换方案
无法在映射端口上建立监听端口被占用或系统限制重启应用,换目标端口
服务端未运行服务端没启动先启动服务端

看到前三条,基本可以判断“这条路在你的网络上行不通”,不是配置写错。Minexa 自己也把 STUN 的定位写成“一般优先用 FRP”,因为它成立的条件确实苛刻。

STUN 会把家庭 IP 暴露给玩家

连接是点对点的,玩家能看到你的公网地址。介意这一点,或者不想被扫描,直接用 FRP 或 EasyTier。不要因为“免费”就长期开着 STUN。

EasyTier:组一个虚拟局域网#

EasyTier 换个思路:不把端口暴露到公网,而是让所有设备加入同一个虚拟网络,各自拿到一个 10.126.126.x 的虚拟 IP。服务器把虚拟网络里的 TCP 25566 转发到本机的 Minecraft 端口,玩家连 虚拟IP:25566。

它不需要你租服务器,也不需要公网 IP。代价是:服务器这台手机要装引擎、给 VPN 权限;每个玩家也要装 EasyTier 客户端。

服务器这边要准备什么#

  1. 组网引擎。网络页的 EasyTier 卡会检测;没下载时顶部有红色阻塞条「组网引擎未下载,此功能不可用」,点「去下载」到依赖管理页。

  2. 网络名。第一次进网络页会自动生成 mc- 加 6 位随机字符。名字相同的人才能互相看见。

  3. 网络密钥。自动生成 32 位十六进制,相当于房间口令。旁边的「换一个密钥」可以重新生成;换完所有玩家都要用新的。

  4. VPN 授权。点「启动组网」时,系统会弹出 VPN 连接请求;拒绝会提示「没有拿到 VPN 授权,组网没有启动」。

  5. 等虚拟网卡建立。超过 20 秒没建好会提示启动超时。

不需要 root。应用走的是 Android 标准的 VPN 服务,只在手机内部建一张虚拟网卡。

手机同时只能有一个 VPN 生效

如果你开着别的 VPN、加速器或代理软件,先关掉再启动组网,否则可能抢不到 VPN 或互相干扰。

地址为什么是 25566#

虚拟网络里的转发端口固定从 25566 开始;如果服务端自己已经占用了 25566,就顺延到 25567。

这个端口和 Minecraft 的 25565 不是一回事:同一台机器上两个监听不能同端口,所以组网单独开一个。玩家连接时照抄应用算出来的地址,不要自己改成 25565。

网络名和密钥在运行中、或引擎未下载时不能改。密钥在界面上是明文显示的,截图、录屏、发群里之前先想清楚。

玩家怎么进来#

把「邀请玩家」页的二维码或整段说明发给对方。对方要做三步:

  1. 装客户端:应用商店或官网搜 EasyTier,装官方客户端。Windows、Android、iOS、macOS 都有。

  2. 加入同一个网络:网络名和网络密钥必须一模一样,差一个字符都进不来。

  3. 在游戏里连地址:客户端显示已连接后,在 Minecraft 里添加服务器,地址填 虚拟IP:25566(或应用显示的 25567)。

邀请页只有那里有二维码;网络页本身没有。二维码的内容和「复制全部说明」是同一段文字,包含网络名、密钥和连接地址。

几个现实问题:

  • 每个玩家都要装。这是它和 FRP 最大的区别,也是它不适合陌生人的原因。

  • 第一次相遇依赖公共节点。节点不可达时,双方进不了同一个虚拟网络,表现为一直连不上。

  • 延迟取决于实际路径。同一城市通常不错,跨运营商、跨国会明显变差。

  • 只转发 TCP。基岩版走 UDP 19132,不能通过 EasyTier 组网进入。

网络名 + 密钥就是门禁

EasyTier 没有账号体系,也没有更细的权限控制。知道网络名和密钥的人都能加入这个虚拟局域网。不要把二维码发到公开群、论坛或视频简介里;泄漏了就点「换一个密钥」,再重新发给朋友。

两者怎么选#

STUN 直连EasyTier 组网
需要自己的公网服务器不需要不需要
需要注册账号不需要不需要
玩家要装客户端不要要
支持基岩版 UDP否否
成功前提TCP + 全锥形 NAT1 + 公网映射引擎可用、双方加入同一网络、VPN 授权
成功率低,条件缺一不可不保证,取决于 NAT 与公共节点
地址运营商分配的 主机:端口,会变虚拟 IP:25566,固定
是否暴露公网暴露家庭 IP不暴露公网端口
稳定性换网、重连即失效取决于节点和双方网络
适合临时玩、朋友不愿装软件、网络恰好合适固定小圈子、愿意装客户端

如果朋友只有一两个、愿意配合装软件,EasyTier 的体验通常比 STUN 稳:地址固定,发一次就够。如果只是今晚玩一次、对方连装个软件都嫌麻烦,先试 STUN;失败就退回局域网或 FRP。

两条都不合适怎么办#

上机自查
  • STUN 卡状态是“运行中”,并且显示了「公网直连地址」,格式是 主机:端口。

  • 发给玩家的地址里没有 tcp:// 前缀,只有主机和端口两段。

  • 高级设置里「启用 PROXY protocol v2」是关着的。

  • 启动组网后没有出现启动超时的提示,玩家的 EasyTier 客户端里能看到同一个网络名。

  • 玩家连的是应用算出来的 虚拟IP:25566(或 25567),不是 25565。

  • 点「停止」之后,再连旧地址已经连不上,说明地址确实随隧道失效。

下一步#

读到这儿了,给你点个赞。如果这页内容帮你解决了问题,说明说明书的方向是对的;如果发现错误、过时信息或看不懂的地方,欢迎到 GitHub Issues 告诉我们。

⚡ 回到极速开服 📖 查术语表