在centos上搭建《异星工厂》(Factorio)服务器端小记

5,961 阅读4分钟

[TOC]

一、总记

这两天和基友喜欢上了游戏《异星工厂》(Factorio),好基友打游戏当然第一件事情是关心游戏能不能联机啦。答案是这个游戏是“联基”神器!由于和基友天各一方且用的都是移动的辣鸡网络,一到高峰期就会进入鬼畜模式。于是谋生了自己搭服务器的想法,网上一搜,发现Factorio自带了服务器的程序,手上正好有台闲置的双十一购入的乞丐服务器,赶紧拿来试试。

二、搜集信息

网络上的服务器配置大概有3个流派

其实大家的最核心方式还是通过官方的程序搭建的服务,只不过通过使用Docker和脚本来简便了部署流程。 我最后选择的是直接使用官方的裸奔流,原因是因为另外两个的版本都和我用的版本不匹配且菜鸡并没有找到修改版本的地方,索性就裸奔了起来。所以我的操作大部分是跟随贴吧大神的,不过我贴吧去的比较少,对这种分楼的阅读读起来比较难受,所以自己整理一篇,也算是对贴吧大神部分错漏的更新补充。

官方的服务程序有无头版本的,对于我的乞丐服务器当然就求之不得。下载地址:[链接]

截止我搭建的180510最新的稳定版本是0.16.36的,我就选择这个了。(最近的版本似乎改动很大,网上看到的很多参数都无法在启动命令行里面直接配置了,所以特地说下。)

三、步骤

1.下载程序

wget https://www.factorio.com/get-download/0.16.36/headless/linux64

这只是个示例,只要能把linux64这个压缩包丢到服务器上就行。(这个文件起名还真是简单粗暴啊。)

2.解压压缩包

tar -xvf linux64

推荐将该包解压到/opt目录下,原因后面会解释。 解压完后目录结构如下:

3.编辑配置文件

进入data文件夹,编辑文件

server-settings.example.json

我的话就修改了下面的部分,这里只保证你的程序能跑起来。

4.修改配置文件名字

这个应该算贴吧大神漏掉的一点,如果没有指定启动的配置文件的话,默认的配置文件名字是 server-settings.json,所以最好是准备一份。

cp server-settings.example.json  server-settings.json

5.生成地图*

这里也是贴吧大神没说清楚的一点,如果不用已有的存档的话,需要新生成一个存档。 如果你还记得第二点中解压出来的文件目录的话,会记得里面只有3个目录,为了方便保存记录我们在游戏路径的根目录下创建一个saves文件夹。

./bin/x64/factorio --create ./saves/test1.zip

就能看到生成了一个存档。

P.S.: 由于阅读文章的理解不对,我还以为在执行"--create“参数后能直接运行该存档,却发现程序一直运行到Goodbye的位置,很是苦恼,日志中也没有什么异常报出,最后通过尝试才发现这点。

6.启动服务器

最后的启动命令如下:

/opt/factorio/bin/x64/factorio --config /opt/factorio/config/config.ini --port 34197 --start-server /opt/factorio/saves/test1.zip --server-settings /opt/factorio/data/server-settings.json

我的正常启动日志如下,opening是在opening但是是可以玩的了。

四、关于脚本启动

中间在被create卡住的那段期间我也尝试了一下脚本启动,很方便只要按照readme的指示一步一步做就可以了。 值得一提的是脚本里面有个很方便的功能

/opt/factorio-init/factorio invocation

这里的 “factorio” 是脚本里面的运行程序,而不是官方服务程序中的应用程序。 这个指令会自动检测你的环境有什么问题,如果没有问题的话,他就会提醒你启动的指令。如下图:

可以看出来我的启动指令就是由这个“指导思想”修改而来的。同时我的服务器缺少glibc_2.18也是由这个脚本检测出来的。所以如果你发现你的脚本启动异常,可以试试看用这个指令检测。

后记

这两年接触服务器比较多,但是自己搭游戏服务器完还是第一次。用了这个服务器后,联基美滋滋,所以还是很自满的。记录下一篇没有什么用的文章,以兹鼓励。 我是llsxily,你可以叫我橘子。