This script will:
steam
user for running the game serverWhat 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.
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!
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
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
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.
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
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)