搭建《Satisfactory幸福工厂》服务器并且使用内网穿透暴露在公网上实现远程联机

需求分析

自从幸福工厂update6版本更新后,对服务器端的内存需求大增,8G内存云服务器已经完全不能满足开服需求(选择完地图后会卡在加载页面,终端卡死)

但是市面上的服务商提供的更高规格的服务器又太贵了。正好手头又有闲置的设备可以当服务器用,干脆考虑部署在家里,然后用云服务器作端口映射。

所需设备

一台有公网ip的云服务器

云服务器只做流量转发,没有配置需求。1C1G1M足够两三个人联机用,人数更多可以考虑增加带宽,建议选择离你物理位置较近的云服务器。

一台内存大于10G并且能连上网的本地设备

我的设备是一台闲置的笔记本,如果你的电脑足够强劲,也可以装在本地虚拟机里。

我和朋友两个人玩的180小时的档加载完地图占用约9G内存,即使是新档加载完地图后也会占用超过8G的内存。

本文机器系统均选用ubuntu20.04

部署幸福工厂服务器

本地的linux服务器上部署幸福工厂服务器

安装过程建议参考

https://blog.csdn.net/qq_41898780/article/details/121012848

幸福工厂部署完后 你应当可以通过本地局域网ip发现你的服务器 (需要你和你部署服务器的设备在同一网络环境下)

这里我的电脑和我用来部署服务器的设备连在同一个路由器下

幸福工厂服务器的局域网地址可以通过指令查询

ip a

0401445
然后打开游戏直接连接服务器

地址输上面查到的局域网地址
(注:1.0版本的默认端口号变更为7777)
843127

点击确认,就可以看见你在局域网里的服务器
12312312
这个时候 幸福工厂服务器已经部署好了,但是远在天边的网友还不能加入你的游戏,我们需要把他暴露到公网上

网络工具FRP

简单好用的工具

github项目地址

https://github.com/fatedier/frp

最新版本下载页面

https://github.com/fatedier/frp/releases

根据服务器的环境选择我这里选择了

frp_0.47.0_linux_amd64.tar.gz

下载地址

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

国内访问github有时候会抽风。如果连不上可以直接百度寻求解决方法

下载完解压

tar -zxvf ./frp_0.47.0_linux_amd64.tar.gz

032801

编辑frps.ini 文件内容

(注释需要删除掉,涉及到的端口需要自行去服务器供应商设置放通)

[common]
bind_port = 7000     				#提供转发服务的端口
authentication_method = token 		#权限验证方式
authenticate_new_work_conns = true	#开启建立工作连接的鉴权
token = 123456 						#鉴权使用的 token 值 	客户端需要设置一样的值才能鉴权通过

编辑frpc.ini文件内容

(注释需要删除掉)

[common]
server_addr = xxx.xxx.xxx.xxx       #云服务器的公网地址
server_port = 7000					#云服务器提供转发服务器的端口
authentication_method = token 		#权限验证方式
authenticate_new_work_conns	= true  #开启建立工作连接的鉴权
token = 123456						#鉴权使用的 token 值 	客户端需要设置一样的值才能鉴权通过
log_file = ./frpc.log				#输出日志存放的位置

[udp]
type = udp
local_ip = 127.0.0.1 
local_port = 7777					#幸福工厂1.0版本服务器默认udp端口
remote_port = 7777 				#使用云服务器的端口


[tcp]
type = tcp
local_ip = 127.0.0.1 
local_port = 7777					#幸福工厂1.0版本服务器默认tcp端口
remote_port = 7777 				#使用云服务器的端口

将frps 和frps.ini上传到用来转发的服务器上并且启动服务

我这里使用screen让他在我关闭终端的时候继续运行

#创建一个窗口
screen -S frp

一般来说需要赋予该文件执行权限

chmod a+x ./frps

然后运行服务

./frps -c ./frps.ini

可以看到输出

[I] [root.go:206] frps uses config file: ./frps.ini
[I] [service.go:200] frps tcp listen on 0.0.0.0:7000
[I] [root.go:215] frps started successfully

这个时候服务端就配置完成了

接下来一样的流程 ,把frpcfrpc.ini上传到部署幸福工厂的服务器上并且启动服务 (注意文件名不一样 别传错了)

#创建一个窗口
screen -S frp

一般来说需要赋予该文件执行权限

chmod a+x ./frpc

然后运行服务

./frpc -c ./frpc.ini

因为配置文件配置了日志输出地址,所以控制台不会输出日志。使用ctrl+A+D将其放到后台不管即可

然后去用来做端口映射的云服务器上查看会有输出

[I] [service.go:500] [ab6d200859e64037] client login info: ip [xxx.xxx.xxx.xxx:xxxxx] version [0.47.0] hostname [] os [linux] arch [amd64]
[I] [udp.go:87] [ab6d200859e64037] [udp] udp proxy listen port [15777]
[I] [control.go:464] [ab6d200859e64037] new proxy [udp] type [udp] success

这就说明本地的幸福工厂服务器和云服务器连接成功,这时游戏里已经可以通过公网IP找到你的服务器了

你的朋友当然也可以通过这个公网地址找到你的服务器
(注:1.0版本的默认端口号变更为7777)
13211551

最终成果

和朋友一起玩吧
1561848

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值