cdp1337 / ARKSurvivalAscended-Linux

GNU Affero General Public License v3.0
39 stars 7 forks source link

Tools for managing ARK Survival Ascended on Linux

What does it do?

This script will:


What this script will not do:

Provide any sort of management interface over your server. It's just a bootstrap script to install the game and its dependencies in a standard way so you can choose how you want to manage it.

Features

Because it's managed with systemd, standardized commands are used for managing the server. This includes an auto-restart for the game server if it crashes and auto-update on restarts.

By default, the game server will automatically start at boot!

Installation on Debian 12

To install ARK Survival Ascended Dedicated Server on Debian 12, download and run server-install-debian12.sh as root or sudo.

Debian 12 support tested on Digital Ocean, OVHCloud, and Proxmox.

Quick run (if you trust me, which you of course should not):

sudo su -c "bash <(wget -qO- https://raw.githubusercontent.com/cdp1337/ARKSurvivalAscended-Linux/main/server-install-debian12.sh)" root

Managing your Server

Start, Stop, Restart

Start your server:

sudo systemctl start ark-island

Restarting your server (and updating):

The service will automatically check Steam for the newest version of the game on restart.

sudo systemctl restart ark-island

Stopping your server:

sudo systemctl stop ark-island

Configuring the game ini

Configuration of your server via the configuration ini is available in /home/steam/island-GameUserSettings.ini

sudo -u steam nano /home/steam/island-GameUserSettings.ini

Sssshhh, I use vim too, but nano is easier for most newcomers.

Adding command line arguments

Some arguments for the game server need to be passed in as CLI arguments.

sudo nano /etc/systemd/system/ark-island.service

And look at the line

ExecStart=/home/steam/(wherever-steam-is)/compatibilitytools.d/GE-Proton8-21/proton run ArkAscendedServer.exe TheIsland_WP?listen

Command line arguments can just be added to the end. When done editing, reload the system config:

(This DOES NOT restart the game server)

sudo systemctl daemon-reload

Automatic restarts

Want to restart your server automatically at 5a each morning?

Edit crontab sudo nano /etc/crontab and add:

0 5 * * * root systemctl restart ark-island

(0 is minute, 5 is hour in 24-hour notation, followed by ' *' for every day, every month, every weekday)