使用内网穿透 (FRP)
如果通过修改路由器、使用虚拟局域网等方法都无法联机,或者你受限于复杂的网络环境,那么FRP(Fast Reverse Proxy)是目前最强大、最灵活的解决方案。
核心原理:你需要一台有公网 IP 的服务器作为“跳板”。你在家里的电脑(游戏主机)运行 FRP 客户端,这台公网服务器运行 FRP 服务端。当你的朋友连接到这台公网服务器的指定端口时,FRP 服务会将所有流量“穿透”到你的内网,直接转发到你家里的游戏主机上,从而实现联机。
使用公共FRP服务商(推荐,低门槛)
这个方法特别适合那些不想购买云服务器、不想接触复杂命令行,但又受困于网络限制的玩家。
你不需要自己的公网服务器。像 Sakura Frp、OpenFrp 这样的服务商已经为你准备好了大量的公网服务器(他们称之为“节点”)。
你只需要在他们的网站上进行简单的配置,然后在你的电脑上运行一个轻量级的客户端,就能把你的本地游戏端口“映射”到他们的公网服务器上,让朋友通过这个公网地址连接进来。
无论你使用哪个 FRP 服务商,基本步骤都是相似的:
- 注册账号:在 FRP 服务商的官方网站上注册一个账号。
- 实名认证:根据国家相关规定,大部分国内服务商需要进行实名认证后才能使用。
- 创建隧道:在网站的管理后台创建一个“隧道”或“映射规则”。
- 下载客户端:下载对应你操作系统的客户端软件。
- 配置并运行客户端:在你的电脑上运行客户端,并让它连接到你创建的隧道。
- 启动游戏:在你的电脑上开启 Minecraft 世界并“对局域网开放”。
- 分享地址:将 FRP 服务商提供给你的公网地址分享给朋友。
Sakura Frp 是国内非常老牌和知名的 FRP 服务商,在 MC 玩家群体中很受欢迎。本文以 Sakura Frp 为例进行说明,首先需要创建隧道:
- 访问 Sakura Frp 官网 并注册登录。根据提示完成实名认证。
- 在左侧菜单栏点击“隧道” -> “创建隧道”,并填写隧道信息,这是最关键的一步:
- 隧道名称:随便起一个,比如
我的MC世界。 - 隧道类型:必须选择
TCP。Minecraft使用TCP协议。 - 本地IP:填写
127.0.0.1(这代表“本机”)。 - 本地端口:这里先随便填一个,比如
25565。后面启动游戏后,我们会回来修改它! - 远程端口:选择一个节点后,系统会自动分配或让你选择一个端口。免费节点的端口通常是随机的。记下这个端口。
- 选择节点:选择一个离你地理位置近、延迟低的节点。你可以Ping一下节点地址来测试延迟。
- 隧道名称:随便起一个,比如
- 在网站上方菜单点击“软件下载”,下载适合你电脑系统(Windows/macOS/Linux)的“启动器”,并打开。
- 回到网站,在左侧菜单栏点击“API & 密钥”,复制你的访问密钥,在启动器内输入“访问密钥 (Token)”,此时,你就应该能看到你的隧道了。
当你每次开启游戏打算联机时,你需要进行以下步骤:
- 在单人游戏中按下
Esc,点击“对局域网开放 (Open to LAN)”,然后点击“创造一个局域网世界”。
聊天框会显示一个端口号,比如本地游戏已在端口 54321 上开启。记住这个端口54321! - **关键一步:**回到隧道管理页面,找到你创建的隧道,点击“配置”,将“本地端口”修改为你刚刚从游戏里得到的端口,即
54321。保存修改。 - 在 Sakura Frp 客户端里,选中你的隧道,点击“启动”。如果一切正常,状态会显示为“在线”。
- 你的联机地址是:
你选择的节点域名:远程端口,例如:cn-zj-bgp-1.sakurafrp.com:12345,让你的朋友在“多人游戏”->“添加服务器”输入这个地址即可。
提示
端口匹配是成功的关键! FRP 配置里的“本地端口”必须和 Minecraft “对局域网开放”后给出的端口完全一致。
每次开服都要改端口? 是的,因为“对局域网开放”功能每次生成的端口都可能是随机的。如果你觉得麻烦,可以考虑在本地搭建一个真正的 MC 服务器(使用官方的server.jar),在配置文件 server.properties 里将端口固定为 25565,这样 FRP 的配置就无需每次都改了。
防火墙问题:请确保你电脑的防火墙(如 Windows Defender 防火墙)没有阻止 FRP 客户端或 Java(Minecraft) 的网络连接。
自建 FRP 服务器(高阶,完全控制)
如果公共 FRP 服务的带宽、延迟无法满足你的需求,此方案能给你最大的控制权和最佳的性能。但需要一台具有公网 IP 的云服务器(VPS)且具备基础的 Linux 命令行操作能力。
你也可以参考以下教程:
在云服务器上部署 FRP 服务端 (frps)
登录云服务器,访问 GitHub Releases 找到最新版本。
根据服务器的 CPU 架构,复制对应的.tar.gz文件下载链接。然后使用以下命令下载并解压:bash# 粘贴你复制的下载链接 wget [下载链接] # 解压文件(版本号可能不同) tar -zxvf frp_*.tar.gz # 进入解压后的目录 cd frp_*创建一个名为
frps.toml的配置文件,内容如下:toml# frps.toml # FRP 服务端监听的端口,用于和客户端通信 bind_port = 7000 # [auth] 部分用于设置身份验证 [auth] # 设置一个复杂的、只有你自己知道的密码(token) token = "change_this_to_a_very_secret_password"使用配置文件启动服务,并推荐使用
nohup命令让其在后台执行:bash./frps -c ./frps.toml nohup ./frps -c ./frps.toml &确保在你的云服务器安全组或防火墙设置中,确保你的
bind_port和remote_port的 TCP 协议入站规则是开放的。
在你自己的电脑上配置 FRP 客户端 (frpc)
访问 GitHub Releases 找到最新版本,然后下载适合你电脑系统的版本并解压。
在解压后的目录中,创建一个名为
frpc.toml的配置文件,内容如下:toml# frpc.toml # 指向你的云服务器公网IP地址 server_addr = "你的云服务器公网IP" # 必须与 frps.toml 中设置的 bind_port 一致 server_port = 7000 [auth] # 这里的 token 必须与服务器上 frps.toml 文件中设置的完全一致! token = "change_this_to_a_very_secret_password" # [[proxy]] 定义一个流量转发规则 [[proxy]] name = "minecraft-server" type = "tcp" local_ip = "127.0.0.1" local_port = 25565 # 你本地Minecraft服务器的端口 remote_port = 25565 # 玩家将要连接的、暴露在云服务器上的端口注意
server_addr必须是你的云服务器公网 IPtoken必须和你的云服务器上的密钥一模一样在你的电脑上启动 Minecraft 服务器(或单人游戏“对局域网开放”),并参考以下步骤启动 FRP 客户端来建立安全的连接隧道。
如果密钥正确,你会看到连接成功的日志。在游戏期间,请保持此命令行窗口开启。bash# 注意:需要为当前目录 # Windows frpc.exe -c frpc.toml # macOS/Linux ./frpc -c ./frpc.toml
邀请朋友加入游戏
一切就绪!你的朋友们现在可以在 Minecraft 的“多人游戏” -> “添加服务器”中,使用 你的云服务器公网IP:25565 加入你的世界。
总而言之,对绝大多数普通玩家来说,公共 FRP 服务商是平衡了成本、操作难度和联机效果的最佳选择。祝你和你的朋友们联机愉快!