Minecraft联机:IPv6直连和FRP内网穿透怎么选?实操指南
2026/9/2 18:54:06 网站建设 项目流程

周末约好友联机 Minecraft,一个用 PCL2,一个用 HMCL,都是身边最常见的启动器。原本以为启动器一样、版本一样,填上 IP 就能进。结果客户端一直卡在“连接中”,最后直接超时。群里有人建议用 FRP 做内网穿透,也有人说你宽带都有 IPv6 了,为什么还要绕一台服务器?

这个问题很典型,但回答起来并不简单。PCL2 和 HMCL 只是启动器,它们负责把游戏跑起来,并不负责打通两地之间的网络。联机能不能成功,取决于你开出去的服务器端口能不能被对端访问到。FRP 是解决内网穿透的通用方案,IPv6 则是近些年运营商逐步普及后出现的新直连条件。两者解决的问题有重叠,但适用环境和运维成本完全不同。

我从自己的实际体验出发,在电信、联通、移动热点之间做过几轮测试。核心结论是:IPv6 确实能在不少场景下省掉 FRP,但“有 IPv6”和“对方能连进来”是两回事。跨网环境下,光猫防火墙、路由器策略、Windows 防火墙、临时地址变化,随便一个环节出问题,IPv6 直连就失效。更稳妥的做法不是二选一,而是先把 IPv6 直连测一遍,不行再让 FRP 兜底。

1. 别把“启动器”和“网络链路”混为一谈

1.1 PCL2 和 HMCL 在联机里的真实角色

很多人对 PCL2、HMCL 有直觉上的误解,以为“用同一个启动器”就等于在同一个局域网。实际上,PCL2 和 HMCL 解决的是客户端管理问题:下载游戏版本、安装整合包、管理模组、登录账号、调整 JVM 参数。

联机时,它们只负责让两个人都能启动同一个游戏环境。真正决定连接能否建立的,是 Minecraft 的服务端进程。你可以用单人世界里的“对局域网开放”功能,也可以用独立服务端软件。服务端在某个端口监听,客户端拿 IP 加端口去连接,这个过程和启动器是什么品牌没有直接关系。

所以,异地联机的第一步,是先把“用 PCL2 启动”和“开了一个可被连接的服务”区分开。否则你会陷入一个误区:明明两边都能正常进单人游戏,却始终无法联机,最后怀疑是启动器不兼容。

1.2 一次联机请求到底要经过哪几道关卡

联机数据从客户端发给服务端,中间至少经过三层:

第一层是服务端监听。Minecraft 服务端必须正确绑定到需要监听的端口,默认是 25565。如果服务端只监听了 IPv4,你给对方一个 IPv6 地址就没有意义。

第二层是路由可达性。客户端和服务端之间需要有路由路径。IPv4 场景下,家庭宽带多数没有公网 IPv4,数据包进不了家里的 NAT,所以需要端口映射或者内网穿透。IPv6 场景下,只要两边都有公网 IPv6 地址,理论上可以点对点直连,但前提是沿途路由和防火墙愿意放行。

第三层是防火墙策略。Windows 自带防火墙、第三方安全软件、光猫防火墙、路由器防火墙,任何一层丢弃入站数据包,游戏连接就会超时。

很多人联机失败,问题不在 Minecraft,而是第二、第三层没有打通。PCL2 和 HMCL 只是启动器,它们改变不了这一层的任何配置。

1.3 为什么很多人第一反应是 FRP 而不是 IPv6

过去很长一段时间,家庭宽带的默认方案是 IPv4 加 CGNAT。运营商的公网 IPv4 地址有限,家宽用户拿到的基本都是内网地址。这种情况下,端口映射不可用,FRP 这类内网穿透工具几乎是唯一选项。

FRP 的逻辑很简单:用一个有公网 IP 的云服务器做中转,家里电脑主动连上云服务器,玩家再连接云服务器的端口,数据就转发到家里电脑上。它不要求你家宽带有什么特殊条件,只要家里电脑能访问互联网,就能做穿透。

IPv6 则是另一种思路。IPv6 地址数量充足,运营商通常会分配全球唯一的公网地址。既然两边都有公网地址,数据就可以不走中转,直接点对点连接。但这也意味着新的配置要求:你需要懂 IPv6 地址格式、需要配置防火墙、需要处理地址变化。很多教程没有覆盖这套新流程,大家自然还是先想到 FRP。

2. 异地跨网实测:IPv6 直连的可行条件是什么

2.1 先确认两端都拿到了“公网 IPv6”,而不是链路本地地址

IPv6 直连的第一步,是确认服务端所在电脑真的拿到可用公网地址。

Windows 上可以用ipconfig /all,在“以太网适配器”或“无线局域网适配器”下面找“IPv6 地址”。如果看到的地址以fe80::开头,那只是链路本地地址,只能用于同一局域网内通信,不能用于跨网直连。

公网 IPv6 地址的前缀通常和运营商有关,常见如电信240e:、联通2408:、移动2409:,不同地区可能有差异。只要不是fe80::,也不是fc00::/7开头的 ULA 内网地址,大概率是运营商分配的公网 IPv6。

Linux 或树莓派上可以用ip -6 addr查看。如果你在树莓派上跑 Minecraft 服务端,也要先同样确认拿到了全局 IPv6 地址。注意:树莓派默认可能有多个 IPv6 地址,优先选全局地址,不要选带scope link的那个。

注意:fe80::开头的地址只在同一局域网内有效,远程联机用它永远连不上。

2.2 ping 通和端口通是两回事,必须分开测

拿到 IPv6 地址后,先做基本连通性测试。

在服务端机器上查好地址,然后在客户端机器上执行:

ping -6 240e:xxxx:xxxx:xxxx::1

能通说明设备之间具有 IPv6 路由,但别急着进游戏。ICMP 和 TCP 是不同的协议,网关防火墙很可能允许 ping,却丢弃入站的 TCP 连接。

更接近游戏场景的测试是用 Windows PowerShell:

Test-NetConnection 240e:xxxx:xxxx:xxxx::1 -Port 25565

命令执行后,重点看TcpTestSucceeded是否为True。如果是True,说明从网络层面已经能访问服务端的 Minecraft 端口。如果不是,就要继续检查防火墙或路由策略,不要反复在游戏里点“连接”。

如果你习惯用命令行,也可以用 telnet 测端口,但 Windows 默认可能没有启用 telnet 客户端。PowerShell 的Test-NetConnection更直接。

2.3 电信、联通、移动热点:IPv6 直连不能一概而论

我在不同网络组合里做过测试,体验差异很大。

第一种组合:服务端在电信宽带,客户端在联通宽带。两边都有全局 IPv6,Windows 防火墙和光猫防火墙放行后,游戏里输入[IPv6地址]:25565可以正常进入世界。延迟体感比走 FRP 中转更跟手,毕竟数据没有绕到云服务器。

第二种组合:服务端在电信宽带,客户端连的是移动手机热点。同样有 IPv6 地址,路由也能 ping 通,但Test-NetConnection测端口经常超时。原因是移动网络侧对 IPv6 入站连接的限制更严格,很多热点分配的 IPv6 地址只允许上网,不允许外部设备主动连入。

这两种结果说明,IPv6 直连不是“有地址就能用”。运营商的网络策略、路由设备版本、防火墙默认行为都会影响最终结果。你只能在自己的网络环境里实测,不能拿别人的成功案例当绝对结论。

2.4 光猫和 Windows 防火墙是最大的隐形变量

IPv6 直连失败,大概率不是 Minecraft 的问题,而是防火墙。

Windows 防火墙默认会阻止来自公网的入站连接。第一次启动 Minecraft 服务端时,系统可能弹窗询问是否允许 Java 访问网络,如果你点了“取消”,服务端虽然还在运行,但外部连接会被系统挡住。

更隐蔽的是光猫。现在的家庭宽带基本都是光猫拨号,电脑拿到的是光猫分配的子网 IPv6 地址。光猫本身带防火墙,很多型号默认禁止来自 WAN 口的入站连接,你会发现自己本机的防火墙已经放行,Test-NetConnection依然超时。

这种情况下,需要进入光猫管理页面找“IPv6 防火墙”“安全设置”“入站规则”之类的选项,把 Minecraft 端口放行,或者关闭 IPv6 防火墙。不同光猫品牌界面差异很大,有的还处于运营商托管状态,玩家无法修改。如果光猫不能改,IPv6 直连这条路基本就走不通了,FRP 会是更省事的方案。

3. 有 IPv6 还需要 FRP 吗?先把这笔账算清楚

3.1 IPv6 直连和 FRP 中转到延迟、带宽、成本上的差别

对比维度IPv6 直连FRP 中转
适用前提两端都有公网 IPv6,路由和防火墙放行服务端能主动访问公网,云服务器有公网 IP
延迟表现点对点路径,延迟通常更低多一跳中转,延迟会有额外开销
带宽上限受两端家庭宽带上下行限制受云服务器带宽限制,多人联机时更容易成为瓶颈
部署难度需要懂 IPv6 地址、防火墙、端口格式需要配置 frps、frpc,理解安全组和端口转发
稳定性受运营商策略、地址变化、光猫限制影响只要云服务器稳定,入口地址基本固定
运行成本通常没有额外费用需要一台公网云服务器,可能产生费用
IP 变化处理地址可能变化,需要 DDNS 配合中转服务器固定,本地地址变化不影响入口

这张表不是要说明谁更好,而是提醒你:IPv6 直连省下的主要是中转带来的延迟和带宽消耗,代价是你要花时间处理网络配置;FRP 省下的是对家宽公网地址的依赖,代价是延迟增加、带宽受限于服务器。

3.2 IPv6 直连真正省掉的是中转,不是排错

很多人把“有 IPv6 就不用 FRP”理解成“以后联机零配置”。实际体验下来,IPv6 直连省掉的是云服务器中转这一跳,但排错流程一点都没减少。

你需要检查本机 IPv6 地址、客户端路由、Windows 防火墙、光猫防火墙、端口是否被占用、服务端是否监听了 IPv6。这一套流程并不比配置 FRP 简单多少,反而因为每个家庭的光猫型号不一样,排查起来更琐碎。

换句话说,IPv6 直连的价值是“链路更优”,不是“配置更懒”。如果你追求的是马上能用、快速稳定,FRP 反而更容易满足需求。

3.3 FRP 在哪些场景下仍然是刚需

以下场景,FRP 不是备选,而是更合适的方案:

  • 服务端所在网络没有公网 IPv6,或者只有 IPv4。比如公司网络、酒店网络、部分校园网。
  • 光猫被运营商限制,玩家进不去管理后台,无法关闭 IPv6 防火墙。
  • 手机热点分配的 IPv6 只允许出站,不允许入站。这种情况下,即使地址是公网 IPv6,外部连接也会被运营商侧丢弃。
  • 服务端程序只监听 IPv4,或者整合包内某些组件对 IPv6 支持不好,改起来成本高。
  • 你希望给朋友一个固定的连接地址,不愿意每次重启路由器后重新报一遍 IPv6 地址。
  • 需要稳定服务多人的场景。云服务器带宽如果足够,多人同时连接时不会占用家庭上行带宽,稳定性可能更好。

反之,如果两端网络条件都支持 IPv6 直连,并且光猫防火墙可控,FRP 就有点多余。多绕一条长链路,反而增加延迟和故障点。

3.4 我的建议:优先直连,FRP 兜底,不做二选一

我更倾向把 IPv6 直连和 FRP 看成两套可以同时准备的方案,而不是对立关系。

联机之前,先花五分钟做 IPv6 直连测试。测通了,就不用开云服务器、不用改 FRP 配置,直接输入地址进游戏。测不通,先花十分钟排查防火墙和监听地址。如果排查完仍然失败,比如光猫改不了、运营商限制入站,再启用 FRP。

这样做的理由是:IPv6 直连一旦可用,长期使用成本最低,链路也最干净。FRP 则可以作为兼容方案,专门解决你家网络环境的特殊限制。两套方案都配置好,等于给你的联机链路上了双保险。

4. 从 IPv6 直连到 FRP 兜底:完整实操过程

4.1 用 PCL2/HMCL 把服务端先跑起来

PCL2 和 HMCL 本身不提供“开服”功能,但它们可以用来启动整合包客户端。你可以在同一台电脑上先开启一个独立 Minecraft 服务端,再启动客户端进入。

最简单的方式是单人世界“对局域网开放”:进入世界后按 Esc,点击“对局域网开放”,选择端口模式,游戏会显示一个本机端口。这个端口就是你要暴露出去的端口,不一定是 25565。

如果需要长期稳定联机,建议用独立服务端。下载 Paper、Fabric 或原版服务端后,在目录下启动:

java -Xmx2G -jar server.jar nogui

启动前检查server.properties

server-ip= server-port=25565 online-mode=false

server-ip必须留空,表示监听所有网络接口;如果填了某个 IPv4 地址,可能造成 IPv6 无法连接。online-mode按你的登录方式来,离线服通常设置为false,正版服要具体看。

4.2 连接地址千万别写错:IPv6 地址要加方括号

Minecraft Java 版连接 IPv6 地址时,地址必须放在方括号里,再跟端口。

[240e:xxxx:xxxx:xxxx::1]:25565

如果写成240e:xxxx:xxxx:xxxx::1:25565,冒号会干扰地址解析,客户端无法识别。在 PCL2 或 HMCL 的多人游戏界面添加服务器时,地址填完整,端口也写清楚。

如果你用 DDNS 域名,域名本身不分 IPv4 还是 IPv6,直接填写你的域名:25565即可。

4.3 Windows 防火墙放行端口

服务端是 Java 程序,运行后系统会弹防火墙授权窗口,但保险起见,手动添加规则更可控。

打开“高级安全 Windows Defender 防火墙”,选择“入站规则”,新建规则,规则类型选“端口”,协议选 TCP,特定本地端口填写25565或局域网开放时显示的实际端口,操作选“允许连接”,配置文件勾选“域”“专用”“公用”,名称写Minecraft Server

完成后重启一次服务端,再用客户端的Test-NetConnection验证端口。

注意:FRP 场景下,本机不需要为 Minecraft 端口添加入站规则。因为 frpc 是主动连接云服务器的,家庭路由器和 Windows 防火墙不需要开放入站端口,你只需要保证 frpc 能正常出站。

4.4 光猫/路由器 IPv6 防火墙检查点

如果本机防火墙放行后,外部连接还是超时,下一步查光猫。

登录光猫管理后台,寻找“IPv6 防火墙”“安全”“入站规则”等菜单。不同厂商界面差异很大,但整体思路一致:找到 IPv6 相关防火墙设置,为 TCP 端口25565添加入站放行规则。如果找不到细粒度规则,可以临时把 IPv6 防火墙关闭测试,确认是否它造成的问题。

如果光猫和路由器组了双层 NAT,IPv6 路径会复杂一些。理想情况是把光猫改成桥接模式,让路由器直接拨号并管理 IPv6 防火墙。如果无法改桥接,就只能看光猫是否对外开放配置权限。

这个环节最容易消耗时间。建议先做一次“关闭光猫 IPv6 防火墙 + 关闭路由器 IPv6 防火墙 + 放行 Windows 防火墙”的全放测试,确认 IPv6 直连是否能通。通了再逐步收紧规则,这样可以快速定位是哪一层防火墙拦截。

4.5 FRP 兜底配置的常见写法

当 IPv6 直连不可行时,FRP 是最常用的兜底方案。

服务端在公网云服务器上运行 frps,示例配置:

[common] bindPort = 7000 token = your_token

本地电脑运行 frpc,示例配置:

[common] serverAddr = your_server_ip serverPort = 7000 token = your_token [minecraft] type = tcp localIP = 127.0.0.1 localPort = 25565 remotePort = 25565

启动 frps 和 frpc 后,玩家在客户端连接云服务器的公网 IP 加25565端口,数据就会通过云服务器转发到本地的 Minecraft 服务端。

需要特别提醒两点:一是云服务器安全组必须放行 TCP700025565端口;二是 FRP 版本更新后,配置文件格式可能有变化,某些版本不再使用[common]段,而是把配置项放在顶层。配置前先对照你下载的 FRP 版本说明,不要照抄老教程。

注意:FRP 版本更新后配置格式可能从[common]改为顶层字段,配置前先看对应版本文档。

5. 联机失败的真正原因:8 个最容易忽略的坑

5.1 IPv6 地址是临时的,重启电脑后连不上

Windows 默认会使用临时 IPv6 地址发起连接,这个地址会定期变化。如果你把测试时的 IPv6 地址保存下来发给朋友,也许第二天就失效了。

解决办法是使用 DDNS,把变化的 IPv6 地址映射到一个固定域名。或者在内网设备上配置固定的全局 IPv6 地址。但前提是路由器支持相关设置,并且你能接受手动配置的复杂度。

5.2 服务端绑定了 IPv4,导致 IPv6 根本无门可入

server.properties里如果没有留空server-ip,服务端就只会监听指定 IP。比如填了0.0.0.0,它监听的是所有 IPv4 地址,而不是 IPv6。

另外,JVM 启动参数里如果加了-Djava.net.preferIPv4Stack=true,Java 进程会强制走 IPv4 协议栈。外部 IPv6 连接无法进入,因为进程根本就没有监听 IPv6 地址。

排查方法是看服务端启动日志,确认它到底监听在0.0.0.0:25565还是:::25565::通常代表 IPv6 的监听地址。

5.3 端口探测通了,客户端还是超时

如果Test-NetConnection显示端口通,但游戏里连不进去,问题多半不在网络层,而在游戏版本、模组或协议处理上。

优先检查服务端日志,看有没有对应的连接尝试记录。如果服务端完全没收到连接,说明网络路径还有问题;如果收到连接但客户端显示超时,可能是握手阶段卡住,通常和模组版本不一致、客户端资源包加载慢、正版验证失败有关。

这时候不要反复点连接,先对比两边的 MC 版本和模组列表,再试一次纯净版环境,逐步排除。

5.4 FRP 客户端已经启动,游戏端口却不通

FRP 场景下,很多问题出在 frpc 到 frps 的连接,而不是游戏本身。

先在本机执行:

telnet your_server_ip 7000

如果 7000 端口都不通,说明 frpc 连不上 frps,检查安全组、frps 是否启动、token 是否一致。如果 7000 端口通,再看 frps 日志里有没有minecraft代理成功注册。

还有一种情况:云服务器的安全组只放行了 7000,没有放行 25565。frpc 虽然连接成功,但玩家连 25565 时被云服务商防火墙拦截。记得把转发端口也加到安全组。

5.5 手机热点分到的 IPv6 并不等于可入站

手机热点可能是最容易给玩家“IPv6 错觉”的场景。手机上确实能看到 IPv6 地址,电脑也拿到了地址,但运营商对移动网络的入站连接策略通常比家宽更严格。

即使ping -6能通,不代表 TCP 入站被允许。如果你的服务端在手机热点后面,建议直接放弃 IPv6 直连,改用 FRP。如果你自己是客户端连别人,手机热点问题不大,因为出站连接一般不受限制。

5.6 光猫防火墙默认禁入站,这是最隐蔽的一点

很多玩家在 Windows 防火墙放行后,仍然连不上,最后发现问题是光猫。

光猫作为家庭网络的入口,默认防火墙策略非常保守。即使你的电脑拿到了公网 IPv6 地址,也不代表这个地址可以直接被外部访问。数据包进不了光猫,自然到不了电脑。

最直接的验证方法是临时关闭光猫的 IPv6 防火墙,看连接是否恢复。如果恢复,说明就是光猫拦截;如果光猫无法配置,那 IPv6 直连就不可用,直接切 FRP。

5.7 把带“%12”的地址当成公网地址

Linux 或 Windows 的某些命令里,IPv6 地址后面会带接口索引,比如fe80::1%12%12表示网络接口编号,只在本地有意义,不能作为远程连接地址。

问题在于,如果你把带%的地址发给朋友,Java 客户端很可能解析失败。要确认使用的是全局 IPv6 地址,地址里不包含%符号,也不是fe80::开头。

5.8 端口号不是 25565,或者被安全软件拦了

“对局域网开放”时,Minecraft 可能选择一个随机端口,不一定是 25565。每次开放都有可能变化,所以必须以游戏聊天栏里显示的端口为准。

另一个常见问题是第三方安全软件的“局域网防护”“游戏反外挂”等功能拦截入站连接。不少安全软件默认会阻止未知端口绑定。看到“外部连接尝试”提示时,不要直接选阻止,先识别是不是你的 Minecraft 服务端进程。

6. 一套可复用的联机决策框架,减少下次踩坑

6.1 四步判断法:从环境检测到客户端连接

我习惯把联机问题拆成四个阶段,每次联机失败都按这个顺序排查,而不是随机换配置。

第一步,环境检测。确认服务端和客户端都有可用的 IPv6 地址,确认服务端确实在监听对应端口。

第二步,路由可达性。用ping -6tracert -6确认基本路由,不要只看ping结果。

第三步,端口放行。检查 Windows 防火墙、第三方安全软件、光猫防火墙、路由器防火墙,用Test-NetConnection确认 TCP 端口通。

第四步,客户端连接。在 PCL2 或 HMCL 里填入正确的[IPv6地址]:25565,观察服务端日志和客户端日志。

如果第四步失败,回退到第二步重测;如果第三步一直不通过,检查光猫;如果光猫无法放行,就直接跳到 FRP 方案。

注意:不要跳过第 3 步直接让客户端反复连接,那只是在重复同一个失败场景。

6.2 什么样的场景选 IPv6 直连,什么场景直接上 FRP

适合 IPv6 直连的场景,通常满足几个条件:

  • 两端都是家庭宽带,且运营商分配了可用的公网 IPv6。
  • 光猫或路由器允许修改 IPv6 防火墙策略。
  • 服务端进程能正常监听 IPv6 地址。
  • 你愿意花一点时间处理地址变化或配置 DDNS。

适合 FRP 的场景就简单很多:

  • 一端或多端网络环境没有公网 IPv6。
  • 光猫没权限修改,或者运营商限制入站。
  • 你需要固定入口,让朋友随时能连。
  • 多人联机时希望入口不依赖家庭网络稳定性。

如果你属于“没有时间折腾网络,只想下班后和朋友玩两把”,FRP 依然是最省心的路径。IPv6 直连更像是对网络环境要求较高的进阶玩法。

6.3 长期维护:DDNS 动态域名 + 双配置按需切换

成熟的做法不应该是每次联机前重新查 IP、重新发地址。给 IPv6 直连配一个 DDNS 动态域名,地址变化也能通过域名解析到最新值。

FRP 配置保持一份可用的配置文件,按需启动。日常如果 IPv6 直连稳定,就用直连;遇到网络调整导致 IPv6 失效,或者去了一个没有 IPv6 的酒店网络,就把 frpc 拉起来,让玩家统一连接云服务器地址。

这套双配置思路,比单纯回答“要不要 FRP”更有实用价值。它把网络环境变化纳入日常考虑,而不是简单地把某个方案定为唯一正确答案。

最后回到开头的问题。有 IPv6,还需要 FRP 吗?我的答案是:需要看实测,不能只看“有”。IPv6 直连确实能在不少环境里替代 FRP,并且延迟链路更干净;但它对光猫、路由器、ISP 策略的要求更高,不是每次都能顺利打通。FRP 虽然多绕一跳,却是一种更通用的兜底方案。最省心的长期策略,是先测 IPv6,不行再上 FRP,把两套方案都放进你的联机工具箱里。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询