Обзор развертывания 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 секунд.