← К вики

Установка сервера DayZ

Как поднять выделенный сервер DayZ через SteamCMD, настроить конфиг и запустить его через systemd.

Время: 30 мин · Сложность: ★★★☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12


Краткое описание

Сервер DayZ распространяется через Steam (SteamCMD), отдельно от клиентской игры — сервер бесплатный и не требует лицензии.

Когда пригодится

  • Хотите свой сервер DayZ под конкретные моды и настройки лута
  • Переносите существующий сервер на новый VPS/выделенный сервер
  • Нужен приватный сервер для игры с друзьями без публичного списка серверов

Что понадобится

  • VPS или выделенный сервер, от 4 ГБ RAM (сервер сам по себе не тяжёлый, но требователен к диску при большом числе модов)
  • Доступ по SSH — см. Подключение по SSH
  • Свободные ~15 ГБ на диске под установку и обновления
  • Открытые порты 2302/udp (игра) и 27016/udp (Steam-запросы)

Пошаговая инструкция

1. Установите зависимости и SteamCMD

DayZ Server — 32-битное приложение, на 64-битной системе нужны совместимые библиотеки:

dpkg --add-architecture i386
apt update
apt install -y lib32gcc-s1 lib32stdc++6 curl unzip

Установите SteamCMD:

useradd -m -s /bin/bash steam
su - steam
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

2. Скачайте DayZ Server

Вход анонимный, отдельный аккаунт Steam не нужен:

./steamcmd.sh +force_install_dir /home/steam/dayzserver +login anonymous +app_update 223350 validate +quit

Загрузка идёт несколько гигабайт — на слабом канале займёт время.

3. Настройте конфиг сервера

Создайте /home/steam/dayzserver/serverDZ.cfg:

hostname = "Мой сервер DayZ";
password = "";
passwordAdmin = "смените_меня";
maxPlayers = 40;
verifySignatures = 2;
forceSameBuild = 1;
disableVoN = 0;
disable3rdPerson = 0;
serverTime = "SystemTime";
serverTimeAcceleration = 4;
serverNightTimeAcceleration = 6;
lightingConfig = 0;
respawnTime = 5;
storageAutoFix = 1;

Обязательно смените passwordAdmin — это пароль для RCON-доступа к серверу.

4. Запустите сервер вручную для проверки

cd /home/steam/dayzserver
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles -dologs -adminlog -netlog -freezecheck

Если в консоли не сыплются ошибки и появляется строка про инициализацию мира — сервер поднялся. Остановите его Ctrl+C и переходите к systemd.

5. Заведите systemd-юнит

/etc/systemd/system/dayzserver.service:

[Unit]
Description=DayZ Standalone 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
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now dayzserver

6. Откройте порты

ufw allow 2302/udp
ufw allow 27016/udp

Если используете диапазон дополнительных портов для BattlEye — откройте и его аналогично (см. Настройка UFW).

7. Настройте автообновление (опционально)

Steam регулярно выпускает патчи. Простой вариант — обновлять по cron перед плановым рестартом:

0 6 * * * systemctl stop dayzserver && /home/steam/steamcmd/steamcmd.sh +force_install_dir /home/steam/dayzserver +login anonymous +app_update 223350 validate +quit && systemctl start dayzserver

Проверка результата

  • systemctl status dayzserver — active (running)
  • Сервер появляется в списке серверов в клиенте DayZ по прямому подключению <IP>:2302
  • Логи без критических ошибок:
    journalctl -u dayzserver -f
    

Возможные ошибки

error while loading shared libraries: libgcc_s.so.1 — не установлены 32-битные библиотеки. Повторите шаг 1, убедитесь, что архитектура i386 добавлена (dpkg --print-foreign-architectures).

Сервер не отображается в списке серверов, хотя запущен — не открыт порт 27016/udp (Steam query). Игровой порт 2302 для подключения по IP работает и без него, но в общий браузер серверов сервер не попадёт.

Failed to update, one or more download files are corrupt — SteamCMD скачал повреждённые файлы, обычно из-за обрыва сети. Повторите команду app_update с флагом validate.

Игроки жалуются на десинхронизацию/лаги — почти всегда упирается в CPU (DayZ Server однопоточный на симуляции), а не в сеть. Снижайте serverTimeAcceleration/число ботов или переносите сервер на более быстрый по частоте CPU тариф.

FAQ

Нужен ли отдельный аккаунт Steam для сервера? Нет, +login anonymous достаточно и для скачивания, и для запуска сервера.

Как добавить моды? Моды скачиваются через +workshop_download_item 221100 <id_мода> в SteamCMD, затем путь к ним указывается через -mod= при запуске сервера. Каждый мод добавляет отдельный параметр в ExecStart.

Как обновить сервер вручную без даунтайма по расписанию? Только с остановкой процесса — DayZ Server не поддерживает горячее обновление файлов приложения.

Полезные ссылки

Следующие статьи

Используем cookie, чтобы сайт работал, и — если разрешите — аналитику: видим, где людям неудобно, и чиним. Рекламных трекеров нет.