大家好,我是专注于分享实用技术方案的博主。很多《我的世界》基岩版玩家都遇到过这样的困扰:想和异地的好友一起联机,但自己没有公网IP,直接连接总是失败。网上教程要么需要复杂的服务器搭建,要么涉及一些不稳定的第三方工具。今天,我们就来彻底解决这个问题,分享一套无需公网IP、稳定可靠的远程联机方案,从原理到实操,手把手带你完成配置。
1. 背景与核心概念:为什么没有公网IP就无法直连?
在深入操作之前,我们有必要先理解问题的根源。这能帮助你在后续配置中,更好地理解每一步的作用,遇到问题也能自己排查。
1.1 什么是公网IP?公网IP(Public IP Address)是互联网上全球唯一的地址标识,就像你家的门牌号,快递员(数据包)可以通过这个地址直接找到你。拥有公网IP的设备,可以被互联网上的任何其他设备直接访问。
1.2 为什么大多数家庭宽带没有公网IP?由于IPv4地址资源枯竭,国内运营商普遍采用了一种叫做“NAT(网络地址转换)”的技术。运营商会给你分配一个内网IP(如192.168.1.x),然后让整个小区或一片区域的用户共享一个或几个公网IP。你的设备处于运营商的“大内网”中,外网无法直接通过IP地址定位到你的具体设备。这就好比你的公寓楼只有一个总门牌号,快递员到了楼下,不知道具体该送到哪一户。
1.3 《我的世界》联机的工作原理当你创建《我的世界》世界并开启“局域网开放”时,游戏会在你的电脑上开启一个服务端口(默认是19132 for 基岩版)。在同一局域网(比如同一个Wi-Fi)下的好友,可以通过扫描到这个广播并直接连接你的内网IP和端口进行游戏。但是,这个“广播”和“服务”都被限制在了你的本地网络内,无法穿透运营商的NAT到达互联网。
1.4 解决方案的核心:内网穿透既然我们没有公网IP这个“门牌号”,那我们就需要找一个“中转站”或“传话员”。这就是内网穿透(NAT Traversal)技术。其核心思想是:
- 你在内网的设备(客户端)主动连接到一个拥有公网IP的中间服务器(服务端)。
- 中间服务器为你分配一个临时的访问地址(通常是域名或子域名)。
- 你的好友通过访问这个中间服务器分配的地址。
- 中间服务器将好友的请求,通过之前建立的连接,“转发”到你的内网设备上。
这样一来,即使你没有公网IP,好友也能通过一个公共的地址找到你。本文就将围绕如何搭建和使用这样一个“中转站”来展开。
2. 环境准备与工具选型
在开始动手前,我们需要准备好“战场”。这里会介绍几种主流的内网穿透工具,并给出我们的选择建议。
2.1 可选工具对比市面上内网穿透工具很多,各有优劣:
| 工具名称 | 类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| FRP (Fast Reverse Proxy) | 开源,自建服务端 | 完全免费,自主可控,性能好,配置灵活。 | 需要一台有公网IP的服务器(如云服务器),有一定配置门槛。 | 有云服务器、追求稳定和长期使用的玩家/开发者。 |
| Ngrok | 商业/开源 | 早期流行,配置简单,有免费隧道。 | 免费版隧道地址随机变化、速度慢、不稳定;商业版收费。 | 临时测试、快速验证。 |
| Cpolar | 商业/免费 | 国内服务,速度可能较快,提供固定TCP隧道。 | 免费版有流量和隧道数限制,需要实名认证。 | 国内用户,轻度使用。 |
| ZeroTier / Tailscale | 虚拟局域网 | 组建虚拟局域网,体验类似真实局域网,功能强大。 | 需要所有联机玩家都安装客户端并加入同一网络,对纯游戏联机稍显重量。 | 有多设备、跨平台组网需求的进阶用户。 |
| 游戏联机宝等硬件 | 硬件设备 | 即插即用,专为游戏优化。 | 需要额外购买硬件设备。 | 预算充足、追求极致简便的玩家。 |
2.2 本文方案选择:FRP(自建服务端)综合稳定性、可控性、成本和学习价值,FRP是最佳选择。虽然需要一台云服务器,但如今入门级云服务器成本很低(每月约10-30元),一次配置,长期受益。它不仅能让你的《我的世界》稳定联机,未来还可以用于远程桌面、搭建个人网站等多种用途。
2.3 所需环境清单
- 一台拥有公网IP的云服务器(FRP服务端):推荐购买腾讯云、阿里云、华为云等厂商的轻量应用服务器,选择最基础的配置(1核1G或1核2G)即可,系统选择Ubuntu 22.04 LTS或CentOS 7.9。本文以 Ubuntu 22.04 为例。
- 你的本地游戏电脑(FRP客户端 & 游戏主机):Windows 10/11 系统。
- 基岩版《我的世界》:确保所有联机玩家游戏版本一致。
- 基础的命令行操作知识:需要会在服务器和本地电脑上执行一些简单命令。
3. FRP 核心原理与配置拆解
FRP 分为两部分:服务端 (frps)和客户端 (frpc)。理解它们的配置是成功的关键。
3.1 核心架构图
好友的《我的世界》客户端 | | 连接 [云服务器IP]:[映射端口] V FRP 服务端 (frps) | | 通过已建立的隧道转发 V FRP 客户端 (frpc) | | 连接本地端口 V 你的《我的世界》游戏主机 (localhost:19132)3.2 核心配置项解释FRP 通过一个.ini或.toml格式的配置文件工作。以下是几个最关键的参数:
bind_port(服务端):FRP 服务端监听的端口,客户端用来连接服务端。这是最重要的端口之一。vhost_http_port/vhost_https_port(服务端):用于Web服务的端口,我们做游戏联机用不到,但配置里可能有。server_addr(客户端):客户端要连接的服务端IP地址,就是你云服务器的公网IP。server_port(客户端):客户端连接服务端的端口,必须和服务端的bind_port一致。[mc](客户端):定义一个隧道的段落名称,可以自定义,如[minecraft]。type(客户端):隧道类型。对于《我的世界》这种非HTTP的游戏服务,必须使用tcp。local_ip(客户端):本地服务的IP,通常是127.0.0.1或localhost。local_port(客户端):本地服务的端口。基岩版《我的世界》的默认端口是19132。remote_port(客户端):远程映射端口。服务端用这个端口来接收外部连接,然后转发给你。这个端口需要你在服务器防火墙中开放。
4. 完整实战:搭建FRP实现基岩版远程联机
接下来,我们进入一步步的实操环节。请严格按照顺序操作。
4.1 云服务器端 (FRPS) 配置
第一步:登录并更新系统通过SSH工具(如PuTTY、Xshell、或系统终端)登录你的云服务器。
# 更新软件包列表 sudo apt update # 升级已安装的包 sudo apt upgrade -y第二步:下载并安装 FRP访问 FRP 的 GitHub Releases 页面(例如https://github.com/fatedier/frp/releases),查看最新版本。使用wget命令下载对应的 Linux 版本(通常是linux_amd64)。
# 以 v0.52.3 版本为例,请替换为最新版本号 wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz # 解压下载的文件 tar -zxvf frp_0.52.3_linux_amd64.tar.gz # 进入解压后的目录 cd frp_0.52.3_linux_amd64/这个目录里,我们主要关心两个文件:frps(服务端程序) 和frps.toml(服务端配置文件)。frpc是客户端程序,在服务器上不需要。
第三步:配置 FRP 服务端编辑frps.toml配置文件:
sudo nano frps.toml将内容修改为如下配置(如果文件已有内容,请覆盖):
# frps.toml bindPort = 7000 auth.method = "token" auth.token = "your_secure_token_here" # 请务必修改为一个复杂的密码 # 以下Web相关配置可以删除或保留,不影响游戏联机 webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin"关键解释:
bindPort = 7000:服务端监听端口,客户端通过这个端口连接上来。记住这个端口号。auth.token:认证令牌,相当于客户端连接服务端的密码。必须设置,且要复杂,防止他人恶意连接你的服务器。
保存并退出编辑器(在 nano 中按Ctrl+X,然后按Y,再按Enter)。
第四步:开放服务器防火墙端口云服务器有安全组/防火墙,必须手动放行端口,否则外部无法连接。
- FRP 服务端口:我们需要放行上面配置的
7000端口(TCP)。 - 《我的世界》映射端口:我们还需要放行一个端口给游戏连接,例如
19133(避免和默认19132冲突)。这个端口在客户端配置中决定。
以 Ubuntu 使用 UFW 防火墙为例:
# 允许 SSH 端口(确保你不会把自己关在外面) sudo ufw allow 22/tcp # 允许 FRP 服务端口 sudo ufw allow 7000/tcp # 允许《我的世界》映射端口,这里先预设为19133 sudo ufw allow 19133/tcp # 启用防火墙 sudo ufw enable # 查看规则 sudo ufw status numbered注意:如果你使用的是阿里云、腾讯云等,还需要在云服务商的控制台找到“安全组”设置,同样添加入站规则,允许 TCP:7000 和 TCP:19133。
第五步:启动 FRP 服务端并设置开机自启首先直接启动测试:
./frps -c ./frps.toml如果看到类似“frps started successfully”的日志,说明服务端启动成功。按Ctrl+C停止。
为了让它一直在后台运行,我们使用 systemd 创建服务:
sudo nano /etc/systemd/system/frps.service写入以下内容:
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/path/to/your/frp/frps -c /path/to/your/frp/frps.toml # 请将 /path/to/your/frp/ 替换为你实际的 frp 目录绝对路径,例如 /home/ubuntu/frp_0.52.3_linux_amd64/ [Install] WantedBy=multi-user.target保存后,启用并启动服务:
# 重新加载 systemd 配置 sudo systemctl daemon-reload # 设置开机自启 sudo systemctl enable frps # 启动服务 sudo systemctl start frps # 查看服务状态 sudo systemctl status frps如果状态显示为active (running),恭喜你,FRP 服务端已配置完成!
4.2 本地电脑客户端 (FRPC) 配置
第一步:下载 FRP 客户端在你的 Windows 电脑上,访问同一个 FRP Release 页面,下载 Windows 版本(如frp_0.52.3_windows_amd64.zip)。解压到一个方便的目录,例如D:\frp。
第二步:配置 FRP 客户端进入解压目录,编辑frpc.toml文件(可以用记事本,但推荐 Notepad++ 或 VSCode)。
# frpc.toml serverAddr = "你的云服务器公网IP" serverPort = 7000 auth.method = "token" auth.token = "your_secure_token_here" # 必须和服务端 frps.toml 中的 token 完全一致 [[proxies]] name = "mc-bedrock" type = "tcp" localIP = "127.0.0.1" localPort = 19132 remotePort = 19133关键解释:
serverAddr:填写你云服务器的公网IP地址。serverPort:填写服务端配置的bindPort(这里是7000)。auth.token:必须和服务端设置的令牌一模一样。name:隧道名称,可自定义。type:必须是tcp。localPort:本地《我的世界》游戏开放的端口,基岩版默认是19132。remotePort:远程映射端口。好友将通过服务器IP:19133来连接。这个端口必须已在服务器防火墙中开放(我们前面已经开放了19133)。
第三步:启动 FRP 客户端在frpc.toml文件所在目录,按住Shift键并右键点击空白处,选择“在此处打开 PowerShell 窗口”或“打开命令窗口”。 运行命令:
.\frpc.exe -c .\frpc.toml如果连接成功,你将看到类似“login to server success”和“proxy [mc-bedrock] start success”的提示。保持这个命令窗口不要关闭,它维持着你和服务器之间的隧道。
第四步:创建《我的世界》世界并开启局域网游戏
- 启动《我的世界》基岩版。
- 创建一个新的世界或进入已有的世界。
- 进入游戏后,暂停游戏,找到“设置” -> “游戏”。
- 将“多人游戏”和“局域网游戏”的选项打开。
- 记下游戏界面左下角可能出现的端口号(通常是19132)。此时,你的游戏已经在本地 19132 端口上提供服务了。
4.3 好友连接测试
现在,让你的好友进行以下操作:
- 在《我的世界》主界面,点击“游戏”。
- 切换到“好友”标签页(或直接点击“加入游戏”下的“服务器”标签,取决于版本)。
- 点击“添加服务器”。
- 服务器名称:任意填写,如“小明的世界”。
- 服务器地址:填写
你的云服务器公网IP:远程映射端口。根据我们的配置,就是xx.xx.xx.xx:19133(将xx.xx.xx.xx替换为你的服务器真实IP)。 - 端口保持默认(它会自动识别)。
- 点击“保存”后,服务器应该会出现在列表里,显示为绿色信号灯和“可加入”状态。
如果一切顺利,好友点击加入,就能进入你的世界了!
5. 常见问题与排查思路
即使按照步骤操作,也可能遇到问题。请按照以下清单排查。
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| FRPC 客户端连接失败 ( login to server failed) | 1. 服务器IP/端口错误 2. 服务器防火墙未开放7000端口 3. 认证令牌(token)不匹配 4. 服务端frps未运行 | 1. 检查serverAddr和serverPort(7000)。2. 在服务器执行 sudo ufw status或检查云平台安全组,确保7000端口TCP协议已放行。3. 核对客户端和服务端 frpc.toml和frps.toml中的auth.token是否完全一致。4. 在服务器执行 sudo systemctl status frps查看服务状态。 |
| 好友连接服务器失败 (“无法连接至世界”) | 1. 远程映射端口未开放 2. FRPC客户端未运行或配置错误 3. 本地游戏未开启局域网 4. 本地防火墙阻止 | 1. 确保服务器防火墙和安全组开放了remotePort(如19133) TCP协议。2. 检查FRPC客户端窗口是否正常运行,是否有 proxy start success日志。3. 确认本地《我的世界》游戏中“多人游戏”和“局域网游戏”已开启。 4. 临时关闭Windows Defender防火墙或添加入站规则允许《我的世界》和 frpc.exe。 |
| 好友能看见服务器但连接超时/卡顿 | 1. 服务器带宽或性能不足 2. 双方物理距离远,网络延迟高 3. 隧道流量过大 | 1. 检查服务器CPU/内存使用情况。对于2-4人联机,1核1G基本够用,但带宽最好在3Mbps以上。 2. 选择地理位置折中的云服务器机房。 3. 这是内网穿透的固有延迟,属于正常现象。 |
| FRPC客户端频繁断开重连 | 1. 本地网络不稳定 2. 服务器负载高或网络波动 | 1. 检查本地网络。 2. 在服务端配置 frps.toml中可尝试增加heartbeatTimeout等参数,但通常默认即可。 |
| 更换世界后好友无法连接 | 基岩版每次开启局域网,本质上是在本地端口提供服务。只要FRPC客户端在运行,隧道就在工作。 | 无需重新配置FRP。只需确保: 1. FRPC客户端始终运行。 2. 新世界开启了“局域网游戏”。 好友使用相同的服务器地址和端口(即 IP:19133)即可连接新世界。 |
6. 最佳实践与进阶优化
配置成功只是第一步,以下建议能让你的联机体验更稳定、安全。
6.1 安全加固
- 使用强令牌:
auth.token不要使用简单密码,建议使用密码生成器生成一串随机的数字字母组合。 - 限制端口访问:在云服务器安全组中,可以设置仅允许你自己的家庭IP地址访问7000和19133端口,降低被扫描攻击的风险。
- 定期更新:关注 FRP 的 GitHub 发布页,定期更新到新版本,修复潜在安全漏洞。
6.2 稳定性提升
- 使用 systemd 或守护进程:务必在服务器端使用
systemd托管 frps,在客户端可以使用nssm或将其配置为Windows服务,避免窗口关闭导致服务停止。- Windows 创建服务示例(在管理员PowerShell中):
# 进入frp目录 cd D:\frp # 使用sc命令创建服务 sc create FrpClient binPath= “D:\frp\frpc.exe -c D:\frp\frpc.toml” start= auto sc start FrpClient
- Windows 创建服务示例(在管理员PowerShell中):
- 配置日志:在
frpc.toml和frps.toml中配置log.level = “info”和log.maxDays = 3,便于出问题时查看日志。
6.3 便利性优化
- 使用域名代替IP:如果你的服务器IP是动态的(会变化),可以考虑使用DDNS服务绑定一个域名。然后在客户端配置中,
serverAddr填写域名即可。 - 一键启动脚本:为本地客户端编写一个批处理文件 (
start_frpc.bat),内容为frpc.exe -c frpc.toml,双击即可运行。 - 多游戏/多服务共享:一台FRP服务器可以为多个不同的游戏或服务提供穿透。只需在客户端的
frpc.toml中配置多个[[proxies]]段落,并使用不同的remotePort即可。
6.4 成本考量对于纯游戏联机,购买国内主流云厂商的轻量应用服务器是最划算的选择,通常价格比同配置的云服务器更低,且带宽更高(5Mbps起步),非常适合网络传输。
通过以上步骤,你已经成功搭建了一个私有的、稳定的《我的世界》基岩版远程联机通道。这个方案的核心价值在于“一劳永逸”和“自主可控”。一旦搭建完成,你不仅可以用于《我的世界》,任何基于TCP/UDP的联机游戏或自建服务(如远程桌面、NAS访问)都可以通过修改FRP客户端配置轻松实现内网穿透。