使用 FRP 实现 Simple Voice Chat 的内网穿透:安装与配置指南

· 云服务器

🚀 博主整理的云服务器优惠活动(点击查看)

Simple Voice Chat 是很多人在 Minecraft 服务器里用的实时语音工具,它默认通过 UDP 协议24454 端口传声音。但大多数家庭或公司网络里的电脑都躲在路由器后面,外面的人没法直接连进来。为了让朋友能连上你的语音,就得用一种叫“内网穿透”的技术。FRP 是个轻巧又快的转发工具,支持 UDP,配置也不难,特别适合用来解决这个问题。

整体结构和它是怎么工作的

FRP 分成两部分:一部分跑在有公网 IP 的远程服务器上(叫 frps),另一部分跑在你本地装了语音插件的电脑上(叫 frpc)。frps 负责接收外面来的连接请求,然后通过已经建好的通道把数据发给 frpc;frpc 再把收到的数据交给本地的语音程序(比如 Minecraft 里的 Simple Voice Chat)。

整个过程是这样的:玩家的游戏客户端向你的 VPS 公网 IP 的 24454 端口发语音包 → VPS 上的 frps 收到后,立刻通过加密隧道转给家里的 frpc → frpc 把包送到 127.0.0.1:24454,也就是你本地运行的语音服务。

具体安装和设置步骤

开始前要准备的东西

  1. 一台有公网 IP 的云服务器(VPS):比如阿里云、腾讯云或者国外的 DigitalOcean,系统可以是 Ubuntu 22.04。记得在安全组里打开 7000/TCP(这是 FRP 自己用的控制端口)和 24454/UDP(这是语音数据走的端口)。
  2. 你的本地电脑或服务器:确保 Minecraft 已经成功加载了 Simple Voice Chat 插件,并且在它的配置文件 config/voicechat/voicechat-server.properties 里看到 port=24454 这一行。
  3. 下载 FRP 软件:去 FRP 的 GitHub 发布页下载最新版压缩包(本文用的是 v0.52.3),服务器和本地用的是同一个包。

设置 FRP 的服务器端(frps)

在你的 VPS 上新建一个叫 frps.toml 的文件,内容如下:

# frps.toml - FRP 服务端配置
[common]
bind_port = 7000                     # 客户端连这个端口来建立通道
authentication_method = "token"      # 开启密码验证,防止别人乱连
token = "your_strong_secret_token"   # 自己设一个复杂一点的密码,两边要一样

保存后,在终端里运行:

./frps -c ./frps.toml

为了省事,建议把它做成系统服务(用 systemd),这样机器重启后会自动拉起来,挂了也会自己重试。

设置 FRP 的客户端(frpc)

在你运行 Minecraft 的那台电脑上,新建一个 frpc.toml 文件:

# frpc.toml - FRP 客户端配置
[common]
server_addr = "YOUR_VPS_PUBLIC_IP"   # 这里填你 VPS 的真实公网地址
server_port = 7000                   # 必须和上面 frps 里写的 bind_port 一致
token = "your_strong_secret_token"   # 密码必须完全一样,一个字符都不能差

[minecraft_voice_udp]                # 这个名字随便起,只是用来区分不同的转发规则
type = udp                           # 因为语音用的是 UDP,所以这里写 udp
local_ip = "127.0.0.1"               # 本地语音服务监听的地址,一般就是本机
local_port = 24454                   # 你 Minecraft 语音插件实际用的端口号
remote_port = 24454                  # 外面的人通过 VPS 的这个端口来访问语音

保存后,执行:

./frpc -c ./frpc.toml

同样推荐设置成系统服务,避免手动启动麻烦。

怎么测试和解决常见问题

看看有没有成功

遇到问题怎么办

总结

只需要改几个简单的配置,就能让 UDP 语音数据安全地穿过 NAT。

这个方法不光能用在 Minecraft 上,任何跑在内网、用 UDP 通信的服务(比如自建语音聊天室、监控设备等)都能这么干。

以后如果想更省服务器资源,还可以试试 FRP 的 P2P 直连模式,让两端直接通信,不用经过中转。