Frp内网穿透服务搭建 低时延联机游戏
蔡文洋
2024年01月27日 14:21
收录于文集
共5篇

写在前面

使用内网穿透 可以使没有公网ip的 你的朋友们 处于一个虚拟的局域网段内 这样你架设在家中的游戏服务器 才可以被所有加入你虚拟网段的人访问到 对于所有支持局域网联机的游戏 都是一种有效的 可以达到低时延 的联机方式 不用再忍受游戏官服的高ping服务

. 举例游戏

  • Terraria 泰拉瑞亚

  • Left 4 Dead 2 求生之路2

  • PalWorld 幻兽帕鲁

  • Enshrouded 雾锁王国

  • Minecraft 我的世界

特别说明:一些游戏服务器配置需求不高的游戏 可以直接把游戏服务器架设在云服务器主机上(Terraria 泰拉瑞亚、PalWorld 幻兽帕鲁) 而一些游戏服务器由于优化和一些底层的问题就需要你在本地架设好服务器 再使用内网穿透来联机(PalWorld 幻兽帕鲁、Minecraft 我的世界java版) 特别吐槽一下 最近大火的PalWorld 幻兽帕鲁服务器配置要求到内存16GB以上 推荐达到32GB… 这个配置价格直接告别考虑云服务器

. 具体思路如下:

准备:

  • 一台具有公网IP的云服务器主机(阿里 腾讯 华为…) 配置入门就够了 主要是带宽 能高则高 地理位置约近越好

  • 闲置的 (专用的) 主机作为本体游戏服务器 配置达到运行游戏服的标准(网络上搜索参考) 需要24H运行 网线连接获得最低理论时延

两台主机的系统装windows或linux无所谓 都可以 Frp无论服务端 还是 客户端都有对应版本

  1. 在云服务器上安装并配置 Frp服务端 监听 其他用户的接入

  2. 在本地主机上安装并配置 Frp客户端 作为 被监听的 进入点

  3. 开放云服务器的本地主机的端口(只做游戏服务器可以直接关闭防火墙 开放所有端口)

  4. 开放本地主机的端口(只做游戏服务器可以直接关闭防火墙 开放所有端口)

以下是Frp服务的安装方法

cut-off

一、下载

. windows(x86)

  • GitHub下载地址:https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_windows_amd64.zip

  • 我的阿里云存储下载地址(备用):https://edison-aliyun-oss.oss-cn-chengdu.aliyuncs.com/halofiles/frp_0.53.2_windows_amd64.zip

. linux(x86)

  • GitHub下载地址:https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz

  • 我的阿里云存储下载地址(备用):https://edison-aliyun-oss.oss-cn-chengdu.aliyuncs.com/halofiles/frp_0.53.2_linux_amd64.tar.gz

cut-off

linux命令行下载

GitHub下载

wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz

我的阿里云存储下载(备用)

wget https://edison-aliyun-oss.oss-cn-chengdu.aliyuncs.com/halofiles/frp_0.53.2_linux_amd64.tar.gz

cut-off

二、解压

. windows

任意解压软件解压

. linux

tar -zxvf frp_0.53.2_linux_amd64.tar.gz

cut-off

三、修改配置文件

配置文件模板来自B站大佬 司波图​ 非常NB的up 我就是跟他学的

GitHub 上也有详细的编写说明 主要全是英文 看的头疼

. windows下编写

1.windows进入配置文件夹

2.windows打开配置文件编写

windows服务端编写

[common]

# 监听端口

bind_port = 7000

# 面板端口

dashboard_port = 7500

# 登录面板账号设置

dashboard_user = admin

dashboard_pwd = 123456

# 设置http及https协议下代理端口(非重要)

vhost_http_port = 7080

vhost_https_port = 7081

# 身份验证

token = 12345678

编辑完成 保存退出

windows客户端编写

[common]

# server_addr为FRPS服务器IP地址

server_addr = x.x.x.x

# server_port为服务端监听端口,bind_port

server_port = 7000

# 身份验证

token = 12345678

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 2288

# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。

# type 为连接的类型,此处为tcp

# local_ip 为中转客户端实际访问的IP 

# local_port 为目标端口

# remote_port 为远程端口

编辑完成 保存退出

. linux 下编写

1.linux进入配置文件夹

cd frp_0.53.2_linux_amd64

2.linux用vim编辑器打开并编辑

linux服务端编写

vim frps.toml

Insert 按键进入编辑状态

[common]

# 监听端口

bind_port = 7000

# 面板端口

dashboard_port = 7500

# 登录面板账号设置

dashboard_user = admin

dashboard_pwd = 123456

# 设置http及https协议下代理端口(非重要)

vhost_http_port = 7080

vhost_https_port = 7081

# 身份验证

token = 12345678

编写完成后按 Esc 再输入 :wq 保存并退出

linux客户端编写

vim frpc.toml

Insert 按键进入编辑状态

[common]

# server_addr为FRPS服务器IP地址

server_addr = x.x.x.x

# server_port为服务端监听端口,bind_port

server_port = 7000

# 身份验证

token = 12345678

[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 2288

# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。

# type 为连接的类型,此处为tcp

# local_ip 为中转客户端实际访问的IP 

# local_port 为目标端口

# remote_port 为远程端口

编写完成后按 Esc 再输入 :wq 保存并退出

cut-off

四、开启服务

. windows下开启

windows开启服务端

1.新建文本文档

2.输入frps -c frps.toml后缀保存为run.bat

3.启动run.bat脚本

windows开启客户端

1.新建文本文档

2.输入frpc -c frpc.toml后缀保存为run.bat

3.启动run.bat脚本

. linux下开启

linux开启服务端

1.新建run.sh文件

touch run.sh

2.编辑run.sh文件

vim run.sh

Insert 按键进入编辑状态

输入

./frps -c ./frps.toml

编写完成后按 Esc 再输入 :wq 保存并退出

3.修改文件启动权限

chmod ug+x run.sh

4.打开run.sh文件运行

./run.sh

linux开启客户端

1.新建run.sh文件

touch run.sh

2.编辑run.sh文件

vim run.sh

Insert 按键进入编辑状态

输入

./frpc -c ./frpc.toml

编写完成后按 Esc 再输入 :wq 保存并退出

3.修改文件启动权限

chmod ug+x run.sh

4.打开run.sh文件运行

./run.sh

常见问题

. 1.windows下 病毒和威胁防御 可能会删除掉.exe软件 需要关闭实时保护