Как поднять сервер DayZ: пошаговая инструкция
Решил поднять свой сервер DayZ, чтобы играть с друзьями без диких раннеров и читеров с паблика — но с первого захода в SteamCMD глаза разбегаются от параметров и путей. Разберём по шагам: от выбора VPS до автозапуска, без магии и лишних слов.
Содержание
Что понадобится: системные требования
DayZ Server — прожорливая штука, экономить на железе не стоит. Минимум, с которым сервер вообще стартует и держит десяток игроков без фризов:
- RAM: от 6 ГБ. Это база под сам процесс сервера плюс кэш карты — при заполненном сервере на 40-60 слотов лучше закладывать 8-12 ГБ, особенно если ставите модовые сборки с большими картами вроде Namalsk или Deer Isle.
- CPU: DayZ Server слабо утилизирует многопоточность, поэтому важнее частота ядра, а не их количество. Берите тариф с современным процессором, а не просто "побольше ядер".
- Диск: SSD/NVMe обязателен. Сама игра плюс карта занимают порядка 15-20 ГБ, плюс место под бэкапы профиля и логи — закладывайте от 25-30 ГБ свободного места.
- ОС: Linux (Debian/Ubuntu) или Windows Server — сервер DayZ поддерживает оба варианта через SteamCMD, в статье разберём Linux-путь как самый бюджетный и распространённый у хостеров.
- Сеть: стабильный канал и белый IP — без него проброс портов не имеет смысла, сервер просто не будет виден в браузере серверов.
Если поднимаете сервер на VPS у MAATRIX GAMES, конфигурация под DayZ уже подобрана заранее — не придётся гадать, хватит ли RAM под конкретную карту.
Установка через SteamCMD
DayZ Dedicated Server — бесплатное приложение в Steam с отдельным App ID, устанавливается через SteamCMD независимо от того, куплена ли у вас сама игра.
Сначала ставим зависимости и сам SteamCMD (на Debian/Ubuntu):
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl unzip
useradd -m steam
su - steam
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Заводим отдельного пользователя steam не для красоты — если сервер когда-нибудь скомпрометируют через уязвимый мод, атакующий не получит root на всей машине.
Дальше скачиваем сам сервер DayZ. App ID дедик-сервера — 223350:
./steamcmd.sh +force_install_dir ~/dayzserver +login anonymous +app_update 223350 validate +quit
Первая закачка идёт долго — сервер вместе с базовой картой Чернорусье весит прилично, на слабом канале можно ждать 20-40 минут. Дождитесь строчки Success! App '223350' fully installed — это признак того, что скачивание прошло без обрывов.
Обновлять сервер потом та же команда — просто гоняйте её после каждого патча DayZ, желательно останавливая сервер перед обновлением, чтобы не словить рассинхрон версий с клиентами.
Поднять сервер DayZ за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверБазовая конфигурация serverDZ.cfg
Конфиг сервера — обычный текстовый файл, который вы создаёте сами в корне папки сервера (~/dayzserver/serverDZ.cfg). Готового шаблона из коробки нет, поэтому пишем с нуля:
hostname = "Мой DayZ сервер";
password = "";
passwordAdmin = "supersecretpassword";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
disableVoN = 0;
vonCodecQuality = 20;
disable3rdPerson = 0;
disableCrosshair = 0;
serverTime = "SystemTime";
serverTimeAcceleration = 4;
serverNightTimeAcceleration = 6;
serverTimePersistent = 1;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
instanceId = 1;
storageAutoFix = 1;
Разберём, что реально важно на старте:
- hostname — имя сервера в браузере, пишите так, чтобы игроки узнавали вас с первого взгляда.
- password — пароль для входа игроков (оставьте пустым для публичного сервера).
- passwordAdmin — пароль администратора, обязательно смените дефолтное значение, иначе любой желающий зайдёт под админкой.
- maxPlayers — реальный лимит слотов должен соотноситься с вашей RAM: на 6 ГБ комфортно держать 40-50 игроков, выше — уже риск просадок.
- verifySignatures = 2 — проверка подписей модов, отключать не стоит даже на модовых серверах.
- serverTimeAcceleration / serverNightTimeAcceleration — ускорение течения игрового времени, особенно ночи (по умолчанию ночь в DayZ тянется реально долго и многих игроков откровенно бесит).
Отдельно stоит настроить cfggameplay.json — там регулируются параметры лута, здоровья, стамины и прочего геймплея, но это уже тонкая настройка под конкретный стиль сервера, а не обязательный минимум для первого запуска.
Запуск сервера с параметрами
Сервер запускается бинарником DayZServer с набором ключей командной строки. Базовая команда запуска из папки сервера:
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles -dologs -adminlog -netlog -freezecheck
Что означает каждый параметр:
- -config — путь к вашему конфигу сервера (тому самому serverDZ.cfg).
- -port — базовый игровой порт, по умолчанию 2302 (об этом порте и соседних — ниже, в разделе про проброс).
- -profiles — папка, куда сервер пишет логи и хранит профиль (создаётся автоматически при первом запуске).
- -dologs -adminlog -netlog — включают подробное логирование, полезно на старте, чтобы отлавливать краши и странности в поведении сервера.
- -freezecheck — сервер сам перезапускает потоки при зависании, немного снижает шанс мёртвого зависшего процесса.
Если хотите указать конкретную карту (например, Ливонию вместо стандартной Чернорусья), добавляется параметр -mod= с путём до карты как до отдельного мода — базовая карта Чернорусье запускается без дополнительных ключей, она встроена в сам сервер.
Проброс портов
DayZ использует не один порт, а диапазон — сервер занимает базовый игровой порт и ещё несколько соседних для Steam Query и BattlEye. При порте 2302 (значение по умолчанию) откройте:
| Порт | Протокол | Назначение |
|---|---|---|
| 2302 | UDP | Основной игровой трафик |
| 2303 | UDP | Steam Query (отображение сервера в браузере) |
| 2304 | UDP | Steam Query (резерв) |
| 2305 | UDP | Steam Query (резерв) |
| 27016 | UDP | BattlEye |
Если у вас VPS с публичным IP напрямую на сетевом интерфейсе (как обычно и бывает у игровых хостеров) — отдельный проброс через роутер не нужен, достаточно открыть эти порты в файрволе самой машины:
sudo ufw allow 2302:2305/udp
sudo ufw allow 27016/udp
Если же вы разворачиваете сервер дома за домашним роутером — придётся пробрасывать те же порты в настройках роутера на локальный IP машины, плюс убедиться, что провайдер выдаёт вам реальный белый IP, а не серый адрес за NAT (это частая причина, почему сервер "работает локально, но не виден снаружи").
Работа с лутом и настройками экономики
Тонкая настройка спавна предметов управляется файлом types.xml — он лежит в папке миссии (mpmissions/dayzOffline.chernarusplus/db/types.xml для стандартной карты) и описывает для каждого предмета количество, время рекультивации, категорию и теги локаций спавна. Файл огромный, вручную редактировать его с нуля — плохая идея: проще брать за основу дефолтный types.xml и точечно менять параметры nominal и min для конкретных предметов, если хочется больше или меньше лута определённого типа.
Здесь важна честность: агрессивно накрутить лут "чтобы всем всего хватало" — соблазн, но именно баланс экономики лута и есть основа геймплея выживания DayZ. Перекос в любую сторону быстро убивает интерес — либо игроки обвешаны всем за 10 минут, либо сервер превращается в голодную резню за банку тушёнки. Меняйте параметры постепенно и следите за фидбеком комьюнити, а не переписывайте файл целиком с первого дня.
Автозапуск и стабильная работа сервера
Ручной запуск через SSH-сессию — плохая идея: закрыли терминал, сервер упал. Правильный путь — systemd-юнит, который запускает сервер при перезагрузке машины и рестартует его при падении.
Создаём файл /etc/systemd/system/dayzserver.service:
[Unit]
Description=DayZ Dedicated Server
After=network.target
[Service]
User=steam
WorkingDirectory=/home/steam/dayzserver
ExecStart=/home/steam/dayzserver/DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles -dologs -adminlog -netlog -freezecheck
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Включаем и запускаем:
sudo systemctl daemon-reload
sudo systemctl enable dayzserver
sudo systemctl start dayzserver
Проверить статус и посмотреть свежие логи:
sudo systemctl status dayzserver
journalctl -u dayzserver -f
С таким юнитом сервер переживёт перезагрузку хоста и сам поднимется после случайного краша — не придётся среди ночи вручную заходить по SSH, потому что кто-то в чате написал "сервер лёг".
Поднять сервер DayZ за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сколько игроков реально держит сервер на 6 ГБ RAM?
В комфортном режиме — 40-50 слотов без модов на стандартной карте. С тяжёлыми модовыми сборками и большой картой лучше закладывать больше RAM с запасом.
Можно ли запустить DayZ-сервер на Windows?
Да, SteamCMD и DayZServer.exe работают и на Windows Server, процесс установки аналогичен, отличаются только пути и способ автозапуска (через службу Windows вместо systemd).
Нужно ли покупать саму игру DayZ для запуска сервера?
Нет, дедик-сервер (App ID 223350) бесплатен и скачивается через анонимный логин в SteamCMD, лицензия игры нужна только игрокам для подключения.
Как обновить сервер после патча DayZ?
Останавливаете сервис (sudo systemctl stop dayzserver), запускаете ту же команду SteamCMD с +app_update 223350 validate, затем стартуете сервис обратно.
Почему сервер не отображается в браузере серверов, хотя запущен?
Чаще всего не открыт диапазон Steam Query портов (2303-2305 UDP) или сервер ещё не прошёл первую регистрацию в Steam Master Server — подождите пару минут после старта.