需求分析
自从幸福工厂update6版本更新后,对服务器端的内存需求大增,8G内存云服务器已经完全不能满足开服需求(选择完地图后会卡在加载页面,终端卡死)
但是市面上的服务商提供的更高规格的服务器又太贵了。正好手头又有闲置的设备可以当服务器用,干脆考虑部署在家里,然后用云服务器作端口映射。
所需设备
一台有公网ip的云服务器
云服务器只做流量转发,没有配置需求。1C1G1M足够两三个人联机用,人数更多可以考虑增加带宽,建议选择离你物理位置较近的云服务器。
一台内存大于10G并且能连上网的本地设备
我的设备是一台闲置的笔记本,如果你的电脑足够强劲,也可以装在本地虚拟机里。
我和朋友两个人玩的180小时的档加载完地图占用约9G内存,即使是新档加载完地图后也会占用超过8G的内存。
本文机器系统均选用ubuntu20.04
部署幸福工厂服务器
在本地的linux服务器上部署幸福工厂服务器
安装过程建议参考
https://blog.csdn.net/qq_41898780/article/details/121012848
幸福工厂部署完后 你应当可以通过本地局域网ip发现你的服务器 (需要你和你部署服务器的设备在同一网络环境下)
这里我的电脑和我用来部署服务器的设备连在同一个路由器下
幸福工厂服务器的局域网地址可以通过指令查询
ip a
然后打开游戏直接连接服务器
地址输上面查到的局域网地址
点击确认,就可以看见你在局域网里的服务器
这个时候 幸福工厂服务器已经部署好了,但是远在天边的网友还不能加入你的游戏,我们需要把他暴露到公网上
网络工具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
编辑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 = 15777 #幸福工厂服务器设置的端口
remote_port = 15777 #使用云服务器的端口
将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
这个时候服务端就配置完成了
接下来一样的流程 ,把frpc 和frpc.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找到你的服务器了
你的朋友当然也可以通过这个公网地址找到你的服务器
文章来源:https://www.toymoban.com/news/detail-588930.html
最终成果
和朋友一起玩吧
文章来源地址https://www.toymoban.com/news/detail-588930.html
到了这里,关于搭建《Satisfactory幸福工厂》服务器并且使用内网穿透暴露在公网上实现远程联机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!