<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

Enshrouded: как создать сервер

Артур Акмалов
Артур Акмалов
Инженер по разработке
27 февраля 2025 г.
87
9 минут чтения
Средний рейтинг статьи: 3

Enshrouded — игра в жанре RPG-фэнтези с открытым миром и возможностью кооперативного прохождения (одновременно до 16 игроков на сервере). Имеет крайне положительные обзоры на Stream (86%).

Image1

Плюсы:

  • Атмосфера
  • Красивый открытый мир
  • Режим строительства (огромный простор для творчества)
  • Увлекательное совместное прохождение
  • Тонкие настройки игры (позволяют уменьшить гринд,  добавить голод, различные настройки окружения, противников, длительности времени дня и ночи)

Минусы:

  • Сюжет (погружение в историю — это чтение записок, сбор предметов)

Прохождение в одиночном режиме или компанией будет давать совершенно разный опыт и эмоции. На мой взгляд, разработчики делают упор именно на многопользовательскую игру на собственных серверах.

Актуальная версия на момент написания статьи — v0.8.0.1.

Создание сервера Enshrouded 

Минимальные требования:

  • CPU: 4
  • RAM: 8 Gb
  • Disk: 20 Gb
  • Network: от 50 Мбит (главное при выборе — задержка ответа от сервера (ping) в идеале до 50)
  • Ports: 15367 tcp/udp

В этой инструкции мы будем использовать облачный сервер Timeweb Cloud c фиксированной конфигурацией:

  • ОС: Ubuntu 24.04
  • Регион: Москва (ping 28)
  • CPU:  4 x 3.3 ГГц
  • RAM: 8 ГБ
  • NVMe: 80 ГБ

После создания сервера и подключения к нему нужно обновить пакеты и установить Docker:

apt update && apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Создадим директорию, в которой будут расположены файлы сервера:

mkdir /opt/enshrouded

Перейдем в нее:

cd /opt/enshrouded

В качестве готового Docker-образа будем использовать проект «Enshrouded Dedicated Server with autoupdate (supervisord)».

dedic

Создадим compose.yaml со следующим содержанием:

services:
  enshrouded:
    container_name: enshrouded
    image: mornedhels/enshrouded-server:latest
    restart: unless-stopped
    stop_grace_period: 90s
    ports:
      - "15637:15637/udp"
    volumes:
      - ./game:/opt/enshrouded
    environment:
      - SERVER_NAME=Timeweb
      - UPDATE_CRON=*/30 * * * *

Запуск:

docker compose up -d

Проверка состояния:

docker compose ps

Проверка логов:

docker compose logs -f

При первом запуске скачаются все необходимые файлы и обновления, и сервер поднимется со стандартными настройками.

После этого остановим контейнер и перейдем к настройкам:

docker compose down

Отредактируем конфигурационные файлы сервера.

nano game/server/enshrouded_server.json

Пример конфигурации enshrouded_server.json:

{
  "name": "TimeWeb",
  "saveDirectory": "./savegame",
  "logDirectory": "./logs",
  "ip": "0.0.0.0",
  "queryPort": 15637,
  "slotCount": 16,
  "voiceChatMode": "Proximity",
  "enableVoiceChat": false,
  "enableTextChat": false,
  "gameSettingsPreset": "Default",
  "gameSettings": {
    "playerHealthFactor": 1,
    "playerManaFactor": 1,
    "playerStaminaFactor": 1,
    "playerBodyHeatFactor": 1,
    "enableDurability": true,
    "enableStarvingDebuff": false,
    "foodBuffDurationFactor": 1,
    "fromHungerToStarving": 600000000000,
    "shroudTimeFactor": 1,
    "tombstoneMode": "AddBackpackMaterials",
    "enableGliderTurbulences": true,
    "weatherFrequency": "Normal",
    "miningDamageFactor": 1,
    "plantGrowthSpeedFactor": 1,
    "resourceDropStackAmountFactor": 1,
    "factoryProductionSpeedFactor": 1,
    "perkUpgradeRecyclingFactor": 0.5,
    "perkCostFactor": 1,
    "experienceCombatFactor": 1,
    "experienceMiningFactor": 1,
    "experienceExplorationQuestsFactor": 1,
    "randomSpawnerAmount": "Normal",
    "aggroPoolAmount": "Normal",
    "enemyDamageFactor": 1,
    "enemyHealthFactor": 1,
    "enemyStaminaFactor": 1,
    "enemyPerceptionRangeFactor": 1,
    "bossDamageFactor": 1,
    "bossHealthFactor": 1,
    "threatBonus": 1,
    "pacifyAllEnemies": false,
    "tamingStartleRepercussion": "LoseSomeProgress",
    "dayTimeDuration": 1800000000000,
    "nightTimeDuration": 720000000000
  },
  "userGroups": [
    {
      "name": "Admins",
      "password": "secret1",
      "canKickBan": true,
      "canAccessInventories": true,
      "canEditBase": true,
      "canExtendBase": true,
      "reservedSlots": 1
    },
    {
      "name": "Friends",
      "password": "secret2",
      "canKickBan": false,
      "canAccessInventories": true,
      "canEditBase": true,
      "canExtendBase": true,
      "reservedSlots": 3
    },
    {
      "name": "Guests",
      "password": "secret3",
      "canKickBan": false,
      "canAccessInventories": false,
      "canEditBase": false,
      "canExtendBase": false,
      "reservedSlots": 0
    }
  ]
}

Рассмотрим параметры в блоке gameSettings (Настройки игры) подробнее:

  • playerHealthFactor: 1 — Коэффициент здоровья от 0.25 до 4
  • playerManaFactor: 1 — Коэффициент маны от 0.25 до 4
  • playerStaminaFactor: 1 — Коэффициент выносливости от 0.25 до 4
  • enableDurability: true — Включить износ снаряжения 
  • enableStarvingDebuff: false — Включить голод
  • foodBuffDurationFactor: 1 — Действие эффектов еды от 0.5 до 2
  • fromHungerToStarving: 600000000000 — Время до голода, от 300000000000 (5 минут) до 1200000000000 (20 минут)
  • shroudTimeFactor: 1 — Коэффициент времени в пелене от 0.5 до 2
  • tombstoneMode: "AddBackpackMaterials" — Сохранение предметов при смерти 
  • enableGliderTurbulences: true — Влияние ветра при планировании
  • weatherFrequency: "Normal" — Частота изменений погоды (Disabled/Rare/Normal/Often)
  • miningDamageFactor: 1 — Коэффициент добычи руды от 0.5 до 2
  • plantGrowthSpeedFactor: 1 — Коэффициент роста растений от 0.5 до 2
  • resourceDropStackAmountFactor: 1 — Коэффициент добычи ресурсов от 0.5 до 2 
  • factoryProductionSpeedFactor: 1 — Коэффициент времени производства от 0.5 до 2 
  • perkUpgradeRecyclingFactor: 0.5 — Коэффициент рун при разборке оружия от 0 до 1 
  • perkCostFactor: 1 — Коэффициент стоимости рун для улучшения 0.5 до 2
  • experienceCombatFactor: 1 — Коэффициент опыта в бою 0.25 до 2
  • experienceMiningFactor: 1 — Коэффициент опыта при добыче руды 0 до 2
  • experienceExplorationQuestsFactor: 1 — Коэффициент опыта за исследования 0.25 до 2
  • randomSpawnerAmount: "Normal" — Количество врагов (Few/Normal/Many/Extreme)
  • aggroPoolAmount: "Normal" — Количество врагов, которые могут атаковать одновременно (Few/Normal/Many/Extreme)
  • enemyDamageFactor: 1 — Коэффициент урона врагов, кроме боссов, от 0.25 до 5
  • enemyHealthFactor: 1 — Коэффициент жизни врагов, кроме боссов, от 0.25 до 4
  • enemyStaminaFactor: 1 — Коэффициент выносливости врагов, кроме боссов, от 0.25 до 2
  • enemyPerceptionRangeFactor: 1 — Дальность обнаружения врагов, кроме боссов, от 0.25 до 2
  • bossDamageFactor: 1 — Коэффициент урона боссов от 0.25 до 5
  • bossHealthFactor: 1 — Коэффициент жизни боссов от 0.25 до 5
  • threatBonus: 1 — Частота вражеских атак, кроме боссов, от 0.25 до 4
  • pacifyAllEnemies: false — Враги не будут атаковать игрока, если не напасть на них
  • tamingStartleRepercussion: "LoseSomeProgress" — Прогресс приручения домашних животных, если напугать
  • dayTimeDuration: 1800000000000 — Длительность дня от 2 до 60 минут
  • nightTimeDuration: 720000000000 — Длительность ночи от 2 до 60 минут

Настройки доступа и учетных записей необходимо указать в переменных в файле compose.yaml в блоке environment.

Основные переменные:

  • SERVER_NAME = "enshrouded" — Имя сервера.
  • SERVER_SLOT_COUNT = 16 — Максимальное количество игроков на сервере.
  • SERVER_QUERY_PORT = 15637 — Номер порта сервиса.
  • SERVER_IP = "0.0.0.0" — IP-адрес сервера.
  • SERVER_SAVE_DIR = "./savegame" — Директория сохранений.
  • SERVER_LOG_DIR = "./logs" — Директория логов.
  • SERVER_VOICE_CHAT_MODE = "Proximity" — Режим голосового чата. Proximity — будут слышать только игроки поблизости, Global — глобальный чат для всех игроков на сервере.
  • SERVER_ENABLE_VOICE_CHAT = false — Включить/выключить голосовой чат; по умолчанию выключен.
  • SERVER_ENABLE_TEXT_CHAT = false — Включить/выключить текстовый чат; по умолчанию выключен.
  • UPDATE_CRON = "" — Расписание обновлений мира, равносильно переоткрытию игру в одиночном режиме, восстановлению ресурсов, изменений на глобальной карте.
  • UPDATE_CHECK_PLAYERS = false — Проверять подключенных игроков перед обновлением; по умолчанию выключено.
  • BACKUP_CRON = "" — Расписание резервного копирования.
  • BACKUP_DIR = "./backup" — Директория для резервных копий.
  • BACKUP_MAX_COUNT = 0 — Максимальное количество хранимых резервных копий.

Пример файла docker-compose.yml с блоком environment:

services:
  enshrouded:
    image: mornedhels/enshrouded-server:latest
    container_name: enshrouded
    restart: unless-stopped
    stop_grace_period: 90s
    ports:
      - "15637:15637/udp"
    volumes:
      - ./game:/opt/enshrouded
    environment:
      - SERVER_NAME=Timeweb
      - SERVER_ROLE_0_NAME=Admins
      - SERVER_ROLE_0_PASSWORD=secret1
      - SERVER_ROLE_0_CAN_KICK_BAN=true
      - SERVER_ROLE_0_CAN_ACCESS_INVENTORIES=true
      - SERVER_ROLE_0_CAN_EDIT_BASE=true
      - SERVER_ROLE_0_CAN_EXTEND_BASE=true
      - SERVER_ROLE_0_RESERVED_SLOTS=1
      - SERVER_ROLE_1_NAME=Friends
      - SERVER_ROLE_1_PASSWORD=secret2
      - SERVER_ROLE_1_CAN_ACCESS_INVENTORIES=true
      - SERVER_ROLE_1_CAN_EDIT_BASE=true
      - SERVER_ROLE_1_CAN_EXTEND_BASE=true
      - SERVER_ROLE_1_RESERVED_SLOTS=3
      - SERVER_ROLE_2_NAME=Guests
      - SERVER_ROLE_2_PASSWORD=secret3

После завершения настроек повторно запускаем контейнер:

docker compose up -d

Добавление в избранное Steam

Для добавления сервера в избранное:

  1. Переходим в приложении Steam в меню «Вид» → «Игровые серверы».

Image3

  1. Выбираем вкладку «Избранное».

  2. Выбираем игру по названию из выпадающего списка справа — Enshrouded.

  3. Нажимаем внизу кнопку «+» и вводим внешний IP-адрес: порт (15637), который получили при создании сервера.

Image2

В дальнейшим при запуске игры в разделе «Присоединиться» будет доступен ваш сервер Enshrouded.

Обновление сервера

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

cd /opt/satisfactory
docker compose down
docker compose up -d
Разверните Enshrouded на своем сервере

Итоги

Enshrouded — это уютная игра, которая позволяет расслабиться, отдохнуть и погрузиться в мир исследований и приключений. 

Детальная конфигурация сервера дает возможность настроить игровой процесс под свои предпочтения. Например, можно упростить монотонные действия по добыче ресурсов или усилить силу противников, а творческих людей особо порадуют возможности строительства.

Игра может понравится широкому кругу пользователей, вне зависимости от возраста и пола. Попробуйте поиграть с друзьями, своей второй половинкой или детьми старше 12 лет.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
27 февраля 2025 г.
87
9 минут чтения
Средний рейтинг статьи: 3
Пока нет комментариев