Руководство о том, как скачать и запустить SteamCMD как на Linux, так и на Windows.
SteamCMD — это CLI-инструмент, который позволяет пользователям скачивать приложения из Steam. Его часто используют для скачивания файлов dedicated-серверов в играх, таких как Counter-Strike, Left 4 Dead 2, Garry's Mod, Rust и многих других!
Скачивание и запуск SteamCMD
Для начала вам нужно скачать инструмент SteamCMD. Существует несколько способов сделать это, включая скачивание пакетов напрямую в вашу систему. Однако для большего контроля мы будем скачивать SteamCMD вручную.
Windows
Инструкции по скачиванию и распаковке SteamCMD на Windows можно найти здесь.
- Скачайте файл
steamcmd.zipздесь. - Создайте папку, где вы будете хранить и извлекать содержимое файла
steamcmd.zip. В этом руководстве мы будем использоватьE:\apps\steamcmd. - Используйте встроенный инструмент Windows для распаковки ZIP, чтобы извлечь содержимое
steamcmd.zipв только что созданную папку. Также можно использовать такой инструмент, как 7-Zip.
Теперь вы должны увидеть исполняемый файл steamcmd.exe, который можно запустить.


Linux
Инструкции по скачиванию и распаковке SteamCMD на Linux можно найти здесь.
Вам потребуется скачать и установить несколько системных пакетов, необходимых для скачивания, запуска и распаковки SteamCMD, а также для запуска серверов, если вы скачиваете файлы серверов.
На основе Debian/Ubuntu (Apt)
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl tar
ПРИМЕЧАНИЕ — Если у вас не установлен sudo, вам нужно войти как root с помощью команды su - и выполнять команды из этого руководства без sudo в начале.

Хотя это не является строго обязательным, также рекомендуется создать отдельного пользователя для запуска SteamCMD и игровых серверов, которые вы планируете запускать, если таковые имеются.
Вы можете использовать следующие команды в системах на основе Debian/Ubuntu, чтобы создать нового пользователя.
# Create apps group.
sudo groupadd apps
# Create apps user with home directory set to /home/apps and using /bin/bash as the shell.
sudo useradd -m -d /home/apps -g apps -s /bin/bash apps
# Login as apps.
sudo su apps -

Далее вам нужно создать директорию для хранения содержимого файла steamcmd_linux.tar.gz.
# Create a 'steamcmd/' directory inside the user's home directory.
mkdir ~/steamcmd
# Change directories to the created directory from above.
# Tip - You can also use 'cd $_' if you've just created the new directory.
cd ~/steamcmd

Теперь вам нужно скачать файл steamcmd_linux.tar.gz и распаковать его. Рекомендую использовать команды curl или wget для скачивания файла и tar для его распаковки. В этом руководстве мы будем использовать однострочную команду с curl и tar.
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Если команда выше выполнилась успешно, вы должны увидеть новый файл steamcmd.sh при выводе списка файлов в новой директории с помощью команды, например, ls -l.

Теперь вы можете запустить новую программу steamcmd.sh с помощью следующей команды, которая также обновит установку SteamCMD.
./steamcmd.sh

Скачивание файлов приложения
После запуска SteamCMD первым делом нужно указать директорию, куда будут установлены файлы приложения, с помощью команды force_install_dir.
Например, предположим, что мы скачиваем файлы сервера Left 4 Dead 2 и хотим установить их в /home/apps/l4d2 на Linux или E:\apps\l4d2 на Windows.
На Linux команда будет выглядеть так.
force_install_dir /home/apps/l4d2
На Windows команда будет выглядеть так.
force_install_dir E:\apps\l4d2
После этого вам нужно войти в Steam с помощью команды login <username>. При скачивании файлов dedicated-серверов для приложения в большинстве случаев можно войти анонимно через SteamCMD. Это значит, что вам не нужно вводить имя пользователя или пароль Steam перед скачиванием файлов! Вместо этого вы можете войти анонимно с помощью следующей команды.
login anonymous
Если вы не скачиваете файлы сервера, вам может потребоваться указать имя пользователя, пароль Steam и, возможно, код двухфакторной аутентификации.
Далее вам нужно узнать ID приложения, которое вы хотите установить. Если вы скачиваете файлы сервера, рекомендую посмотреть этот список.
Вот список ID часто скачиваемых файлов серверов для вашего удобства.
- Counter-Strike 2 -
730 - Counter-Strike: Source -
232330 - Left 4 Dead 2 -
222860 - Garry's Mod -
4020 - Team Fortress 2 -
232250 - Rust -
258550
Теперь вам нужно использовать команду app_update <app ID>, чтобы скачать или обновить файлы приложения. Кроме того, вы можете добавить validate в конец команды, если хотите проверить, что файлы приложения не повреждены. Учтите, что добавление validate в конец команды увеличит время её выполнения!
Например, скачать файлы сервера Left 4 Dead 2 без проверки установки можно с помощью следующей команды.
app_update 222860
Вот ещё один пример скачивания файлов сервера Left 4 Dead 2 с проверкой установки.
app_update 222860 validate
Загрузка файлов сервера займёт некоторое время в зависимости от скорости вашей сети и диска.
Автоматизация с помощью скриптов
Чтобы упростить процесс создания или обновления файлов приложения через SteamCMD, вы можете использовать файлы скриптов. Это позволяет запускать один скрипт для автоматической загрузки или обновления файлов приложения.
Мы создадим скрипт с переменными окружения, который позволит вам легко настроить расположение SteamCMD и файлов вашего приложения, а также указать, какой app ID загружать, и т.д.
Следуйте инструкциям ниже.
Windows
Мы создадим Batch-файл update-app.bat внутри папки, где хранятся файлы приложения.
@echo off
set STEAM_CMD_LOC="E:\apps\steamcmd"
set STEAM_USER="anonymous"
set STEAM_PASS=""
set INSTALL_DIR="..\my-app"
set APP_ID="<APP ID>"
cd "%STEAM_CMD_LOC%"
start "" steamcmd.exe +force_install_dir "%INSTALL_DIR%" +login "%STEAM_USERNAME%" "%STEAM_PASSWORD%" +app_update %APP_ID% validate +quit
Linux
Мы создадим Bash-скрипт update-app.sh внутри директории, где хранятся файлы приложения.
#!/bin/bash
STEAM_CMD_LOC=../steamcmd/
STEAM_USER="anonymous"
STEAM_PASS=""
INSTALL_DIR=../my-app
APP_ID=<APP ID>
$STEAM_CMD_LOC/steamcmd.sh +force_install_dir $INSTALL_DIR +login "$STEAM_USER" "$STEAM_PASS" +app_update $APP_ID validate +quit
Заключение
Вот и всё! Теперь вы сможете автоматически создавать и обновлять приложения через SteamCMD, используя файлы скриптов, либо выполняя команды по одной.
Если у вас есть вопросы или предложения по улучшению этого руководства, пожалуйста, ответьте в теме здесь! Это руководство будет дорабатываться и улучшаться со временем.
Присоединяйтесь к нашему Discord-серверу!

