Skip to content

zonder12120/dayz-server-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Создание и настройка народного сервера DayZ с модами

Содержание

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

Сама инструкция больше нацелена на создания собственного сервака, чтобы можно было играть с друзьями. Это те шаги, которые я выполнил для создания PVE сервера, на котором играю иногда с друзьями.

Подготовка

Качаем содержимое этой папки: https://disk.yandex.ru/d/TPOwj_9dD7Qp_w

В этой инструкции будем это называть "Народные файлы".

Там внутри есть инструкция и для сервера, и для клиента.

Клиент

В качестве скелета клиента единственное, что мне подошло - это сборка DayZavr.

Вот ссылка на скачивание, нас интересует раздел с торрент файлом: https://dayzavr.ru/download.html

Лаунчер от него нам не понадобится, будем запускать клиент через батник.

Переносим в скачанный клиент "Народные файлы", следуя инструкции внутри.

Сервер

В качестве скелета сервера необходимо скачать официальный сервер DayZ через Steam, затем скопировать его и расположить в удобном для нас месте всё его содержимое (например, по пути "C:\Games\DayZServer")

Переносим в новый созданный сервер "Народные файлы", следуя инструкции внутри.

Моды

Все необходимые моды можно качать через официальный клиент DayZ (если есть такой), затем копируя файлы на сервак и клиент (такие папки с символом "@" в начале).

image.png

Ну либо в интернете искать сайты с модами (я хз как ещё качать, у меня лицуха есть)

Не забываем при добавлении мода заходить в папку с модом, копировать файл .bikey из папки keys и вставлять в корень сервера в папку keys. Это касается только сервера, клиенту ключи не нужны.

Миссия

Всегда сначала ставим ванильные настройки, а потом добавляем модовые!

Ванильные настройки

Для начала качаем файл с центральной экономикой миссии, чтобы там были ванильные значения (иначе может не спавниться лут и зомби)

Для этого переходим по ссылке https://github.com/BohemiaInteractive/DayZ-Central-Economy

Справа будет зелёная кнопка Code, нажав на которую будет всплывающая менюшка, где нужно тыкнуть на "Download ZIP".

Открываем архив, переходим в директорию (папку) с названием целевой миссии (для классической Чернаруси - это dayzOffline.chernarusplus), переносим оттуда содержимое директории в директорию миссии на нашем сервере (например, по пути "C:\Games\DayZServer") с заменой.

Для модов expansion

Ровно так же, как описано выше, скачиваем вот этот репозиторий: https://github.com/ExpansionModTeam/DayZ-Expansion-Missions/tree/master

Затем открываем в скачанном архиве директорию Template, затем интересующую нас карту, а потом переносим папку с миссией в любое удобное место (например рабочий стол).

Копируем папку "expansion_ce" в папку с миссией на сервере.

Затем открываем файл "cfgeconomycore.xml", копируем содержимое файла начиная со строчки "" заканчивая строчкой в такой же файл в миссии на сервере перед строчкой (то есть просто переносим внутрь тега economycore)

Затем открываем файл "cfgeventspawns.xml", копируем содержимое файла начиная со строчки "" заканчивая строчкой в такой же файл в миссии на сервере перед строчкой (то есть просто переносим внутрь тега eventposde)

Ну или смотрим видео https://www.youtube.com/watch?v=xwqJ0nIiYb0

Конфигурация сервера

StartServer

Моды

Чтобы подключить моды, в файле !StartServer.ini в строке после "CommandLine =" в конце нужно добавить:

"-mod=@ПервыйМод;@ВторойМод"

То есть там перечисляются названия папок модов через точку с запятой.

Порядок модов важен! Сначала должен идти главный мод, а потом моды, которые от него зависят!

Иногда подбор порядка инициализации модов требует перебора разных вариантов.

У меня эта строчка получилась вот такой:

CommandLine = -port=2302 -config=serverDZ.cfg -cfg=X\basic.cfg -profiles=X -cpuCount=3 -dologs -adminlog -freezecheck -FilePatching "-mod=@CF;@Community-Online-Tools;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-Licensed;@DayZ-Expansion;@DayZ-Expansion-AI;@DayZ-Expansion-Name-Tags;@DayZ-Expansion-Navigation;@DayZ-Expansion-Spawn-Selection;@DayZ-Expansion-Groups;@DayZ-Expansion-Book;@DayZ-Expansion-Animations;@DayZ-Expansion-Vehicles;@DayZ-Expansion-Weapons;@Dynamic AI Missions for DayZ Expansion AI;"

serverDZ

В этом файле мы выставляем все параметры, какие нам угодно. В целом, там есть комменты + названия сами за себя говорящие.

Но очень важна часть в разделе файла под именем "class Missions".

Там, в строке template стоит значение с названием миссии, которая нас интересует (должно стоять такое же, как название папки миссии, которая нас интересует.

Значения популярных миссий:

  • Чернарусь: dayzOffline.chernarusplus

  • Ливония: dayzOffline.enoch

  • Сахал: dayzOffline.sakhal

Думаю, не проблема разобраться с другими миссиями.

У меня этот блок выглядит так:

class Missions
{
    class DayZ
    {
        template="dayzOffline.enoch"; // Mission to load on server startup. <MissionName>.<TerrainName>
					      // Vanilla mission: dayzOffline.chernarusplus
                          // Livonia mission: dayzOffline.enoch
					      // DLC mission Sakhal: dayzOffline.sakhal
    };
};

Миссия

Общие параметры

По пути:

директория_вашего_сервера\mpmissions\название_целевой_миссии\db

Есть файлики с общими настройками миссии.

economy

Это самые глобальные параметры, которые влияют на спавн и сохранение на сервере разного типа сущностей (типа зомби, транспорта, животных).

Лично я тут ничего не менял.

globals

🐾 Животные и зомби

Параметр Описание
AnimalMaxCount Максимальное количество животных
ZombieMaxCount Максимальное количество заражённых (зомби)

🧹 Очистка объектов (Cleanup)

Параметр Описание
CleanupAvoidance Расстояние (в м), при котором объект не удаляется
CleanupLifetimeDefault Время жизни объектов без категории (в секундах)
CleanupLifetimeDeadAnimal Время до удаления мёртвого животного
CleanupLifetimeDeadInfected Время до удаления мёртвого заражённого
CleanupLifetimeDeadPlayer Время до удаления мёртвого игрока
CleanupLifetimeRuined Время жизни разрушенного предмета
CleanupLifetimeLimit Лимит одновременно активных объектов под контролем очистки

🏴 Флаги

Параметр Описание
FlagRefreshFrequency Частота обновления флага (в секундах)
FlagRefreshMaxDuration Максимальное время жизни флага без взаимодействия

🥫 Питание и гниение

Параметр Описание
FoodDecay Включение гниения еды (1 = да)

🧍‍♂️ Спавн игроков

Параметр Описание
InitialSpawn Кол-во игроков, спавнящихся сразу при старте сервера
SpawnInitial Начальное значение доступных точек спавна
RespawnLimit Максимум возможных респавнов игрока
RespawnAttempt Кол-во попыток спавна перед принудительной остановкой
RespawnTypes Кол-во типов доступных точек спавна (влияет на зону появления)
RestartSpawn Перезапуск спавна при рестарте сервера (0 = выкл)

📦 Лут

Параметр Описание
LootDamageMin Минимальный урон предметов при спавне
LootDamageMax Максимальный урон предметов при спавне
LootProxyPlacement Разрешение спавна предметов в прокси-зонах (1=да)
LootSpawnAvoidance Расстояние в м, в котором лут не будет спавниться

⏳ Время и задержки

Параметр Описание
TimeLogin Время задержки при входе
TimeLogout Время ожидания выхода из игры
TimePenalty Штраф на повторный вход
TimeHopping Защита от server hopping (в секундах)
IdleModeStartup Включение режима ожидания при старте (1=да)
IdleModeCountdown Время до активации idle-мода

☔ Динамика погоды

Параметр Описание
WorldWetTempUpdate Частота обновления данных о влажности и температуре

📍 Прочее

Параметр Описание
ZoneSpawnDist Расстояние от игрока для спавна объектов (м)

messages

Здесь указаны сообщения и закомменченные примеры их использования. Здесь ты можешь написать сообщение, чтобы оно, например, повторялось каждые 15 мин.

types

Здесь мы контролируем спавн лута, место спавна, категрию и его количество.

Моды expansion

Для модов expansion все эти настройки находятся по пути:

директория_вашего_сервера\mpmissions\название_целевой_миссии\expansion_ce

Именно файл в этой директории влияют на спавн лута из модов expansion

Геймплейные параметры

Ещё можно настроить стамину игрока, например чтобы она была бесконечной. И без модов!

Надо зайти в файлик по пути:

директория_вашего_сервера\mpmissions\название_целевой_миссии\cfggameplay.json

И там значения указанных полей поменять на те, что я прописал ниже:

"sprintStaminaModifierErc": -0.5,
"sprintStaminaModifierCro": -0.5,
"staminaWeightLimitThreshold": 1000000.0,
"staminaMax": 99999.0,
"staminaKgToStaminaPercentPenalty": 0.0,
"staminaMinCap": 100.0,
"sprintSwimmingStaminaModifier": -0.5,
"sprintLadderStaminaModifier": -0.5,
"meleeStaminaModifier": -0.5,
"obstacleTraversalStaminaModifier": -0.5,
"holdBreathStaminaModifier": -0.5

Там ещё можно настроить температуру и прочие геймплейные настройки, для более подробной инфы рекомендую погуглить/понейросетить.

Конфигурация Expansion AI

Если собираешься ставить ai патрули из expansion, тут обсуждение настройки expansion ai: Настройка патрулей в DayZ-Expansion-AI

По сути, самое главное мы делали в разделе Подготовка/Миссия/Для модов expansion Но если хочешь изменять количество ботов, то ниже будет ссылка на репозиторий со скриптами (генерировал на Go через нейронку).

Конфигурация клиента

StartGame

Моды

Можно просто скопировать из файла с сервером

Чтобы подключить моды, в файле !StartGame.ini в строке после "CommandLine =" в конце нужно добавить:

"-mod=@ПервыйМод;@ВторойМод"

То есть там перечисляются названия папок модов через точку с запятой.

Порядок модов важен! Сначала должен идти главный мод, а потом моды, которые от него зависят!

У меня эта строчка получилась вот такой:

CommandLine = -connect=127.0.0.1 -port=2302 -name=MyName "-mod=@CF;@Community-Online-Tools;@Dabs Framework;@DayZ-Expansion-Core;@DayZ-Expansion-Licensed;@DayZ-Expansion;@DayZ-Expansion-AI;@DayZ-Expansion-Name-Tags;@DayZ-Expansion-Navigation;@DayZ-Expansion-Spawn-Selection;@DayZ-Expansion-Groups;@DayZ-Expansion-Book;@DayZ-Expansion-Animations;@DayZ-Expansion-Vehicles;@DayZ-Expansion-Weapons;"

Параметры подключения

Адрес

Ещё в строке "CommandLine" есть параметр "-connect", где после знака "=" нужно написать адрес сервера, на котором хостится сервак. Для своего же сервера можно прописать просто "127.0.0.1", но другим игракам нужно указать твой публичный адрес. Если играете по VPN или ВЛС, то твой адрес в этой сети.

Порт

А ещё параметр "-port", где указывается порт сервака (лучше оставлять стандартный).

Если ты хостишь на своём ПК и у тебя есть возможность открывать порты, то не забудь его открыть у себя на роутере, есть масса инструкций по этому поводу, лишь бы провайдер позволял. Ну и если у тебя не статичный айпишник, то придётся каждый раз его смотреть, чтобы дать клиентам.

А лучше вообще используй zerotier (по сути по локалке будете играть) и не парься, там никаких портов открывать не надо, всё бесплатно, дохера людей можно подключить.

Имя игрока

Ну и параметр "-name", где после знака "=" нужно написать своё имя, которое будет отображаться для всех остальных игроков.

Например:

CommandLine = -connect=127.0.0.1 -port=2302 -name=Cap

SteamID

Для того, чтобы не было проблем с подключением, очень важно для каждого использовать уникальные SteamID. А мы же ещё хотим, чтобы можно было раздавать игрокам роли (например, выдать себе админку).

Поэтому ищем строчку "ManualSteamId" и в качестве значений пишем свой айдишник от стима.

Как узнать свой айди стим аккаунта ты должен найти сам, в интернете полно инструкций по этому поводу.

Настройки Expansion

Вот здесь можно посмотреть официальную доку expansion: https://github.com/salutesh/DayZ-Expansion-Scripts/wiki/%5BServer-Hosting%5D-Server-settings

И ещё есть такой видик:

https://www.youtube.com/watch?v=xwqJ0nIiYb0

Скрипты

У меня есть скрипты: https://github.com/zonder12120/dayz-server-scripts/tree/main

В репозитории есть инструкции, как ими пользоваться, чтобы автоматизировать конфигурацию сервера.

Вайп сервера

Чтобы удалить все сохранения, то достаточно просто удалить директорию (папку) storage_1 по пути:

директория_вашего_сервера\mpmissions\название_целевой_миссии\

About

Инструкция по созданию народного сервера с модами

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors