Глава 9.1: Установка и первый запуск сервера
Главная | Установка сервера | Далее: Структура каталогов >>
Краткое содержание: Установка выделенного сервера DayZ Standalone с нуля с помощью SteamCMD, запуск с минимальной конфигурацией, проверка видимости в браузере серверов и подключение в качестве игрока. Эта глава охватывает всё -- от требований к оборудованию до устранения самых распространённых ошибок при первом запуске.
Содержание
- Предварительные требования
- Установка SteamCMD
- Установка DayZ Server
- Каталог после установки
- Первый запуск с минимальной конфигурацией
- Проверка работы сервера
- Подключение как игрок
- Распространённые проблемы при первом запуске
Предварительные требования
Оборудование
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| Процессор | 4 ядра, 2.4 ГГц | 6+ ядер, 3.5 ГГц |
| Оперативная память | 8 ГБ | 16 ГБ |
| Диск | 20 ГБ SSD | 40 ГБ NVMe SSD |
| Сеть | 10 Мбит/с отдача | 50+ Мбит/с отдача |
| ОС | Windows Server 2016 / Ubuntu 20.04 | Windows 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
- Скачайте SteamCMD с https://developer.valvesoftware.com/wiki/SteamCMD
- Распакуйте
steamcmd.exeв постоянную папку, напримерC:\SteamCMD\ - Запустите
steamcmd.exeодин раз -- он обновится автоматически
Linux
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)
C:\SteamCMD\steamcmd.exe +force_install_dir "C:\DayZServer" +login anonymous +app_update 223350 validate +quitУстановка одной командой (Linux)
steamcmd +force_install_dir /home/dayz/server +login anonymous +app_update 223350 validate +quitСкрипт обновления
Создайте скрипт, который можно запускать повторно при выходе патчей:
@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 в текстовом редакторе. Для первого теста используйте простейшую конфигурацию:
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: Запуск сервера
Откройте командную строку в каталоге сервера и выполните:
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).
Подключение как игрок
С той же машины
- Запустите DayZ (не DayZ Server -- обычный игровой клиент)
- Откройте Браузер серверов
- Перейдите на вкладку LAN или Избранное
- Добавьте
127.0.0.1:2302в избранное - Нажмите Подключиться
Если вы запускаете клиент и сервер на одной машине, используйте DayZDiag_x64.exe (диагностический клиент) вместо розничного клиента. Запускайте с параметрами:
"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 блокирует исполняемый файл.
Решение:
- Добавьте правило входящего подключения в Брандмауэре Windows для
DayZServer_x64.exe(разрешить весь UDP) - Пробросьте порты 2302-2305 UDP на роутере
- Проверьте внешним инструментом, что порт 2302 UDP открыт на вашем публичном IP
"Version Mismatch" при подключении
Причина: Сервер и клиент имеют разные версии.
Решение: Обновите оба. Запустите команду обновления SteamCMD для сервера. Клиент обновляется автоматически через Steam.
Лут не появляется
Причина: Отсутствует файл init.c или Hive не инициализировался.
Решение: Убедитесь, что mpmissions/dayzOffline.chernarusplus/init.c существует и содержит CreateHive(). Проверьте скрипт-лог на наличие ошибок.
Сервер использует 100% одного ядра процессора
Это нормально. DayZ Server является однопоточным. Не запускайте несколько экземпляров сервера на одном ядре -- используйте привязку к процессору или отдельные машины.
Игроки появляются как вороны / застревают на загрузке
Причина: Шаблон миссии в serverDZ.cfg не совпадает с существующей папкой в mpmissions/.
Решение: Проверьте значение template. Оно должно точно совпадать с именем папки:
template = "dayzOffline.chernarusplus"; // Должно совпадать с именем папки в mpmissions/Главная | Далее: Структура каталогов >>
