Skip to content

Глава 9.1: Установка и первый запуск сервера

Главная | Установка сервера | Далее: Структура каталогов >>


Краткое содержание: Установка выделенного сервера DayZ Standalone с нуля с помощью SteamCMD, запуск с минимальной конфигурацией, проверка видимости в браузере серверов и подключение в качестве игрока. Эта глава охватывает всё -- от требований к оборудованию до устранения самых распространённых ошибок при первом запуске.


Содержание


Предварительные требования

Оборудование

КомпонентМинимумРекомендуется
Процессор4 ядра, 2.4 ГГц6+ ядер, 3.5 ГГц
Оперативная память8 ГБ16 ГБ
Диск20 ГБ SSD40 ГБ NVMe SSD
Сеть10 Мбит/с отдача50+ Мбит/с отдача
ОСWindows Server 2016 / Ubuntu 20.04Windows Server 2022 / Ubuntu 22.04

DayZ Server является однопоточным для игровой логики. Тактовая частота важнее количества ядер.

Программное обеспечение

  • SteamCMD -- консольный клиент Steam для установки выделенных серверов
  • Visual C++ Redistributable 2019 (Windows) -- требуется для DayZServer_x64.exe
  • DirectX Runtime (Windows) -- обычно уже установлен
  • Порты 2302-2305 UDP, проброшенные на роутере/файрволе

Установка SteamCMD

Windows

  1. Скачайте SteamCMD с https://developer.valvesoftware.com/wiki/SteamCMD
  2. Распакуйте steamcmd.exe в постоянную папку, например C:\SteamCMD\
  3. Запустите steamcmd.exe один раз -- он обновится автоматически

Linux

bash
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd

Установка DayZ Server

Steam App ID для DayZ Server -- 223350. Вы можете установить его без входа в аккаунт Steam, владеющий DayZ.

Установка одной командой (Windows)

batch
C:\SteamCMD\steamcmd.exe +force_install_dir "C:\DayZServer" +login anonymous +app_update 223350 validate +quit

Установка одной командой (Linux)

bash
steamcmd +force_install_dir /home/dayz/server +login anonymous +app_update 223350 validate +quit

Скрипт обновления

Создайте скрипт, который можно запускать повторно при выходе патчей:

batch
@echo off
C:\SteamCMD\steamcmd.exe ^
  +force_install_dir "C:\DayZServer" ^
  +login anonymous ^
  +app_update 223350 validate ^
  +quit
echo Update complete.
pause

Флаг validate проверяет каждый файл на повреждения. При чистой установке ожидайте загрузку 2-3 ГБ.


Каталог после установки

После установки корневой каталог сервера выглядит так:

DayZServer/
  DayZServer_x64.exe        # Исполняемый файл сервера
  serverDZ.cfg               # Основная конфигурация сервера
  dayzsetting.xml            # Настройки рендеринга/видео (не актуально для выделенного сервера)
  addons/                    # Ванильные PBO-файлы (ai.pbo, animals.pbo и т.д.)
  battleye/                  # Античит BattlEye (BEServer_x64.dll)
  dta/                       # Основные данные движка (bin.pbo, scripts.pbo, gui.pbo)
  keys/                      # Ключи для проверки подписей (dayz.bikey для ванильной версии)
  logs/                      # Логи движка (подключения, контент, аудио)
  mpmissions/                # Папки миссий
    dayzOffline.chernarusplus/   # Миссия для Чернаруси
    dayzOffline.enoch/           # Миссия для Ливонии (DLC)
    dayzOffline.sakhal/          # Миссия для Сахаля (DLC)
  profiles/                  # Рантайм-выход: RPT-логи, скрипт-логи, БД игроков
  ban.txt                    # Список заблокированных игроков (Steam64 ID)
  whitelist.txt              # Белый список игроков (Steam64 ID)
  steam_appid.txt            # Содержит "221100"

Ключевые моменты:

  • Вы редактируете serverDZ.cfg и файлы внутри mpmissions/.
  • Вы никогда не редактируете файлы в addons/ или dta/ -- они перезаписываются при каждом обновлении.
  • PBO модов размещаются в корне сервера или в подпапке (рассматривается в следующей главе).
  • profiles/ создаётся при первом запуске и содержит скрипт-логи и дампы сбоев.

Первый запуск с минимальной конфигурацией

Шаг 1: Редактирование serverDZ.cfg

Откройте serverDZ.cfg в текстовом редакторе. Для первого теста используйте простейшую конфигурацию:

cpp
hostname = "My Test Server";
password = "";
passwordAdmin = "changeme123";
maxPlayers = 10;
verifySignatures = 2;
forceSameBuild = 1;
disableVoN = 0;
vonCodecQuality = 20;
disable3rdPerson = 0;
disableCrosshair = 0;
disablePersonalLight = 1;
lightingConfig = 0;
serverTime = "SystemTime";
serverTimeAcceleration = 12;
serverNightTimeAcceleration = 4;
serverTimePersistent = 0;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
instanceId = 1;
storageAutoFix = 1;

class Missions
{
    class DayZ
    {
        template = "dayzOffline.chernarusplus";
    };
};

Шаг 2: Запуск сервера

Откройте командную строку в каталоге сервера и выполните:

batch
DayZServer_x64.exe -config=serverDZ.cfg -port=2302 -profiles=profiles -dologs -adminlog -netlog -freezecheck
ФлагНазначение
-config=serverDZ.cfgПуть к файлу конфигурации
-port=2302Основной игровой порт (также используются 2303-2305)
-profiles=profilesПапка вывода для логов и данных игроков
-dologsВключить логирование сервера
-adminlogЛогировать действия администратора
-netlogЛогировать сетевые события
-freezecheckАвтоматический перезапуск при обнаружении зависания

Шаг 3: Ожидание инициализации

Полный запуск сервера занимает 30-90 секунд. Следите за выводом консоли. Когда вы увидите строку вроде:

BattlEye Server: Initialized (v1.xxx)

...сервер готов к подключениям.


Проверка работы сервера

Способ 1: Скрипт-лог

Проверьте profiles/ на наличие файла с именем вида script_YYYY-MM-DD_HH-MM-SS.log. Откройте его и найдите:

SCRIPT       : ...creatingass. world
SCRIPT       : ...creating mission

Эти строки подтверждают, что экономика инициализирована и миссия загружена.

Способ 2: RPT-файл

Файл .RPT в profiles/ показывает вывод на уровне движка. Ищите:

Dedicated host created.
BattlEye Server: Initialized

Способ 3: Браузер серверов Steam

Откройте Steam, перейдите в Вид > Серверы > Избранное, нажмите Добавить сервер, введите 127.0.0.1:2302 (или ваш публичный IP) и нажмите Найти игры по этому адресу. Если сервер появился -- он работает и доступен.

Способ 4: Запрос порта

Используйте внешний инструмент, например https://www.battlemetrics.com/ или npm-пакет gamedig, чтобы опросить порт 27016 (Steam query port = игровой порт + 24714).


Подключение как игрок

С той же машины

  1. Запустите DayZ (не DayZ Server -- обычный игровой клиент)
  2. Откройте Браузер серверов
  3. Перейдите на вкладку LAN или Избранное
  4. Добавьте 127.0.0.1:2302 в избранное
  5. Нажмите Подключиться

Если вы запускаете клиент и сервер на одной машине, используйте DayZDiag_x64.exe (диагностический клиент) вместо розничного клиента. Запускайте с параметрами:

batch
"C:\Program Files (x86)\Steam\steamapps\common\DayZ\DayZDiag_x64.exe" -connect=127.0.0.1 -port=2302

С другой машины

Используйте публичный IP или IP локальной сети вашего сервера в зависимости от того, находится ли клиент в той же сети. Порты 2302-2305 UDP должны быть проброшены.


Распространённые проблемы при первом запуске

Сервер запускается, но немедленно закрывается

Причина: Отсутствует Visual C++ Redistributable или синтаксическая ошибка в serverDZ.cfg.

Решение: Установите VC++ Redist 2019 (x64). Проверьте serverDZ.cfg на отсутствие точек с запятой -- каждая строка параметра должна заканчиваться ;.

"BattlEye initialization failed"

Причина: Отсутствует папка battleye/ или антивирус блокирует BEServer_x64.dll.

Решение: Повторно проверьте файлы сервера через SteamCMD. Добавьте исключение антивируса для всей папки сервера.

Сервер работает, но не отображается в браузере

Причина: Порты не проброшены или Брандмауэр Windows блокирует исполняемый файл.

Решение:

  1. Добавьте правило входящего подключения в Брандмауэре Windows для DayZServer_x64.exe (разрешить весь UDP)
  2. Пробросьте порты 2302-2305 UDP на роутере
  3. Проверьте внешним инструментом, что порт 2302 UDP открыт на вашем публичном IP

"Version Mismatch" при подключении

Причина: Сервер и клиент имеют разные версии.

Решение: Обновите оба. Запустите команду обновления SteamCMD для сервера. Клиент обновляется автоматически через Steam.

Лут не появляется

Причина: Отсутствует файл init.c или Hive не инициализировался.

Решение: Убедитесь, что mpmissions/dayzOffline.chernarusplus/init.c существует и содержит CreateHive(). Проверьте скрипт-лог на наличие ошибок.

Сервер использует 100% одного ядра процессора

Это нормально. DayZ Server является однопоточным. Не запускайте несколько экземпляров сервера на одном ядре -- используйте привязку к процессору или отдельные машины.

Игроки появляются как вороны / застревают на загрузке

Причина: Шаблон миссии в serverDZ.cfg не совпадает с существующей папкой в mpmissions/.

Решение: Проверьте значение template. Оно должно точно совпадать с именем папки:

cpp
template = "dayzOffline.chernarusplus";  // Должно совпадать с именем папки в mpmissions/

Главная | Далее: Структура каталогов >>

Released under CC BY-SA 4.0 | Code examples under MIT License