Factorio(异星工厂)搭建服务器记录

Factorio(异星工厂)Factorio(异星工厂)

最近闲来无事,正好Factorio又更新了,搭建个公网服务器和小伙伴们一起来玩耍。

顺手把搭建过程记录一下。

官方网站 | wiki(中文) | 下载地址(需登录) | 无头服务器下载地址(仅支持linux)


下载&安装

访问 下载地址(需登录)无头服务器下载地址(仅支持linux) 获取游戏。

Factorio(异星工厂)版本说明Factorio(异星工厂)版本说明

info:什么是无头服务器?

这个是 headless 的直译,正确来说应该是没有图形界面的服务器版。

相对于标准版,省去大量的资源,使其十分小巧高性能。

当然标准版是内置服务器的,不然本地游戏就没法运行了。(笑)

当然,如果你是在steam买的话直接从steam安装即可

选择好需要的版本下载解压安装即可(当然压缩版直接解压就OK了)

这里我以我的阿里云服务器为例子:

解压服务器压缩包解压服务器压缩包

#解压 tar.xz 文件,请酌情修改
tar -xvf factorio_headless_x64_0.17.79.tar.xz

linux文件属性详解

Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限、链接数量、所归属用户和用户组、最近访问或修改时间等内容。

ls-ali命令运行截图:

20181104-100300.png20181104-100300.png

ls-ali命令图解:

ls-li命令图解.pngls-li命令图解.png

Linux用户(组)管理文件

在Linux里 /etc/group/etc/passwd/etc/shadow 还有 /etc/gshadow 文件都是有关于系统管理员对用户和用户组管理时相关的文件。


用户组(Group)管理文件

用户组(Group)配置文件主要有 /etc/group/etc/gshadow ,其中 /etc/gshadow 是的加密信息文件。

Linux命令别名

在用 linux 有些时候,会经常用到一些特别长的命令。但每次使用都很烦,这时候可以给它设个别名,方便使用。(懒人福利功能

例如: ll 命令是 linux 下最常用命令之一,但他实际上并不算是 linux 的命令,而是 ls -l 命令 的别名。

2019-12-19_190848.png2019-12-19_190848.png


设置方法

#打开用户的.bashrc文件
vim ~/.bashrc
#添加别名,以添加 ll 为ls -l 的别名为例子
alias ll='ls -l'

2019-12-19_190955.png2019-12-19_190955.png

PS:有些系统会提供相应的模板,去掉前面的 # 即可启用。

网站自动备份脚本+上传百度云

运行脚本的时候将网站与数据库打包为web_dump_时间.7z,之后使用百度pcs上传脚本上传到pcs目录

好处,pcs目录与文件隔离使用独立的验证方式,可以保证一定得隐私。


快速初始化脚本配置

#设置文件运行权限
chmod +x bpcs_uploader.php
#检查环境是否正常
./bpcs_uploader.php
#快速初始化
./bpcs_uploader.php quickinit

按照提示访问 https://openapi.baidu.com/device 获得授权码,并填入命令行中。


备份+上传脚本

#!/bin/bash
baseDir="/var/www/";
nowDate=$(date +%Y%m%d_%H%M%S);
cd "$baseDir";
echo "开始备份数据库";
mysqldump  -uroot -p'password' --default-character-set=utf8  database > html/db/database_dump_$(date +%Y%m%d_%H%M%S).sql
echo "备份数据库完成";
echo "开始备份网站数据";
#tar -cvjpf /home/backfiles/web_dump/web_dump_$(date +%Y%m%d_%H%M%S).tar.bz2 html/
7za a -t7z -r /home/backfiles/web_dump/web_dump_$nowDate.7z html/*
echo "备份网站数据完成";
oldDate=`date --date='8 day ago' +%Y%m%d`;
#删除当前日期-8的备份
rm -rf web_dump_$oldDate*
echo "删除$oldDate的备份成功";
echo "开始备份数据到网盘...";
cd "/home/backfiles/";
chmod 777 /home/backfiles/web_dump/web_dump_$nowDate.7z;
./bpcs_uploader.php upload web_dump/web_dump_$nowDate.7z webback/web_dump_$nowDate.7z
echo "备份完毕";