Как настроить сервер для онлайн-игры DayZ
В этой статье вы узнаете пошаговые инструкции по настройке игрового сервера DayZ, а также получите важные советы, такие как оптимизация пинга и безопасность.

Как настроить сервер для онлайн-игры DayZ

Наше руководство шаг за шагом поможет вам настроить онлайн-сервер для игры DayZ. Ключевые моменты включают выбор подходящего оборудования, оптимизацию пинга и веб-безопасности, а также управление модами.
0 Акции
0
0
0
0
  1. Почему важно иметь выделенный сервер для DayZ?
  2. Предварительные требования и выбор оборудования/местоположения
    1. Выберите местоположение
  3. Установите SteamCMD и скачайте файлы сервера DayZ.
    1. 1) Установите необходимые компоненты (Ubuntu/Debian).
    2. 2) Создайте пользователя без прав root для запуска сервера.
    3. 3) Установите/запустите SteamCMD от имени пользователя dayz.
    4. 4) Скачайте сервер DayZ с помощью SteamCMD
    5. Важные маршруты и ссылки для скачивания модов (Мастерская)
  4. Начальные настройки сервера и файл конфигурации
  5. Запуск сервера с использованием tmux или systemd
    1. Ручное выполнение (tmux)
    2. Создайте юнит systemd (для автоматического запуска).
  6. Порты и правила брандмауэра
    1. Пример правил UFW
    2. С помощью iptables
  7. Настройки операционной системы для оптимизации производительности и пинга.
    1. Увеличить буферизацию UDP и TCP.
    2. Ввод-вывод и планировщик
  8. Управление модами, автоматическими обновлениями и скриптами.
  9. Мониторинг, резервное копирование и техническое обслуживание
  10. Практические советы по снижению пинга и улучшению игрового опыта.
  11. Контрольный список подготовки к публикации
  12. Резюме и заключение
  13. Рекомендуемые услуги
  14. Часто задаваемые вопросы

 

Почему важно иметь выделенный сервер для DayZ?

Настройка выделенного сервера DayZ для вас. Полный контроль В нем рассматриваются правила игры, моды, время перезапуска и вместимость игроков. В этом пошаговом руководстве мы рассмотрим установку SteamCMD, загрузку серверов, настройку, сетевую безопасность, оптимизацию пинга и управление модами, уделяя особое внимание серверам Linux. Практические примеры включают команды Linux, пример юнита systemd, правила брандмауэра и рекомендации по оборудованию.

 

Предварительные требования и выбор оборудования/местоположения

Перед началом работы подготовьте следующее:

  • Операционная система: Ubuntu 20.04/22.04 Или Debian 11/12 (Рекомендуется)
  • Доступ корень Или пользователь с судо
  • Стабильная пропускная способность 1 Гбит/с (для серверов с более чем 50 игроками)
  • Диск NVMe SSD Для уменьшения задержки ввода-вывода
  • Мощный одноядерный процессор: для 20-60 игроков: 4-8 высокочастотных ядер; для менее 20 игроков: достаточно 2-4 ядер.
  • Память: минимум 8 ГБ для 20 игроков, 16 ГБ и более для 60 игроков и ресурсоемких режимов.
  • Возможность Защита от DDoS-атак и соответствующий протокол BGP/пиринга от провайдера.

Выберите местоположение

Для достижения минимального пинга выберите дата-центр, расположенный близко к игрокам и имеющий хорошее пиринговое соединение. Примеры:

  • ЕС: Франкфурт или Амстердам
  • Н/Д: Нью-Джерси или Лос-Анджелес
  • Азиатско-Тихоокеанский регион: Сингапур или Токио

 

Установите SteamCMD и скачайте файлы сервера DayZ.

Общий метод включает в себя установку необходимых компонентов, создание пользователя без прав root, запуск SteamCMD и загрузку официальных файлов сервера DayZ.

1) Установите необходимые компоненты (Ubuntu/Debian).

sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd tmux wget ca-certificates curl

2) Создайте пользователя без прав root для запуска сервера.

sudo useradd -m -s /bin/bash dayz
sudo passwd dayz
sudo su - dayz

3) Установите/запустите SteamCMD от имени пользователя dayz.

mkdir ~/steamcmd && cd ~/steamcmd
steamcmd

4) Скачайте сервер DayZ с помощью SteamCMD

Выполните следующие команды в SteamCMD:

login anonymous
force_install_dir /home/dayz/dayzserver
app_update 223350 validate
quit

Важные маршруты и ссылки для скачивания модов (Мастерская)

Для модов из Steam Workshop можно использовать команду workshop_download_item в SteamCMD или автоматизированные инструменты. Пример:

steamcmd +login anonymous +workshop_download_item 221100 <workshop_id> +quit

Найти workshop_id Посетите страницу мода в Steam Workshop.

 

Начальные настройки сервера и файл конфигурации

Основной конфигурационный файл обычно находится в папке serverDZ.cfg или server.cfg. Примерный формат (символический) выглядит следующим образом:

hostname = "My DayZ Server";
password = "";            // player password (optional)
passwordAdmin = "Adm!nPass";
maxPlayers = 60;
verifySignatures = 2;     // for mods (Steam Workshop)
motd[] = {"Welcome to our server"};
voteThreshold = 0.33;

Затем установите права доступа:

chown dayz:dayz /home/dayz/dayzserver -R
chmod -R 750 /home/dayz/dayzserver

 

Запуск сервера с использованием tmux или systemd

Ручное выполнение (tmux)

tmux new -s dayz
cd /home/dayz/dayzserver
./DayZServer_x64 -config=serverDZ.cfg -port=2302 -profiles=./profiles -name=server_myname

Чтобы отсоединить терминал: Ctrl+B Затем Д.

Создайте юнит systemd (для автоматического запуска).

Запустите следующий файл от имени root или с помощью команды sudo: /etc/systemd/system/dayz.service Создавать:

[Unit]
Description=DayZ Server
After=network.target

[Service]
Type=simple
User=dayz
WorkingDirectory=/home/dayz/dayzserver
ExecStart=/home/dayz/dayzserver/DayZServer_x64 -config=serverDZ.cfg -port=2302 -profiles=./profiles -name=server_myname
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now dayz.service
sudo journalctl -u dayz -f

 

Порты и правила брандмауэра

Популярные порты DayZ (будут доработаны):

  • UDP 2302 (основной порт игры)
  • UDP 2303-2305 (при необходимости для нескольких портов)
  • UDP 27016 (Запрос Steam / Мастер)
  • TCP/UDP 27015/27020 (в некоторых конфигурациях для RCON или Steam)

Пример правил UFW

sudo ufw allow 2302/udp
sudo ufw allow 27016/udp
sudo ufw allow 22/tcp     # SSH
sudo ufw enable

С помощью iptables

sudo iptables -A INPUT -p udp --dport 2302 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27016 -j ACCEPT

 

Настройки операционной системы для оптимизации производительности и пинга.

Несколько полезных сетевых и системных настроек:

Увеличить буферизацию UDP и TCP.

sudo sysctl -w net.core.rmem_max=12582912
sudo sysctl -w net.core.wmem_max=12582912
sudo sysctl -w net.ipv4.udp_rmem_min=8192
sudo sysctl -w net.ipv4.udp_wmem_min=8192

sudo sysctl -w net.ipv4.tcp_tw_reuse=1
sudo sysctl -w net.ipv4.tcp_fin_timeout=15

Для постоянного применения установите значения в /etc/sysctl.conf Добавлять.

Ввод-вывод и планировщик

Для NVMe/SSD можно установить планировщик в режим noop или mq-deadline:

echo noop | sudo tee /sys/block/nvme0n1/queue/scheduler

Убедитесь, что название блока указано правильно.

 

Управление модами, автоматическими обновлениями и скриптами.

Простой пример скрипта для обновления сервера DayZ:

#!/bin/bash
cd /home/dayz/steamcmd
./steamcmd +login anonymous +force_install_dir /home/dayz/dayzserver +app_update 223350 validate +quit
systemctl restart dayz

Для автоматического запуска с помощью cron:

crontab -e
0 4 * * * /home/dayz/update_dayz.sh >> /home/dayz/update.log 2>&1

Скачайте моды из Мастерской и поместите их в профиль сервера, затем добавьте параметры модов в командную строку (например, mods=/path1;/path2 и -mod=@modname).

 

Мониторинг, резервное копирование и техническое обслуживание

  • Журналы: из журналctl А файлы журналов используйте внутри папки сервера.
  • Резервное копирование: Настройте ежедневный скрипт для резервного копирования папки профилей и базы данных и сохранения их в объектном хранилище или во внешнем хранилище.
  • Мониторинг: Использование таких инструментов, как Prometheus + Grafana Или Netdata Используется для мониторинга ЦП/Ввода-вывода/сети.
  • Снимок: Сделайте снимок виртуальной машины или тома перед применением основных обновлений.

 

Практические советы по снижению пинга и улучшению игрового опыта.

  • Выберите местоположение Расположение рядом с игроками; наличие нескольких центров обработки данных (например, более 85 локаций) важно для выбора правильного местоположения.
  • Пиринг и CDN Для статических файлов модификации помогают ускорить загрузку и снизить нагрузку на сеть.
  • Ограничьте количество операций ввода-вывода на диске в часы пик; используйте NVMe и соответствующий кэш.
  • Настройте скорость воспроизведения и отправки пакетов (частоту обновления/пульс) в соответствии с мощностью оборудования и количеством игроков.
  • Используйте серверы защиты от DDoS-атак и конфигурацию сети (BGP anycast) для предотвращения атак.

 

Контрольный список подготовки к публикации

  • [ ] Проверьте пинг из целевых областей (ping/iperf)
  • [ ] Защита от DDoS-атак и брандмауэр включены
  • [ ] Тест входа в систему и хранилище профиля игрока
  • [ ] Настройка автоматического резервного копирования и создания моментальных снимков
  • [ ] Шаги обновления и отката документа
  • [ ] Мониторинг и оповещения для ЦП/памяти/сети

 

Резюме и заключение

В этом руководстве описаны основные шаги, начиная с предварительных условий, установки SteamCMD, загрузки и запуска сервера, настройки, безопасности, оптимизации системы и советов по снижению пинга. Для наилучшего игрового опыта, особенно на публичных или соревновательных серверах, крайне важны выбор правильного местоположения, использование NVMe SSD, мощный одноядерный процессор, достаточный объем памяти и службы защиты от DDoS-атак.

 

Рекомендуемые услуги

Полезные сопутствующие услуги при внедрении и обслуживании серверов:

  • Доступ к более чем 85 точкам по всему миру, чтобы выбрать ближайший к вашим игрокам центр обработки данных.
  • Высокопроизводительные VPS и облачные серверы, подходящие для игровых серверов.
  • Игровые серверы и VPS для игр с оптимальной конфигурацией, защитой от DDoS-атак и сетью BGP.
  • Возможность использовать выделенные серверы и видеокарты для конкретных модификаций или нужд.
  • Хостинг, домен, CDN для распространения модов и файлов, а также круглосуточная поддержка.

 

Часто задаваемые вопросы

Вам также может понравиться

Сюжет игры God of War: Ragnarok

В основе сюжета — Кратос, бог войны, и его сын-подросток Атреус, которые сталкиваются с надвигающимся конфликтом Рагнарёк...