ARK服务器搭建及文件配置

前言

前几天ARK打折,于是剁手买了(这并不是剁手的原因).既然这么好玩的游戏,一个人玩有什么意思.于是就有了搭建服务器的想法,一开始在自己的2c4g服务器上捣腾,果不其然CPU爆炸,无奈升级套餐,花了我180!!!(剁手,果断的,再不剁来不及了)
自己倒腾服务器也倒腾了好久,而且一开始使用的CentOS系统,但是并没有根据别人的教程搭起来,所以后来改成了Ubuntu系统。

搭建

配置要求:内存>=8g
系统: Ubuntu

前期准备

首先有一台内存8g以上的服务器,服务器可以到一些云上买,我自己的是华为云,因为之前有对学生党优惠的高性能服务器.
服务器开启之后,更新服务器软件

1
apt-get update && apt-get upgrade

安装SteamCMD

1
apt-get install steamcmd

中间应该会出现类图形界面让你同意Steam许可协议,如果没有,请检查之前的过程
同意之后继续执行

出于安全考虑,为ARK服务单独创建一个用户

1
adduser ark

修改系统设置

由于ARK启动时会加载大量文件,而Linux一般初始时不让加载这么多文件,所以我们要修改设置

1
2
3
echo "fs.file-max=100000" >> /etc/sysctl.conf && sysctl -p
echo "* soft nofile 1000000" >> /etc/security/limits.conf
echo "* hard nofile 1000000" >> /etc/security/limits.conf

启用PAM限制

1
echo "session required pam_limits.so" >> /etc/pam.d/common-session

安装ARK服务器

切换至ark用户,并创建一个存放服务器文件的目录

1
2
su ark
mkdir server

链接/usr/games/steamcmdsteamcmd在ark用户的根目录:

1
ln -s /usr/games/steamcmd steamcmd

使用以下命令安装ARK服务器软件:

1.进入steamcmd

1
steamcmd

如果没有进行链接,用sh steamcmd.sh运行有同样效果

2.匿名登陆

steam在安装某些软件时,允许匿名登录

1
login anonymous

如果匿名登录失败,可能上述操作中有失败的,或者采用实名登录steam

1
login username password

3.更改安装目录
这一步是为了,方便管理ARK文件

1
force_install_dir /home/ark/server

4.安装ARK服务器软件

1
app_update 376030

376030是ARK在steam中的id号

5.退出steamcmd

安装成功后,退出steamcmd

1
quit

以上这些步骤也可以合成一句话

1
steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit

ARK服务器软件比较大,需要等待十几分钟

为ARK创建一个systemd单元

1.切换回root用户

1
su -

2.创建systemd服务文件并添加以下值
/lib/systemd/system/ark.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=ARK Survival Evolved
[Service]
Type=simple
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
User=ark
Group=ark
ExecStartPre=/home/ark/steamcmd +login anonymous +force_install_dir /home/ark/server +app_update 376030 +quit
ExecStart=/home/ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=example -server -log
ExecStop=killall -TERM srcds_linux
[Install]
WantedBy=multi-user.target

保存并退出该文件。

更新systemd以应用您的更改:

1
systemctl daemon-reload

启用新的systemd设备并启动ARK服务器:

1
2
systemctl enable ark.service
systemctl start ark

配置文件

我们可以通过编辑/home/ark/server/ShooterGame/Saved/Config/LinuxServer下的GameUserSettings.iniGame.ini来修改游戏设置
具体的字段信息可以通过查看ARK官网

简单的配置方法

在本机电脑上也可以启动专用服务器,而在其启动前我们可以在游戏界面对它进行游戏设置,当设置完成启动后,游戏会退出,变成一个cmd命令界面.这个时候我们可以访问ark安装目录下的\ARK\ShooterGame\Saved\Config\WindowsServer目录,该目录下也有GameUserSettings.iniGame.ini,而这个配置文件不同系统是互通的,所以我们只需要将这两个文件上传至服务器并覆盖原来文件,然后重启ARK服务即可更新配置

重启命令如下

1
systemctl restart ark

mod加载

这里依旧介绍一个比较直接的加载方式

在本机steam上浏览你想要安装的mod,并点击订阅
订阅后steam并不会立即下载该mod
我们启动本地ARK游戏,他才会开始下载,等待下载结束后,访问目录[Steam Install Directory]\steamapps\common\ARK\ShooterGame\Content\Mods,该目录即是mod的下载处,这些文件名是mod的ID,如果不清楚mod的ID是什么,可以去steam创意工坊该mod介绍寻找.
找到你想要的mod文件上载到服务器的/ark-survival-evolved/ShooterGame/Content/Mods,并修改配置文件中ActiveMods=在其后添加mod的ID名.
也可以通过上面的本地修改配置方法修改后上载至服务器
上载成功后,重启ARK服务

参考博客

如何在Ubuntu上搭建方舟:生存进化服务器
How to Install ARK: Survival Evolved Mods on a Server