Обзор развертывания Rust Dedicated Server на сервере¶
Предварительные требования¶
Для успешной установки и работы сервера необходимо наличие операционной системы Ubuntu. Сервер требует прав суперпользователя для выполнения задач установки и настройки системных сервисов.
Необходимые системные библиотеки:
libc6-i386
Структура файлов и каталогов¶
Все файлы сервера и конфигурации размещаются в следующих директориях:
-
Основной каталог сервера:
/opt/rust(или путь, заданный в переменнойrust_server_dir). -
Каталог для SteamCMD:
/opt/rust-steamcmd(или путь, заданный в переменнойrust_steamcmd_dir). -
Директория для хранения секретных данных:
/home/rust/.rust(или путь, заданный в переменнойrust_homeс поддиректорией.rust). -
Файл пароля RCON:
/home/rust/.rust/rcon_password. -
Скрипт запуска:
/opt/rust/runds.sh. -
Файл конфигурации системного сервиса:
/etc/systemd/system/rust.service.
Процесс установки приложения¶
Установка сервера выполняется с использованием утилиты SteamCMD. Процесс включает следующие этапы:
-
Создание группы и пользователя
rustдля изоляции процессов сервера. -
Скачивание архива SteamCMD из официального источника.
-
Распаковка архива в выделенную директорию.
-
Установка исполняемых прав на скрипт
steamcmd.sh. -
Загрузка и установка игрового сервера Rust через команду
app_updateс идентификатором приложения252490(или значением переменнойrust_app_id). -
Генерация и сохранение пароля для RCON в защищенном файле, если он отсутствует.
-
Развертывание скрипта запуска
runds.shс параметрами конфигурации. -
Настройка и активация системного сервиса через
systemd.
Права доступа и безопасность¶
Доступ к файлам и процессам сервера строго регламентирован:
-
Пользователь
rustи группаrustявляются владельцами всех файлов сервера. -
Директория с секретными данными (
/home/rust/.rust) имеет права доступа0700и доступна только владельцу. -
Файл пароля RCON (
rcon_password) имеет права доступа0600. -
Скрипт запуска
runds.shимеет права доступа0755. -
Основной каталог сервера имеет права доступа
0755. -
Сервис запускается от имени пользователя
rust, а не от имениroot.
Настройки прав¶
Владелец и группа для всех файлов в директории сервера устанавливаются рекурсивно. Права на файлы и директории соответствуют следующим значениям:
-
Директория сервера: владелец
rust, группаrust, режим0755. -
Скрипт запуска: владелец
rust, группаrust, режим0755. -
Файл пароля RCON: владелец
rust, группаrust, режим0600. -
Файл сервиса systemd: владелец
root, группаroot, режим0644.
Запуск, остановка и обновление¶
Управление сервером осуществляется через системный менеджер systemd с именем сервиса rust.
Команды для управления сервисом:
-
Запуск сервиса:
-
Остановка сервиса:
-
Перезапуск сервиса:
-
Проверка статуса сервиса:
-
Включение автозапуска при загрузке системы:
Сервис настроен на автоматический перезапуск в случае падения с интервалом в 10 секунд.