Установка сервера 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 не поддерживает горячее обновление файлов приложения.