搭建《Satisfactory幸福工厂》服务器并且使用内网穿透暴露在公网上实现远程联机
需求分析
自从幸福工厂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 = udplocal_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://blog.csdn.net/Rktrin_/article/details/129116411
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341