Syn8leo

2026 年 9 月开始 · 项目 · 约 5 分钟读完

MC-Tunnel 联机隧道

把 Minecraft 的“对局域网开放”世界映射到自己的云服务器上,朋友输入一个地址就能加入,不用装虚拟局域网软件。Windows 图形界面工具。

演示

打开 MC-Tunnel,最上面就是可以直接发给朋友的连接地址。在游戏里点“对局域网开放”,再点“启动隧道”,工具会自动找到这个世界用的端口,连上你自己的服务器,界面上会显示隧道状态和运行日志。朋友只要在“多人游戏 → 添加服务器”里粘贴这个地址就能进来,不需要安装任何软件。

MC-Tunnel 主窗口:上方是可以复制给朋友的连接地址,中间是隧道、局域网世界、延迟和流量等状态,下面有启动隧道、停止、测试公网、打开日志、设置按钮和日志区
MC-Tunnel 主窗口(演示配置,地址是占位符)

它怎么工作

家里和校园网的电脑一般没有公网 IP,外面的人找不到它。解决办法是借一台有公网 IP 的云服务器当中转站:我的电脑主动连上中转站,朋友也连中转站,中转站在中间传话。

MC-Tunnel 先要找到游戏世界。Minecraft 开放局域网以后,会每秒在局域网里“喊”一次自己的端口,工具在所有网卡上听这个广播;万一听不到,就检查本机 Java 进程开着哪些端口,逐个试探。找到之后,它在本机开一个固定端口当作“桥”,把连接转给游戏实际用的端口,这样不管游戏这次随机用了哪个端口,后面的配置都不用改。最后,它启动开源内网穿透工具 frp 的客户端,用令牌连上服务器上的 frps,把服务器的 25565 端口转发到这座桥上。

第一版做出来以后,我自己用的时候遇到过三次“用不了”。一次是连接状态永远不更新,原因是读日志的代码有个小错误,日志从来没被解析;一次是本地桥也用了 25565,和游戏本身抢端口,后来改成从 35565 开始自动挑一个空闲端口;还有一次是收不到游戏的广播,因为我的电脑同时装了虚拟机和虚拟局域网,广播从一个意想不到的网卡出去了,于是改成在所有网卡上监听,再加上端口探测兜底。

下载和使用

下载 mc-tunnel.zip
29 KB · 更新于 2026-10-29
SHA-256:ac737edc9d7fb9cb323c37e7021d01ee05e6aa65504c361d45268ae705effe5b
下载 mc-tunnel-windows.zip
18.6 MB · 更新于 2026-10-29
SHA-256:72ab1ccec0922ea916e361eef654d79c79f1ea11fd0df86926a56adc47d0cfa8
Windows 程序说明

exe 内置 frpc 0.71.0 和它的许可证,不含任何人的服务器地址或令牌。程序没有数字签名,Windows SmartScreen 可能提示“已保护你的电脑”;可以先用页面上的 SHA-256 校验文件,再决定是否运行。不想用 exe 就下载源码,用 Python 3.12 运行。

先在自己的服务器上搭 frps

  1. 准备服务器任意有公网 IP 的 Linux 云服务器,建议带宽 3 Mbps 以上。下面以 Ubuntu 和 frp 0.71.0 为例。
  2. 下载 frp 服务端在服务器上运行:
    wget https://github.com/fatedier/frp/releases/download/v0.71.0/frp_0.71.0_linux_amd64.tar.gz
    tar xzf frp_0.71.0_linux_amd64.tar.gz
    sudo cp frp_0.71.0_linux_amd64/frps /usr/local/bin/
  3. 生成令牌运行 openssl rand -hex 16,把输出的 32 位字符串保存好。它相当于中转站的密码,不要发给别人。
  4. 写服务端配置创建 /etc/frp/frps.toml,按包里的 server/frps.toml.example 修改:
    bindPort = 7000
    auth.method = "token"
    auth.token = "your-frp-token"
    allowPorts = [{ start = 25565, end = 25565 }]
    把 auth.token 改成上一步生成的令牌。
  5. 安装成系统服务参考 server/frps.service.example 创建 /etc/systemd/system/frps.service,然后运行:
    sudo systemctl daemon-reload
    sudo systemctl enable --now frps
    systemctl status frps
    看到 active (running) 即可。
  6. 放行端口在云控制台的防火墙/安全组放行入方向 TCP 7000 和 TCP 25565。如果开了 ufw,再运行 sudo ufw allow 7000/tcp 和 sudo ufw allow 25565/tcp。

再在 Windows 上运行 MC-Tunnel

  1. 选择 exe 或源码下载 mc-tunnel-windows.zip 并核对 SHA-256,解压后直接运行 MC-Tunnel.exe;或者下载 mc-tunnel.zip,安装 Python 3.12,从 frp Releases 下载 Windows 版,把 frpc.exe 放进 gui\,运行 python gui\mc_tunnel_gui.py。
  2. 填写设置第一次打开会弹出设置窗口:服务器地址填你的公网 IP 或域名,服务器端口填 7000,令牌和 frps.toml 里的完全一致,朋友端口填 25565。令牌输入框显示为星号。配置保存在 %LOCALAPPDATA%\MCTunnel\config.json。
  3. 开放局域网世界打开 Minecraft Java 版,进入单人世界,按 ESC → “对局域网开放” → “创建局域网世界”。端口不用记,工具会自动发现。
  4. 启动隧道在 MC-Tunnel 点“启动隧道”。等“公网隧道”显示已连接、“局域网世界”显示端口号,再点“测试公网”确认外网能连上。
  5. 发给朋友点“复制”,把地址发给朋友。朋友在“多人游戏 → 添加服务器”里粘贴地址即可,不需要安装 MC-Tunnel 或 VPN。玩完点“停止”,公网入口立即关闭。
  6. 自己打包(可选)安装 Python 3.12 和 PyInstaller 后运行:
    python gui\build.py --frpc D:\Tools\frp\frpc.exe
    脚本不会嵌入配置,会带上 frp 许可证,并在打包后扫描产物、输出 SHA-256。

常见问题

一定要有云服务器吗?

是的。家庭和校园网的电脑一般没有公网 IP,需要一台有公网 IP 的服务器做中转。这个工具不提供公共中转服务器。

延迟会变高吗?

会多走一趟服务器。服务器离你和朋友越近,延迟越低,选同城或同省的机房比较好。

语音模组(比如 Simple Voice Chat)能用吗?

语音模组走 UDP,这个工具目前只转发游戏本身的 TCP 连接,所以语音不经过隧道。

支持基岩版、手机版吗?

只支持 Java 版(电脑版)的“对局域网开放”,客户端只支持 Windows。

杀毒软件报毒怎么办?

frp 是常用的开源内网穿透工具,经常被杀毒软件误报为“黑客工具”。请只从本站或 frp 官方下载,并核对下载页给出的 SHA-256 校验值。

点了开始,但提示找不到局域网世界?

先确认游戏里已经点了“对局域网开放”,并且聊天栏显示了端口号。如果电脑上装了虚拟网卡,稍等几秒,工具会自动改用端口探测去找。

本工具不是 Mojang 或 Microsoft 的官方产品,与它们无关。它不分发任何游戏内容,只转发你自己的局域网连接。内网穿透使用开源项目 frp(Apache-2.0 许可证)。请保管好自己的令牌,不要让别人把你的服务器当作免费中转站。