利用 FRP 协议把我的世界本地端口映射到公网 VPS 实现联机 准备工作
客户端
服务端(带公网 ip 的VPS)
以下示例
客户端(MacOs)
服务端 (debian)
1)登录服务器
2)下载并安装 frp cd /rootwget https://github.com/fatedier/frp/releases/download/v0.68.0/frp_0.68.0_linux_amd64.tar.gz tar -xzf frp_0.68.0_linux_amd64.tar.gz mv frp_0.68.0_linux_amd64 /opt/frp
安装后主要文件在:
/opt/frp/frps /opt/frp/frpc
3)创建服务端配置文件 用 vim 编辑: 1.
没有 vim 就先下再执行重新执行 1
2.写入内容:
bindPort = 7000 auth.method = "token" auth.token = "mc-frp-super-secret-token-please-change" transport.tls.force = true
这几项的意思
bindPort = 7000 服务端监听 7000(可以改),等客户端连进来
auth.method = "token" 使用 token 认证
auth.token = "..." 客户端和服务端必须一样
transport.tls.force = true 强制客户端用 TLS
4)(选择性)创建 systemd 服务以便 VPS重启后自动启动 编辑:
vim /etc/systemd/system/frps.service
写入:
[Unit] Description =frp serverAfter =network.target syslog.targetWants =network.target[Service] Type =simpleExecStart =/opt/frp/frps -c /opt/frp/frps.tomlRestart =alwaysRestartSec =3 [Install] WantedBy =multi-user.target
5)启动服务 systemctl daemon-reload systemctl enable frps systemctl start frps systemctl status frps --no-pager
看到 active (running) 就说明服务端起来了。
6)开放防火墙端口 ufw allow 7000/tcp ufw allow 25565/tcp ufw reload ufw status
这两个端口的作用
二、客户端流程 1)确认 Minecraft 服务已监听本地 25565 进入 Minecraft 世界后进入菜单把局域网联机打开,端口设置为 25565 (或者任意端口,后面要使用)
终端执行
lsof -iTCP:25565 -sTCP:LISTEN -n -P
看到:
java ... TCP *:25565 (LISTEN)
这说明你本地 Minecraft 服务器已经开着。
2)安装 frpc 注意不同的系统安装指令不一样 macos:
win:
3)创建客户端配置文件 mkdir -p ~/frpvim ~/frp/frpc.toml
写入:
serverAddr = "这里输入服务器ip" serverPort = 7000 auth.method = "token" auth.token = "mc-frp-super-secret-token-please-change" transport.tls.enable = true [[proxies]] name = "minecraft-25565" type = "tcp" localIP = "127.0.0.1" localPort = 25565 remotePort = 25565
4)启动客户端
成功时你看到的关键日志是:
login to server success proxy added: [minecraft-25565] start proxy success
5) 好友游戏连接公网地址 朋友在 Minecraft 主页面->多人游戏->直接连接或者添加服务器输入 ip 地址: 端口: