Ark Survival Evolved Server Structures Plus Mod Linux

Jake G January 30, 2020 #Game Server #Linux #Ubuntu #Ark

How to setup a Dedicated Ark Server with the Structures Plus mod on Linux Ubuntu 18.04, and how to adjust most of the available settings. Ark servers are not horribly demanding of the CPU, but do require a good amount of ram. Also the more players on your server the more resources you will need.

For my small server with a limit of 9 players and typically 4 players, 2 cores and 8GB is enough(~5GB used typical). If setting up a VM I would recommend provisioning about 4 cores and 8-10GB to give yourself a bit more headroom. You can always monitor via htop.

Also you may notice I am logged in as root, this is only because this machine is an isolated Virtual Machine, also ark is ran as the user "ark" which we create. So if your installing this on another machine that does more than just run ark then chances are you don't normally log in as user "root" which is fine, you can just follow along with this guide as-is and it should work the same.

Start by updating and installing dependencies:

sudo apt-get update && sudo apt-get dist-upgrade
sudo dpkg --add-architecture i386
sudo apt-get install -y perl-modules curl lsof libc6-i386 lib32gcc1 bzip2 nano htop git
sudo apt-get update && sudo apt-get dist-upgrade

Set Open Files Limit to prevent issues with ARK server:

echo "fs.file-max=100000" | sudo tee --append /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
echo "* soft nofile 1000000" | sudo tee --append /etc/security/limits.conf
echo "* hard nofile 1000000" | sudo tee --append /etc/security/limits.conf
echo "session required pam_limits.so" | sudo tee --append /etc/pam.d/common-session

Create a new user "ark" to run ARK server:

sudo adduser ark

Install ark-server-tools (arkmanager):

git clone https://github.com/FezVrasta/ark-server-tools/
cd ark-server-tools/tools
./install.sh ark
su ark
mkdir ~/steamcmd
cd ~/steamcmd
arkmanager install
exit

I suggest only 1 mod (structures plus) for atleast a day to see that your server is stable. Once you know your server is stable you can slowly add one mod at a time. The more time you put between installing mods, the more likely you are to know which mod is responsible for making your server unstable. With only structures plus installed my server has been rock solid!

Now set some default config for your server.

sed -i 's/^arkAutoUpdateOnStart="false"/arkAutoUpdateOnStart="true"/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^arkMaxBackupSizeMB="500"/arkMaxBackupSizeMB="2000"/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^#chatCommandRestartCancel="\/cancelupdate"/chatCommandRestartCancel="\/cancelupdate"/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^serverMap="TheIsland"/serverMap="Ragnarok"/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^ark_ServerPassword=""/#ark_ServerPassword=""/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^ark_ServerAdminPassword="keyboardcat"/#ark_ServerAdminPassword=""/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^ark_MaxPlayers="70"/ark_MaxPlayers="9"/' /etc/arkmanager/arkmanager.cfg
sed -i 's/^#ark_GameModIds="487516323,487516324,487516325"/ark_GameModIds="731604991"/' /etc/arkmanager/arkmanager.cfg
sed -i '/#arkflag_DisableDeath*/a #arkflag_log=true' /etc/arkmanager/arkmanager.cfg
sed -i '/#arkflag_log=true/a arkflag_NoBattleEye=true' /etc/arkmanager/arkmanager.cfg
sed -i '/arkflag_NoBattleEye=true/a arkflag_server=true' /etc/arkmanager/arkmanager.cfg

or if you prefer to manually edit:

nano /etc/arkmanager/arkmanager.cfg

arkAutoUpdateOnStart="true"
arkMaxBackupSizeMB="2000"
chatCommandRestartCancel="/cancelupdate"
serverMap="Ragnarok"
#ark_ServerPassword=""
#ark_ServerAdminPassword=""
ark_MaxPlayers="9"
ark_GameModIds="731604991"
#arkflag_log=true
arkflag_NoBattleEye=true
arkflag_server=true

Next we need to edit the main.cfg file, this file essentially overrides values in the arkmanager.cfg

sed -i 's/^serverMap="TheIsland"/serverMap="Ragnarok"/' /etc/arkmanager/instances/main.cfg
sed -i 's/^ark_SessionName="ARK Server Tools"/ark_SessionName="SoloSaga Ark Server"/' /etc/arkmanager/instances/main.cfg
sed -i 's/^ark_MaxPlayers="70"/ark_MaxPlayers="9"/' /etc/arkmanager/instances/main.cfg
sed -i 's/^ark_ServerPassword=""/#ark_ServerPassword=""/' /etc/arkmanager/instances/main.cfg
sed -i 's/^ark_ServerAdminPassword="keyboardcat"/#ark_ServerAdminPassword=""/' /etc/arkmanager/instances/main.cfg
sed -i 's/^#ark_GameModIds="487516323,487516324,487516325"/ark_GameModIds="731604991"/' /etc/arkmanager/instances/main.cfg

or if you prefer to manually edit:

nano /etc/arkmanager/instances/main.cfg

serverMap="Ragnarok"
ark_SessionName="SoloSaga Ark Server"
ark_MaxPlayers="9"
#ark_ServerPassword=""
#ark_ServerAdminPassword=""
ark_GameModIds="731604991"

Next install mods on the server and start the server:

su ark
arkmanager installmods
arkmanager start

Once fully loaded the log will show: "server is up":

tail -f /var/log/arktools/arkserver.log

These two lines in the log can be ignored, we are running steamCMD on linux, and steam cannot see the files it normally sees on windows:

2020-01-31 05:57:39: [main] [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
2020-01-31 05:57:40: [main] Setting breakpad minidump AppID = 346110

After the Server is fully up, you can stop it like this:

arkmanager stop

Next you can optionally add some users as Full Admins on your server. To view your Steam ID, open steam settings, under interface check the box for "Display Steam URL address bar when available." now close the settings. Next in the top right corner of Steam click your profile name and click "view my profile", your Steam ID will be listed at the end of the URL. Steam IDs you add will be able to use "ShowMyAdminManager" by pressing tab in game and entering "ShowMyAdminManager"

echo "76111111111111111" >> /home/ark/ARK/ShooterGame/Saved/AllowedCheaterSteamIDs.txt
echo "76222222222222222" >> /home/ark/ARK/ShooterGame/Saved/AllowedCheaterSteamIDs.txt

or if you prefer to manually edit:

nano /home/ark/ARK/ShooterGame/Saved/AllowedCheaterSteamIDs.txt

76111111111111111
76222222222222222

There are many settings that you can adjust: https://ark.gamepedia.com/Server_Configuration Below are the ones I have adjusted on my server:

nano /home/ark/ARK/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini

[ServerSettings]

serverPVE=True
DisableStructureDecayPvE=True
DisableDinoDecayPvE=True
AllowFlyerCarryPvE=True
PvEAllowStructuresAtSupplyDrops=True
OverrideStructurePlatformPrevention=True
AllowAnyoneBabyImprintCuddle=True
EnableExtraStructurePreventionVolumes=False
TamingSpeedMultiplier=7.0
HarvestAmountMultiplier=2.0
HarvestHealthMultiplier=2.0
ResourcesRespawnPeriodMultiplier=0.7
PlayerCharacterWaterDrainMultiplier=0.7
AllowCaveBuildingPvE=True
bUseCorpseLocator=True
PreventDiseases=True
nano /home/ark/ARK/ShooterGame/Saved/Config/LinuxServer/Game.ini

[/script/shootergame.shootergamemode]
bPvEDisableFriendlyFire=True
bAllowUnlimitedRespecs=True
CropGrowthSpeedMultiplier=1.7
PlayerHarvestingDamageMultiplier=2.7
DinoHarvestingDamageMultiplier=4.7
BabyCuddleIntervalMultiplier=0.7
BabyMatureSpeedMultiplier=7.0
SupplyCrateLootQualityMultiplier=1.7
FishingLootQualityMultiplier=1.7
EggHatchSpeedMultiplier=7.0
MatingSpeedMultiplier=2.0
MatingIntervalMultiplier=0.3
KillXPMultiplier=2.0
HarvestXPMultiplier=2.0
CraftXPMultiplier=2.0
GenericXPMultiplier=1.0
SpecialXPMultiplier=1.0

Congratulations on getting your Ark server up and running! Anytime you reboot, your Ark server will start automatically.