一.服务器
前言:ark一个图(地图不一样占用也不一样)在linux上起码要有6GB运行内存才能运行,当然配置越高能容纳的人数越多,交互也越流畅。这里选用的2核2g服务器,Ubuntu 20.04系统的阿里云服务器演示
1.开放端口:在服务器安全防火墙内开放端口:UDP(27010到27030)UDP(7770到7790)以及TCP(27020)阿里云用 / 符号间隔,腾讯云用 - 间隔。这里端口分别是steam浏览器查询端口,游戏端口和远程端口
2.安装32位运行环境(32位环境可以跳过):用Final Shell连接服务器使用以下命令:
安装32位运行环境:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386
安装32位编译环境:
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
Centos8系统:
安装32位glibc库文件命令:(安装C库文件)
sudo yum install glibc-devel.i686
安装32位glibc++库文件命令
sudo yum install libstdc++-devel.i686
权限相关:切换到root用户
sudo su
二.虚拟内存
1查看内存
free -m
2.在var创建swapfile文件
touch /var/swapfile
3.设置8G内存,一般为物理内存的两到三倍
dd if=/dev/zero of=/var/swapfile bs=1M count=8192
4.等待分配成功这个过程会花点时间出现下面通知表示分别完成
8589934592 bytes (8.6 GB, 8.0 GiB) copied, 70.4444 s, 122 MB/s
5.分配完成后查看一下
du -sh /var/swapfile
6.格式化交换文件
mkswap /var/swapfile
7.启用交换文件
swapon /var/swapfile
#如果执行完上面如果报错 swapon: /var/swapfile:不安全的权限 0644,建议使用 0600。
就执行一下命令:chmod 0600 /var/swapfile 然后重新执行 swapon /var/swapfile
#或者报错 swapon 失败:设备或资源忙 说明以前配置过交换文件用命令 swapoff/var/swapfile 将交换分区停止然后再重新执行
8.开机自动加载虚拟内存先使用命令打开开机自启文件
vi /etc/fstab
9.在文件末尾加入下面
/var/swapfile swap swap defaults 0 0
按Esc后输 Shift+:然后输入wq保存退出
10.重启
reboot
11.重启后查看内存是否挂在上
free -m
重启后使用查看命令显示如下面说明成功
三.steamcmd
1.创建steam文件夹
mkdir /home/steam
2.创建steamcmd文件夹
mkdir /home/steam/steamcmd
3.移动到steamcmd文件夹
cd /home/steam/steamcmd
4.下载steamcmd
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
5.解压steamcmd
tar -xvzf steamcmd_linux.tar.gz
6.安装视窗
apt install screen
7.创建一个steam视窗
screen -S steam
8.运行脚本
./steamcmd.sh
9.设置游戏安装目录
force_install_dir /home/steam/ARK
10.运行完毕后登录steam(建议使用匿名方式登录)
匿名:login anonymous
用户:login 用户名 密码
11.安装ARK服务端
app_update 376030
#需要很久时间可以先进行下一步
12.更新ARk服务端
app_update 376030 validate
#其中数字是这游戏的steamapp id
网站查看https://steamcommunity.com/app
搜索需要查看的游戏,然后看浏览器网址窗口app后面跟的数值就是这个app的id
13.退出steam窗口和常用命令
在窗口的命令:
ctrl+a+d:退出当前窗口并保持应用后台运行(我习惯steam不关闭,方便后期游戏更新等操作)
Ctrl+c:关闭当前应用并返回到无视窗(会保留视窗并且无法恢复)
正常命令:
screen -S +name:创建一个视窗
screen -r +name:返回这个名称的视窗
screen -ls:查看当前所有视窗
kill+视窗id:结束这个视窗和所包含的应用
四.启动项和配置
1.启动项
在ark所安装的文件目录下如:/home/steam/ARK(前面steam设置的安装目录)
创建一个ark1.sh文件写入如下启动配置:
ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?Port=7779?QueryPort=27017AltSaveDirectoryName=gudao?SessionName="ARK原初-孤岛"?MaxPlayers=30?ServerAutoForceRespawnWildDinosInterval=259200?AllowCrateSpawnsOnTopOfStructures=True -ForceAllowCaveFlyers -AutoDestroyStructures -clusterid=2022 -ClusterDirOverride=/home/steam/ark/arkwq -NoBattlEye -crossplay -nosteamclient -game -server -log
参数说明:
地图:要开什么地图就在地图位置写入相应的地图名(这里是孤岛)
端口:服务端的端口(必须唯一)
搜索端口:在steam上搜索时使用的端口(必须唯一)
组内名称:在这个服务器上的名字(必须唯一)
服务器名称:在steam服务器上看到的名称
最大人数:服务器可容纳的人数
组名称:这个服务器上开的地图组名称(多个图希望哪些图互通的就设置一样,如一个孤岛的设置是2022,一个畸变的设置也是2022,这俩个图就能互通)
集群目录:服务器上传缓存的位置玩家上传到方舟的角色和物品的缓存)
ShooterGame/Binaries/Linux/ShooterGameServer 地图?listen?Port=端口?QueryPort=搜索端口AltSaveDirectoryName=组内名称?SessionName="服务器名称"?MaxPlayers=最大人数?ServerAutoForceRespawnWildDinosInterval=259200?AllowCrateSpawnsOnTopOfStructures=True -ForceAllowCaveFlyers -AutoDestroyStructures -clusterid=组名称 -ClusterDirOverride=集群目录 -NoBattlEye -crossplay -nosteamclient -game -server -log
2.游戏配置文件:
全局文件配置:
在/home/steam/ARK/ShooterGame/Saved/Config/LinuxServer文件夹下的Game.ini和GameUserSettings.ini一般只设置GameUserSettings.ini文件
我这个设置的是硬汉模式,pvp,无gamma,15倍采集,100倍经验以及一些细节修改和叠加修改
下载地址:晓天/方舟配置
更多相关设置和有关参数可参考官方:
Server configuration - ARK: Survival Evolved Wiki
Dedicated server setup - ARK: Survival Evolved Wiki
使用专属配置:任意目录(只要你还能找到他)创建一个ini文件如ark.ini
写入需要的配置文件,如我要配置另一个畸变地图,但采集倍率是100倍且不是硬汉模式:
需要在启动项加入如下字段
-UseDynamicConfig?customdynamicconfigurl=/home/steam/ARK/ARK.ini?CustomLiveTuningUrl=/home/steam/ARK/ARK2.ini
其中:
-UseDynamicConfig?声明启动专属配置
customdynamicconfigurl="GameUserSettings.ini配置的路径"
?CustomLiveTuningUrl="Game.ini配置的路径"
每个启动项地图可以加入这类的启动配置,来达到不同地图不同配置比如在一个文件夹内创建一个节日配置或者平时配置等等,然后只需要在启动项更改路径然后重启服务器就能达到开启活动的目的,这里更改配置文件如果直接用文档更改会十分痛苦,推荐使用开服工具配置文件,保存后导出支持文件,在asmdata\Servers\Server1\ShooterGame\Saved\Config\WindowsServer找到相关文件然后放到服务器上
下载地址:Home | ARK Server Manager
五.启动服务器和如何搜索服务器
1.回到服务器目录
cd/home/steam/ARK
2.新建一个ARK视窗
screen -S ARK1
3.启动服务器
./ARK1.sh
4.返回桌面让他后台运行
快捷键ctrl+a+d
在steam查看服务器,添加服务器,输入你服务器的ip加上你开的地图的搜索端口,就能看到了
六:mod的安装
下载mod:
创意工坊订阅你要的mod(尽量记住mod的id),然后找到steam存放mod的文件夹,你下载什么游戏的mod一般就在你的相关游戏的安装目录下,我电脑ARK安装位置给个参考
SteamLibrary\steamapps\common\ARK\ShooterGame\Content\Mods
打开文件夹会类似这样
文件的名字就是这个mod的id,找到你想在服务器上使用的mod,把对应.mod后缀文件和同名文件夹复制到服务器ark的安装目录下mods文件夹内
路径参考:/home/steam/ark/ShooterGame/Content/Mods
编辑/home/steam/ark/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini文件
在ServerSettngsi下添加modid
如:
[ServerSettings]
ActiveMods=123456789,2233<id>
重新启动服务器就行了