Перейти к содержанию

Обзор развертывания 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. Процесс включает следующие этапы:

  1. Создание группы и пользователя rust для изоляции процессов сервера.
  2. Скачивание архива SteamCMD из официального источника.
  3. Распаковка архива в выделенную директорию.
  4. Установка исполняемых прав на скрипт steamcmd.sh.
  5. Загрузка и установка игрового сервера Rust через команду app_update с идентификатором приложения 252490 (или значением переменной rust_app_id).
  6. Генерация и сохранение пароля для RCON в защищенном файле, если он отсутствует.
  7. Развертывание скрипта запуска runds.sh с параметрами конфигурации.
  8. Настройка и активация системного сервиса через 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.

Команды для управления сервисом:

  • Запуск сервиса:
    systemctl start rust
    
  • Остановка сервиса:
    systemctl stop rust
    
  • Перезапуск сервиса:
    systemctl restart rust
    
  • Проверка статуса сервиса:
    systemctl status rust
    
  • Включение автозапуска при загрузке системы:
    systemctl enable rust
    

Сервис настроен на автоматический перезапуск в случае падения с интервалом в 10 секунд.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×