SteamCMD — официальный CLI для загрузки dedicated server. Запускайте его отдельным непривилегированным пользователем и храните каждый сервер в своём каталоге.

Важно: AppID и anonymous-login зависят от игры. Проверьте их в официальном списке перед загрузкой.

1. Установите 32-bit runtime

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1

2. Создайте пользователя

sudo useradd -m -s /bin/bash steam
sudo -iu steam

3. Установите игру по AppID

steamcmd +force_install_dir /home/steam/server +login anonymous +app_update APP_ID validate +quit

4. Обновляйте перед запуском

Повторяйте app_update в отдельном ExecStartPre или maintenance script. Не запускайте игровой процесс от root.

5. Создайте systemd service

Укажите User=steam, WorkingDirectory, Restart=on-failure, лимиты и точную команду запуска конкретной игры.

Если SteamCMD используется для публичного проекта, заранее сравните хостинги для игровых серверов по ресурсам и сетевым условиям.

Официальная документация