简要说明
本文旨在让你懂得如何使用FRP降低开服成本,常规做法是将整个服务端在云服务器上跑,但是这需要一个月一两百起步的费用。本文章所用手段仍然需要支付网络费用,不过相比一个月动辄一两百轻松不少。
FRP是一种能让你的家庭设备充当服务器的网络工具。
设备
一台有公网ip的云服务器
云服务器只做流量转发,没有配置需求。1C1G1M足够五个人联机用,人数更多可以考虑增加带宽,建议选择离你物理位置较近的云服务器。
承载服务端的电脑设备
你其实可以直接在你玩游戏的电脑上运行,或者使用一个空闲设备,其应至少有4G(Linux)或者8G(Windows)内存
演示
本演示运行在以下条件:幻兽帕鲁服务端Windows,FRP云服务器Ubuntu。
SteamCMD下载
Windows下载:
(https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip)
解压在一个新建文件夹,双击运行
完成后关掉
在SteamCMD路径中打开cmd
输入以下指令:
steamcmd.exe +login anonymous +app_update 2394010 validate +quit
因为已经安装过,我这边是验证安装
安装完后,在steamcmd\steamapps\common\PalServer中就可以找到一个PalServer.exe,那就是服务端程序啦
编辑一个开服批处理脚本,其中指令为:
PalServer.exe port=24129
"port="后是端口号,可以任意指定,但需要记住
至此,你已经可以通过启动这个脚本,通过127.0.0.1:24129连接本地服务器
通过FRP使公网访问到服务器
现在服务器在本地运行,但是你的小伙伴们进不来
该部分包含Ubuntu和WindowsFRP的设置。
FRP下载地址:
https://github.com/fatedier/frp/releases
Linux类似,不再说明
本文服务端为Windows,客户端为Linux,但需要注意其配置文件是一样的,只是执行的文件在服务端改成了.exe,因此最后服务端构成如图:
frpc.toml配置如下:
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
authentication_method = token
authenticate_new_work_conns = true
token = 123456
log_file = ./frpc.log
[udp]
type = udp
local_ip = 127.0.0.1
local_port = 24129
remote_port = 24129
server_addr为你的云服务器IP
local_port与remote_port设置为你的幻兽帕鲁服务端端口,我设置的是24129(2024/1/29)
配置frps.toml:
[common]
bind_port = 7000
authentication_method = token
authenticate_new_work_conns = true
token = 123456
token为鉴权,类似于密码,保持客户端和服务端一致即可
在本地服务器创建批处理脚本,配置如下:
frpc.exe -c frpc.toml
在云服务器执行指令,本演示环境为Ubuntu
将frps 和frps.toml上传到用来转发的服务器上并且启动服务
这里使用screen让他在我关闭终端的时候继续运行
#创建一个窗口
screen -S frp
一般来说需要赋予该文件执行权限
chmod a+x ./frps
然后运行服务
./frps -c ./frps.ini
可以看到输出
本地客户端也启动FRP
可以看到端口映射云服务器输出类同:
2024/01/30 15:27:49 [I] [service.go:563] [8ab6a55859c503dc] client login info: ip [112.65.27.227:54146] version [0.53.2] hostname [] os [windows] arch [amd64]
2024/01/30 15:27:49 [I] [udp.go:103] [8ab6a55859c503dc] [udp] udp proxy listen port [24129]
2024/01/30 15:27:49 [I] [control.go:401] [8ab6a55859c503dc] new proxy [udp] type [udp] success
即FRP连接成功
你可以教你的好朋友通过云服务器公网IP到你的世界啦