Поиск по форуму

Введите запрос, чтобы найти нужную тему быстрее.

Последние темы

Торговец для сервера

Ребят подскажите у кого лучший трейдер. Хочу посмотреть среди платных и бесплатнх модов

Arma Reforger / Вопросы Todtleben 3 ответов50 просмотров
DayZXMLspawnpointsспавн игроков

DayZ cfgspawnpoints.xml: настройка точек появления игроков

# DayZ cfgspawnpoints.xml: настройка точек появления игроков `cfgspawnpoints.xml` отвечает за стандартные точки появления игроков. Если вы не переопределяете спавн через `init.c`, сервер берет точки отсюда. Путь обычно такой: ```text mpmissions/dayzOffline.chernarusplus/cfgplayerspawnpoints.xml ``` На некоторых сборках название может отличаться, поэтому смотрите структуру своей миссии. ## Когда использовать XML-спавн, а когда init.c XML удобнее, если вам нужны обычные зоны спавна и много точек. `init.c` удобнее, если нужна логика: - разные спавны по ролям; - случайный стартовый город; - спавн на базе новичков; - телепорт в отдельную RP-зону; - нестандартные условия. ## Пример точки Формат зависит от версии миссии, но идея всегда одна: координаты, радиус и параметры зоны. ```xml <generator_posbubbles> <pos x="7500" z="7500" /> </generator_posbubbles> ``` В разных шаблонах XML структура может отличаться. Не пытайтесь слепо вставить пример, если ваш файл устроен иначе. ## Как выбирать точки Проверяйте: - игрок не появляется в воде; - рядом нет стен и объектов; - нет мгновенной смерти от зараженных; - место не дает слишком сильного преимущества; - рядом есть логичный маршрут. ## Для RP-серверов RP-серверу часто не нужен стандартный береговой спавн. Можно сделать: - общий старт в городе; - спавн у паспортного стола; - спавн в аэропорту; - спавн в карантинной зоне; - несколько точек вокруг безопасной зоны. Если весь старт завязан на сюжет, лучше делать спавн через `init.c`, потому что там проще добавить условия и стартовый набор. ## Частая ошибка Игроки появляются друг в друге. Это происходит, когда точек мало или радиус слишком маленький. Решение: - добавить больше точек; - разнести их на 10-30 метров; - проверить высоту и поверхность; - не ставить точку внутри здания, если не уверены в коллизиях. ## Итог `cfgspawnpoints.xml` хорош для простой географии спавна. Если нужна логика - используйте `init.c`.

DayZ SA / Настройка сервера Todtleben 0 ответов2 просмотров
DayZBattlEyeRConBEServer_x64.cfg

DayZ BEServer_x64.cfg и RCon: подключение админки без дыр в безопасности

# DayZ BEServer_x64.cfg и RCon: подключение админки без дыр в безопасности RCon нужен, чтобы внешняя админка или мониторинг могли общаться с сервером: смотреть игроков, отправлять команды, получать статус. Файл обычно лежит в профиле BattlEye: ```text profiles/BattlEye/BEServer_x64.cfg ``` ## Пример ```cfg RConPassword your-very-strong-password RConPort 2305 ``` ## RConPassword Пароль должен быть уникальным. Не используйте: - пароль от сайта; - пароль от почты; - пароль администратора Windows; - старый пароль из гайда; - короткие слова. ## RConPort Порт, на котором BattlEye принимает RCon-подключения. Важно открыть порт в firewall только если это действительно нужно. Еще лучше ограничить доступ по IP, если админка стоит на конкретном сервере. ## Безопасность Минимум: - длинный пароль; - отдельный пароль только для RCon; - закрытый firewall; - доступ только с нужных IP; - не публиковать конфиг; - не отправлять пароль в Discord без необходимости. ## Если админка не подключается Проверьте: 1. Сервер запущен. 2. BattlEye включен. 3. Файл лежит в правильной папке профиля. 4. Порт открыт. 5. Пароль совпадает. 6. Админка использует правильный IP и порт. 7. Нет второго старого `BEServer_x64.cfg` в другой папке. ## Частая ошибка На сервере несколько профилей, а вы редактируете не тот `BEServer_x64.cfg`. В итоге в файле все красиво, но игра использует другой конфиг. ## Для RP/AOD На RP-сервере RCon особенно полезен: - контроль онлайна; - быстрый кик проблемных игроков; - интеграция с сайтом; - мониторинг статуса; - автоматизация некоторых действий. Но RCon - это административный доступ. Относитесь к нему как к ключу от серверной, а не как к обычной настройке.

DayZ SA / Настройка сервера Todtleben 0 ответов4 просмотров
DayZлутcfgrandompresets.xmlpresets

DayZ cfgrandompresets.xml: случайные наборы предметов

# DayZ cfgrandompresets.xml: случайные наборы предметов `cfgrandompresets.xml` используется для случайных наборов. Его часто связывают с `cfgspawnabletypes.xml`, чтобы контейнеры, аптечки, магазины или другие предметы появлялись с разным содержимым. ## Зачем он нужен Без пресетов все быстро становится одинаковым. С пресетами можно сделать: - разные аптечки; - случайное содержимое ящиков; - разные наборы еды; - наборы инструментов; - вариации стартового/ивентового лута. ## Пример идеи пресета ```xml <cargo chance="0.70" name="starter_food"> <item name="Apple" chance="0.50" /> <item name="Pear" chance="0.30" /> <item name="SodaCan_Cola" chance="0.20" /> </cargo> ``` Структура может отличаться в зависимости от файла и версии, поэтому смотрите существующие записи вашей миссии и повторяйте их стиль. ## Как использовать В `cfgspawnabletypes.xml` можно сослаться на пресет: ```xml <type name="DryBag_Red"> <cargo preset="starter_food" /> </type> ``` ## Для RP-сервера На RP/AOD такие пресеты удобно использовать не для обычного спавна, а для контролируемых сценариев: - стартовый набор новичка; - полицейский склад; - медицинская поставка; - гуманитарный груз; - квестовый контейнер. То есть не “все на карте случайно”, а “админ или система создала ящик, а внутри логичный набор”. ## Баланс Не делайте пресеты слишком жирными. Если каждый ящик дает полный комплект, экономика быстро перестает иметь смысл. ## Частые ошибки - неверное имя пресета; - неверное имя предмета; - шанс больше `1.0`; - пресет есть, но нигде не используется; - предмет из мода не подключен в types. `cfgrandompresets.xml` - хороший инструмент, когда хочется разнообразия, но без хаоса.

DayZ SA / Настройка сервера Todtleben 0 ответов2 просмотров
DayZcfgweather.xmlпогодаXML

DayZ cfgweather.xml: описание и примеры настройки погоды

# DayZ cfgweather.xml: описание и примеры настройки погоды `cfgweather.xml` отвечает за погоду на сервере: облачность, дождь, туман, ветер и переходы между состояниями. Файл находится в папке миссии: ```text mpmissions/dayzOffline.chernarusplus/cfgweather.xml ``` ## Основные параметры ### overcast Облачность. Значения обычно идут от `0` до `1`. - `0` - ясное небо; - `0.5` - переменная облачность; - `1` - полностью пасмурно. ### rain Дождь. Тоже обычно `0` до `1`. ### fog Туман. Сильный туман может красиво выглядеть, но мешает PvP и навигации. ### windMagnitude Сила ветра. ### windDirection Направление ветра. ## Пример мягкой PvE-погоды ```xml <weather reset="0" enable="1"> <overcast> <current actual="0.25" time="120" duration="240" /> <limits min="0.10" max="0.65" /> <timelimits min="900" max="1800" /> <changelimits min="0.0" max="0.25" /> </overcast> <fog> <current actual="0.05" time="120" duration="240" /> <limits min="0.0" max="0.20" /> <timelimits min="900" max="1800" /> <changelimits min="0.0" max="0.10" /> </fog> <rain> <current actual="0.0" time="120" duration="240" /> <limits min="0.0" max="0.35" /> <timelimits min="1200" max="2400" /> <changelimits min="0.0" max="0.20" /> </rain> </weather> ``` ## Пример суровой атмосферы ```xml <weather reset="0" enable="1"> <overcast> <current actual="0.75" time="300" duration="600" /> <limits min="0.45" max="1.0" /> <timelimits min="600" max="1200" /> <changelimits min="0.10" max="0.35" /> </overcast> <fog> <current actual="0.20" time="300" duration="600" /> <limits min="0.05" max="0.45" /> <timelimits min="600" max="1200" /> <changelimits min="0.05" max="0.20" /> </fog> <rain> <current actual="0.20" time="300" duration="600" /> <limits min="0.0" max="0.80" /> <timelimits min="900" max="1800" /> <changelimits min="0.05" max="0.40" /> </rain> </weather> ``` ## reset и enable - `enable="1"` включает динамическую погоду. - `reset="1"` заставляет погоду сбрасываться при старте. - `reset="0"` сохраняет более естественное поведение между рестартами. ## Практические советы - Для PvP не делайте постоянный сильный туман. - Для PvE можно добавить больше дождя и облачности. - Для RP хорошо работают медленные изменения погоды. - Не ставьте все значения на максимум: это быстро надоедает игрокам. Погода должна усиливать атмосферу, а не мешать играть.

DayZ SA / Настройка сервера Todtleben 0 ответов3 просмотров
DayZошибкиадминистрированиемоды

DayZ script.log: как читать ошибки и не паниковать из-за каждой строки

# DayZ script.log: как читать ошибки и не паниковать из-за каждой строки Когда сервер не запускается, лагает после старта или какой-то мод ведет себя странно, первым делом почти все лезут в `script.log`. И вот тут начинается боль: строк много, половина красная, везде какие-то `FIX-ME`, `Missing`, `NULL pointer`, названия модов, обфусцированные папки и ощущение, что сервер сейчас развалится. На деле не каждая страшная строка в `script.log` является причиной проблемы. В этом гайде разберем, на что смотреть в первую очередь, что можно временно пропустить и как читать лог по-человечески. ## Где лежит script.log Обычно он лежит в папке профилей сервера: ```text profiles/script_год-месяц-день_час-минута-секунда.log ``` Пример: ```text profiles/script_2026-07-27_13-59-38.log ``` Если у вас в параметрах запуска указано `-profiles=profiles`, значит лог будет внутри этой папки. Если путь другой, ищите там. ## Сначала смотрим, сервер вообще дошел до миссии или нет В нормальном запуске ближе к концу лога можно увидеть что-то вроде: ```text [MissionServer] OnInit - Server [MissionServer] OnMissionStart - Server [MissionServer] OnMissionLoaded - Server ``` Если `OnMissionLoaded` есть, сервер хотя бы дошел до загрузки миссии. Это не значит, что все идеально, но это уже не ситуация “сервер умер на первой секунде”. Если лог обрывается до загрузки мира, тогда ищем последнюю ошибку перед обрывом. Обычно причина рядом. ## Самые важные строки В первую очередь ищем: ```text SCRIPT (E) Virtual Machine Exception Reason: Stack trace: NULL pointer to instance Cannot open file Can't compile Unknown type Undefined function Bad type ``` Вот это уже не декоративный шум. Особенно если после ошибки сервер крашится, не пускает игроков или ломается конкретная система. ## Как читать Virtual Machine Exception Пример из живого лога: ```text SCRIPT (E): Virtual Machine Exception Reason: NULL pointer to instance Class: 'StashSearchManager' Function: 'ReadStashSearchConfig' Stack trace: StashSearchServer/Scripts/4_World/stashsearchserver/plugins/pluginbase/stashmanager.c:70 Function ReadStashSearchConfig ``` Читаем не сверху вниз, а по смыслу: `Reason` - что случилось. `Class` - в каком классе. `Function` - какая функция упала. `Stack trace` - путь, где это произошло. В этом примере проблема не в ванильном DayZ и не в карте. Ошибка идет от мода `StashSearchServer`, функция читает конфиг тайников и ловит `NULL pointer`. Человеческий перевод: мод ожидал получить какие-то данные из конфига, но получил пустоту. Часто это бывает из-за пустого JSON, неправильной структуры файла, отсутствующего поля, битого конфига или несовместимой версии мода и его настроек. ## NULL pointer - это важно ```text Reason: NULL pointer to instance ``` Это значит, что скрипт пытается обратиться к объекту, которого нет. Например: - конфиг не загрузился; - нужный массив пустой; - файл есть, но внутри неверная структура; - мод ждет объект, который не был создан; - порядок модов или зависимостей неправильный; - старая конфигурация осталась после обновления мода. Если `NULL pointer` повторяется несколько раз в одном и том же моде, это уже кандидат номер один на проверку. В моем примере `StashSearchServer` ругается сразу на несколько функций: ```text ReadStashSearchConfig ReadStashGiftConfig ReadTypedStashConfig ReadStashSkillConfig GetTotalSkillSearches ``` Значит, я бы первым делом проверял именно конфиги `StashSearchServer`: созданы ли они, не пустые ли, подходят ли под текущую версию мода, не слетели ли после обновления. ## Явная ошибка настройки Еще один пример: ```text [VPPAdminTools] Error parsing credentials.txt! Please input a valid password, with no // at the start of the line! ``` Вот это очень понятная ошибка. `VPPAdminTools` не смог прочитать `credentials.txt`. Что проверить: - файл `credentials.txt` существует; - пароль указан без `//` в начале строки; - нет лишних комментариев в строке с паролем; - файл лежит там, где его ждет VPP; - после изменения сервер был перезапущен. Такую ошибку не надо философски трактовать. Лог прямо сказал, что ему не нравится. ## Ошибки доступа к папкам Пример: ```text [RD_Admin] Radiation directory is empty or DayZ Server have not access to this [RD_Admin] Resist directory is empty or DayZ Server have not access to this ``` Тут два варианта: 1. папка реально пустая; 2. серверный процесс не может прочитать эту папку. Проверяем путь, наличие файлов и права доступа. Особенно если сервер запущен не от того пользователя, под которым вы редактировали файлы. Если мод дальше пишет, что часть конфигов загрузилась, значит проблема может быть не смертельная, но игнорировать ее полностью я бы не стал. Такие вещи потом всплывают странным поведением зон, радиации, резистов и прочей логики. ## Что можно не чинить сразу В DayZ-модах очень часто встречаются предупреждения: ```text FIX-ME: Overriding function but not marked as override FIX-ME: Method argument can't be strong reference Possible variable name conflict No need to use Cast for up-casting Missing ';' at the end of line ``` Звучит страшно, но не всегда является причиной падения сервера. Если сервер запускается, игроки заходят, нужная механика работает, а эти предупреждения идут от известных Workshop-модов, то сначала лучше не лезть в них руками. Часто это особенности старого кода мода, обфускации или предупреждения компилятора, которые автор мода давно тащит за собой. Но есть оговорка: если после обновления DayZ или мода таких предупреждений стало больше, а механика сломалась, тогда уже смотрим внимательнее. ## Что нельзя пропускать Я бы не пропускал: - `SCRIPT (E)`; - `Virtual Machine Exception`; - `NULL pointer to instance`; - ошибки чтения JSON/XML; - ошибки конкретного конфига; - `Cannot open file`; - `Can't compile`; - ошибки в вашем `init.c`; - ошибки в моде, который отвечает за ключевую механику сервера; - повторяющуюся ошибку на каждом входе игрока. Повторяющаяся ошибка хуже одиночной. Одиночная могла вылезти при инициализации и не мешать. А вот если она сыпется постоянно, сервер будет страдать. ## Как понять, какой мод виноват Смотрите на путь в stack trace. Пример: ```text StashSearchServer/Scripts/4_World/... ``` Почти наверняка разбираемся с `StashSearchServer`. Другой пример: ```text CodeLock/scripts/4_world/... ``` Смотрим CodeLock. Еще пример: ```text $CurrentDir:mpmissions/DayZ.dz_map/init.c:98 ``` Вот это уже ваша миссия и ваш `init.c`. Если ошибка приходит сюда, надо смотреть строку рядом с указанной. ## Как я обычно разбираю лог Мой порядок такой: 1. Открываю самый свежий `script_*.log`. 2. Иду в конец файла и смотрю, дошел ли сервер до `OnMissionLoaded`. 3. Ищу `SCRIPT (E)` и `Virtual Machine Exception`. 4. Смотрю `Reason`, потом `Class`, потом первый путь в `Stack trace`. 5. Если ошибка из мода, проверяю конфиги этого мода и его зависимости. 6. Если ошибка из `init.c`, открываю указанную строку и последние правки. 7. Если ошибка повторяется при входе игрока, чиню ее в первую очередь. 8. Только потом смотрю предупреждения `SCRIPT (W)`. ## Что делать после исправления После правки не надо смотреть старый лог и ждать, что он сам исправится. Делайте так: 1. Остановить сервер. 2. Переименовать старый `script.log` или просто запомнить время. 3. Запустить сервер заново. 4. Открыть новый `script_*.log`. 5. Проверить, исчезла ли конкретная ошибка. Если ошибка исчезла, но появились новые ниже по логу, это нормально. Иногда сервер просто не доходил до следующей проблемы, пока вы не починили первую. ## По конкретному примеру Если брать лог с ошибками: ```text StashSearchManager ReadStashSearchConfig ReadStashGiftConfig ReadTypedStashConfig ReadStashSkillConfig GetTotalSkillSearches ``` Я бы начал с `StashSearchServer`: - проверить папку конфигов мода в профилях; - удалить временно сгенерированные конфиги только если есть бэкап; - сверить конфиги с актуальной версией мода; - проверить, не обновился ли мод без обновления серверной части; - проверить порядок зависимостей; - посмотреть, не требует ли мод обязательные поля, которых нет в старом JSON. Параллельно стоит поправить `VPPAdminTools credentials.txt`, потому что там ошибка явная и простая. ## Итог `script.log` не надо читать как список всего, что срочно сломано. Его надо читать как след. Главное правило простое: сначала ошибки `SCRIPT (E)` и stack trace, потом конкретные конфиги модов, потом ваш `init.c`, и только после этого предупреждения. Большая часть `FIX-ME` в модовом сервере может жить месяцами, а один `NULL pointer` в нужном месте будет ломать механику каждый рестарт. И да, перед любой правкой конфига делайте бэкап. Это скучно ровно до первого вечера, когда он спасает сервер.

DayZ SA / Настройка сервера Todtleben 0 ответов8 просмотров
DayZэкономикаcfgeconomycore.xmlмоды

DayZ cfgeconomycore.xml: подключение модовой экономики

# DayZ cfgeconomycore.xml: подключение модовой экономики `cfgeconomycore.xml` говорит серверу, какие economy-файлы использовать. Через него подключают стандартные `types.xml`, события, spawnabletypes и отдельные файлы модов. Путь: ```text mpmissions/dayzOffline.chernarusplus/cfgeconomycore.xml ``` ## Пример стандартного блока ```xml <ce folder="db"> <file name="types.xml" type="types" /> <file name="events.xml" type="events" /> <file name="spawnabletypes.xml" type="spawnabletypes" /> </ce> ``` ## Подключение отдельной папки ```xml <ce folder="custom"> <file name="types_custom.xml" type="types" /> <file name="events_custom.xml" type="events" /> </ce> ``` Так удобнее держать свои изменения отдельно от стандартных файлов. ## Зачем выносить моды отдельно Потому что потом проще обновляться. Если вы все запихнули в один огромный `types.xml`, через месяц уже непонятно, где ваниль, где мод, где ваша правка, а где случайно скопированная строка. ## Для RP/AOD без обычного лута Это очень важный файл. Вы можете выключить ванильный лут в основном `types.xml`, но мод может подключать свой economy-файл через `cfgeconomycore.xml`. И тогда на карте снова появятся вещи. Проверяйте все подключенные папки: - `db`; - `custom`; - папки модов; - economy-паки от сборок; - файлы, которые добавлялись “временно”. ## Как отключить модовый лут Варианты: 1. Убрать подключение файла из `cfgeconomycore.xml`. 2. В самом модовом `types` поставить `nominal 0` и `min 0`. 3. Оставить только нужные предметы. Я обычно предпочитаю второй вариант: файл остается на месте, но лут явно выключен. ## Частая ошибка После установки мода забывают подключить его `types.xml`, а потом предметы есть в админке, но не появляются на карте. И обратная ситуация: хотели убрать лут, но забыли, что модовый файл все еще подключен. ## Итог `cfgeconomycore.xml` - это список источников экономики. Если вы не знаете, что в нем подключено, вы не контролируете экономику сервера.

DayZ SA / Настройка сервера Todtleben 0 ответов3 просмотров
DayZcfggameplay.jsongameplayJSON

DayZ cfggameplay.json: полный разбор настроек

# DayZ cfggameplay.json: полный разбор настроек `cfggameplay.json` - файл настроек геймплея миссии. Он лежит рядом с `init.c`: ```text mpmissions/dayzOffline.chernarusplus/cfggameplay.json ``` Чтобы сервер использовал этот файл, в параметрах запуска обычно должен быть включен gameplay config. ## Что можно настраивать В зависимости от версии DayZ файл может содержать разные секции, но чаще всего встречаются: - `GeneralData`; - `PlayerData`; - `WorldsData`; - `BaseBuildingData`; - `UIData`; - `MapData`; - `VehicleData`. ## GeneralData Общие параметры поведения сервера и мира. Примеры того, что здесь может встречаться: - включение/отключение некоторых систем; - настройки взаимодействия с миром; - глобальные параметры симуляции. ## PlayerData Настройки игрока: - выносливость; - вес; - повреждения; - поведение камеры; - ограничения действий. Если делаете казуальный PvE-сервер, параметры игрока можно сделать мягче. Если хардкор - наоборот. ## WorldsData Настройки карты и мира. Сюда могут относиться параметры окружения, объектов и поведения мира. ## BaseBuildingData Настройки строительства: - ограничения постройки; - столкновения; - размещение объектов; - правила демонтажа. Для PvE обычно дают больше свободы. Для PvP лучше держать строгие ограничения, иначе игроки быстро найдут способы строить нечестные базы. ## UIData Настройки интерфейса. Например, элементы HUD, подсказки, маркеры и отображение информации. ## MapData Настройки карты: - доступность карты; - отображение позиции игрока; - маркеры; - навигационные элементы. Пример логики: - хардкор: позицию игрока не показывать; - PvE: можно показать позицию и маркеры; - RP: зависит от концепции сервера. ## VehicleData Параметры транспорта, если они доступны в вашей версии файла. ## Как редактировать безопасно 1. Сделайте копию `cfggameplay.json`. 2. Меняйте один блок за раз. 3. Проверяйте JSON на валидность. 4. Перезапускайте сервер. 5. Проверяйте `script.log` и поведение в игре. ## Частые ошибки - лишняя запятая в JSON; - неправильный тип значения: строка вместо числа; - параметр из другой версии DayZ; - включили настройку, но забыли параметр запуска сервера; - скопировали чужой файл целиком и потеряли настройки своей карты. ## Пример подхода Не пытайтесь сразу сделать “идеальный” `cfggameplay.json`. Лучше идти блоками: 1. Сначала карта и UI. 2. Потом строительство. 3. Потом параметры игрока. 4. Потом транспорт и дополнительные механики. Так проще понять, какая настройка реально изменила поведение сервера.

DayZ SA / Настройка сервера Todtleben 0 ответов5 просмотров
DayZмиссиянастройка сервераchernarusplus

DayZ: миссия сервера, структура папок и назначение файлов

# DayZ: миссия сервера, структура папок и назначение файлов Миссия сервера - это папка, где лежит большая часть настроек игрового мира: спавн игроков, погода, экономика, лут, события, зараженные, животные и часть серверной логики. Обычно путь выглядит так: ```text mpmissions/dayzOffline.chernarusplus/ mpmissions/dayzOffline.enoch/ ``` Название папки зависит от карты. Для ChernarusPlus чаще всего используется `dayzOffline.chernarusplus`, для Livonia - `dayzOffline.enoch`. ## Главные файлы миссии ### init.c Главный серверный скрипт миссии. Через него обычно настраивают: - стартовую экипировку игрока; - кастомный спавн; - поведение персонажа при первом входе; - вызовы серверных функций при старте миссии; - дополнительные проверки и служебную логику. Если вы ставите моды, которые требуют правки `init.c`, всегда делайте копию файла перед изменениями. ### cfgeconomycore.xml Файл подключает экономику карты и дополнительные economy-файлы. Через него можно подключать кастомные папки с лутом, событиями и типами. Пример: ```xml <ce folder="db"> <file name="types.xml" type="types" /> <file name="events.xml" type="events" /> <file name="spawnabletypes.xml" type="spawnabletypes" /> </ce> ``` ### cfgweather.xml Настройка погоды: облачность, дождь, туман, ветер, шторм, скорость изменения погоды. Этот файл влияет на атмосферу сервера сильнее, чем кажется. ### cfggameplay.json Современный JSON-файл с настройками игрового процесса. Через него включают и отключают часть механик: карту, маркеры, выносливость, строительство, поведение камеры, систему повреждений и другие параметры. ### db/types.xml Главный файл экономики предметов. В нем указывается: - какие предметы спавнятся; - сколько их должно быть на карте; - где они появляются; - сколько живут; - считаются ли предметы в cargo/attachments/player. ### db/events.xml События мира: вертолеты, полицейские машины, зараженные, животные, динамические события. ### db/cfgspawnabletypes.xml Настройка вложений и содержимого предметов. Например, какие attachments могут появляться на оружии или что может лежать внутри контейнера. ### cfgplayerspawnpoints.xml Точки спавна игроков. Используется стандартной системой спавна, если вы не переопределяете его через `init.c`. ## Что лучше не делать - Не редактируйте сразу рабочую миссию без бэкапа. - Не смешивайте десятки изменений за один раз. - Не используйте чужой `init.c` целиком, если не понимаете, что в нем происходит. - Не забывайте проверять XML на закрытые теги. ## Минимальный порядок проверки 1. Сделали изменение. 2. Проверили синтаксис файла. 3. Запустили сервер. 4. Посмотрели `script.log`, `crash.log`, `RPT`. 5. Зашли в игру и проверили именно тот сценарий, который меняли. Хорошая настройка сервера DayZ начинается не с большого количества модов, а с аккуратной миссии, понятной структуры и нормальных резервных копий.

DayZ SA / Настройка сервера Todtleben 0 ответов2 просмотров
DayZмиссияinit.cскрипты

DayZ init.c: полное описание основных функций

# DayZ init.c: полное описание основных функций `init.c` - это главный скрипт миссии, который выполняется сервером при запуске и при создании персонажей. Именно здесь чаще всего делают стартовый лут, кастомный спавн и серверную инициализацию. ## main() Функция `main()` вызывается при запуске миссии. Типичный пример: ```c void main() { Hive ce = CreateHive(); if (ce) ce.InitOffline(); } ``` `CreateHive()` создает economy-систему, а `InitOffline()` запускает экономику миссии. Без этого лут, события и часть серверной экономики могут работать неправильно. ## CreateCustomMission() Эта функция возвращает класс миссии. ```c Mission CreateCustomMission(string path) { return new CustomMission(); } ``` Если вы создаете свой класс `CustomMission`, сервер должен вернуть именно его. ## class CustomMission: MissionServer Класс, где обычно переопределяют серверную логику. ```c class CustomMission: MissionServer { override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { Entity playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE"); Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); return m_player; } override void StartingEquipSetup(PlayerBase player, bool clothesChosen) { player.RemoveAllItems(); player.GetInventory().CreateInInventory("TShirt_Black"); player.GetInventory().CreateInInventory("Jeans_Black"); player.GetInventory().CreateInInventory("AthleticShoes_Black"); } } ``` ## CreateCharacter() Отвечает за создание персонажа. Здесь можно изменить позицию спавна, направление, тип персонажа и дополнительные параметры. Самое важное: - `identity` - игрок; - `pos` - позиция спавна; - `characterName` - модель персонажа; - `GetGame().CreatePlayer(...)` создает персонажа; - `GetGame().SelectPlayer(...)` привязывает игрока к созданному персонажу. ## StartingEquipSetup() Вызывается при выдаче стартового снаряжения. Здесь обычно делают: - удаление стандартных вещей; - выдачу одежды; - выдачу еды, ножа, карты, бинтов; - рандомные наборы; - разные наборы для разных сценариев. ## GetGame().CreateObject() Создает объект в мире. ```c Object obj = GetGame().CreateObject("Apple", "7500 0 7500", false, true); ``` Для предметов в инвентаре лучше использовать `CreateInInventory()`. ## GetInventory().CreateInInventory() Создает предмет внутри инвентаря игрока или другого предмета. ```c ItemBase knife = ItemBase.Cast(player.GetInventory().CreateInInventory("KitchenKnife")); ``` ## EntityAI и ItemBase `EntityAI` - базовый тип для игровых объектов с инвентарем. `ItemBase` удобен для предметов, у которых можно менять количество, здоровье и другие параметры. Пример: ```c ItemBase apple = ItemBase.Cast(player.GetInventory().CreateInInventory("Apple")); if (apple) apple.SetQuantity(100); ``` ## Ошибки, которые часто ломают init.c - лишняя или пропущенная фигурная скобка; - неправильное имя класса предмета; - попытка положить большой предмет в маленькую одежду; - копирование кода из разных гайдов без объединения классов; - несколько `CreateCustomMission()` в одном файле. ## Совет После каждого изменения `init.c` проверяйте `script.log`. Если сервер не стартует после правки, почти всегда причина видна там: строка, класс, ошибка компиляции или неверный тип.

DayZ SA / Настройка сервера Todtleben 0 ответов3 просмотров
DayZevents.xmlсобытияhelicrash

DayZ events.xml: события, вертолеты, машины и динамический спавн

# DayZ events.xml: события, вертолеты, машины и динамический спавн `events.xml` управляет событиями на карте. Это не только вертолеты. Через события работают машины, зараженные, животные, dynamic events, полиция, военные места и много чего еще. Файл лежит тут: ```text mpmissions/dayzOffline.chernarusplus/db/events.xml ``` ## Пример события ```xml <event name="StaticHeliCrash"> <nominal>3</nominal> <min>1</min> <max>3</max> <lifetime>2500</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>1000</distanceradius> <cleanupradius>1000</cleanupradius> <flags deletable="1" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="10" lootmin="5" max="3" min="1" type="Wreck_Mi8_Crashed"/> </children> </event> ``` ## nominal, min, max `nominal` - сколько событий сервер хочет держать. `min` - ниже какого числа надо пытаться восстановить событие. `max` - максимум активных событий. ## lifetime Сколько событие живет, прежде чем будет удалено. ## saferadius Радиус безопасности. Событие не должно появляться слишком близко к игрокам. ## distanceradius Минимальная дистанция между событиями одного типа. ## cleanupradius Радиус очистки вокруг события после его завершения. ## active `1` - событие включено. `0` - событие выключено. Для RP-серверов это удобно: можно полностью отключить вертолеты, полицейские аварии или лишние динамические объекты. ## position `fixed` - событие использует заданные позиции из файлов карты. `player` - событие может зависеть от игроков. `custom` и другие варианты зависят от типа события и карты. ## children Дочерние объекты события. Например, какой именно вертолет или машина появится. ## Как отключить событие Самый понятный способ: ```xml <active>0</active> ``` Можно еще поставить: ```xml <nominal>0</nominal> <min>0</min> <max>0</max> ``` ## Для RP/AOD без свободного лута Если на сервере не должно быть случайных халявных источников лута, проверьте события особенно внимательно. Отключайте или переделывайте: - вертолетные крушения; - полицейские машины; - военные события; - события с контейнерами; - события модов, которые создают предметы. Иначе можно отключить лут в `types.xml`, но игроки все равно будут находить вещи через события. ## Частая ошибка Меняют `types.xml`, но забывают `events.xml`. Потом спрашивают: “откуда на карте оружие, если я его выключил?” Ответ часто именно здесь. ## Как проверять После правки: 1. Перезапустите сервер. 2. Посмотрите логи economy. 3. Подождите цикл спавна. 4. Проверьте места событий в игре или через админ-инструменты. События - это отдельная жизнь сервера. Если вы делаете серьезный проект, их нельзя оставлять на автопилоте.

DayZ SA / Настройка сервера Todtleben 0 ответов2 просмотров
DayZэкономикаglobals.xmlзараженные

DayZ globals.xml: системные лимиты экономики и мира

# DayZ globals.xml: системные лимиты экономики и мира `globals.xml` - файл, который часто трогают в последнюю очередь, хотя он влияет на поведение экономики, животных, зараженных и общие лимиты мира. Путь: ```text mpmissions/dayzOffline.chernarusplus/db/globals.xml ``` ## Что там обычно настраивают Внутри файла идут значения формата: ```xml <var name="AnimalMaxCount" type="0" value="200"/> ``` Название параметра говорит, за что он отвечает. Значение задается в `value`. ## Примеры важных параметров `AnimalMaxCount` - общий лимит животных. `ZombieMaxCount` - общий лимит зараженных. `CleanupLifetimeDeadAnimal` - время очистки мертвых животных. `CleanupLifetimeDeadPlayer` - время очистки тел игроков. `CleanupLifetimeRuined` - время жизни уничтоженных предметов. `SpawnInitial` - поведение начального спавна экономики. Названия могут отличаться в зависимости от версии игры и карты, поэтому не копируйте чужой файл вслепую. ## Для чего это реально нужно Если сервер лагает, мало просто удалить пару модов. Иногда проблема в слишком больших лимитах: - много зараженных; - много животных; - долго лежат трупы; - долго лежат испорченные предметы; - экономика держит слишком много объектов. ## Для RP/AOD-серверов Если у вас нет обычного лута и основной упор на RP, `globals.xml` помогает сделать мир чище. Можно: - уменьшить количество зараженных; - уменьшить количество животных; - ускорить очистку мусора; - сделать меньше случайной нагрузки на сервер. Но не выкручивайте все в ноль без тестов. Иногда моды или сценарии рассчитывают, что часть систем мира работает. ## Как менять правильно 1. Сохраните оригинал. 2. Измените 1-2 параметра. 3. Перезапустите сервер. 4. Посмотрите FPS сервера и логи. 5. Проверьте поведение в игре. ## Мой совет `globals.xml` - это не место для “рандомных цифр из интернета”. Он может помочь оптимизации, но может и сломать привычное поведение мира. Меняйте спокойно, с бэкапом и пониманием, зачем трогаете конкретную строку.

DayZ SA / Настройка сервера Todtleben 0 ответов2 просмотров