TimeDestruction
Описание: Эта модификация позволяет изменять со стороны вашего сервера 3 значения времени разрушения построек: 1) Время разрушения построек снаружи 2) Время разрушения построек изнутри 3) Время спиливания замка Время можно настроить как для рейда с всех предметов на какой-либо конкретный элемент постройки здания, либо какой-либо конкретный предмет, используемый для рейда того или иного элемента постройки, так и для… (more)
Описание: Эта модификация позволяет изменять со стороны вашего сервера 3 значения времени разрушения построек: 1) Время разрушения построек снаружи 2) Время разрушения построек изнутри 3) Время спиливания замка Время можно настроить как для рейда с всех предметов на какой-либо конкретный элемент постройки здания, либо какой-либо конкретный предмет, используемый для рейда того или иного элемента постройки, так и для вообще всех элементов постройки и предметов, используемых для рейда! Особенности: * Модификация не имеет возможности отключения возможностей спиливания замка или разрушения отдельных элементов конструкций. * Модификация позволяет устанавливать индивидуальное время разрушения для элементов построек. * Модификация позволяет устанавливать индивидуальное время разрушения для предметов, используемых для разрушения построек. * Модификация позволяет устанавливать индивидуальное время разрушения для всех предметов, и построек, не заданных отдельно, для каждого конкретного случая и ситуации. * Модификация действует исключительно для построек, имеющихся в игре по умолчанию, либо которым можно построить. Работоспособность с другими элементами построек и постройками из модификаций возможна, но не гарантируется! * Модификация действует исключительно для предметов, имеющихся в игре по умолчанию. Работоспособность с другими предметами из модификаций возможна, но не гарантируется! Установка: Для клиента игры: 1) Подписаться на модификацию 2) Запустить DayZ Launcher и включить модификацию 3) Играть на сервере с данной модификацией! Для сервера игры: 1) Подписаться на модификацию 2) Запустить DayZ Launcher и подождать, пока программа обнаружит новую модификацию 3) В папке с установленной игрой из папки '!workshop' найти и скопировать модификацию '@TimeDestruction' на сторону сервера 4) Включить модификацию на стороне сервера параметром '-mod=@TimeDestruction' 5) Убедиться, что системная переменная 'Profile' обозначена в параметрах запуска сервера. Если не обозначена, то вам нужно обозначить ее, например, вот так: -profile=Instance 6) В папку системной переменной 'Profile' сервера поместить нужный вам файл конфигурации из папки 'ServerConfigs' (лежит внутри папки '@TimeDestruction' с модификацией) 7) Запустить сервер, дождаться его полной загрузки и выключить. Убедиться, что в 'scripts.log' отсутствуют ошибки в блоках журнала '[#TimeDestructionMod]' по чтению конфигурации. 8) В папке директории системной переменной 'Profile' (в примере выше - папка Instance) найти файл 'Config_TimeDestruction.json' и отредактировать время на нужные вам значения. Формат для редактирования конфигурации будет отдельно ниже! Время указывается в секундах! По умолчанию установлено стандартное время разбора, установленное разработчиками игры. 9) Запустить сервер и играть. Инструкции по настройке модификации: Инструкции по настройке модификации, примеры, а также наглядное описание модификации и ее параметров настройки читайте в файле ReadMe.rtf внутри папки с самой модификацией, написанной на на двух языках. ВАЖНО!!! Данная модификация работает только со стенами, кодовыми замками и прочими предметами, родными для игры (имеющиеся в ней по-умолчанию). Работоспособность на вещах, добавленных с других модификаций, не гарантируется! Дополнительно: Данная модификация работает только со стенами, кодовыми замками и прочими предметами и постройками, родными для игры (имеющиеся в ней по умолчанию). Работоспособность на предметах и постройках, добавленных с других модификаций, не гарантируется! Данные, генерируемые по умолчанию модификацией, не могут быть загружены в более полном виде, поскольку имеются проблемы с автоматической генерацией файла конфигурации json-формата сервером игры (баг игры). Для авторов других модификаций: В кодах моей модификации добавлена специальная переменная-метка, которая будет определена в случае, если данная модификация подключена у игрока. Используйте ее в своем коде своей модификации на случай, если хотите подружить свою модификацию с этой в не обязательном порядке! (подсказка: смотрите описание и работу метода #define в языках программирования c++ и c#).
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
Every server-visible override preserves its chain.
less than 0.001% of each server frame at 100 players (0.000 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 36 others share it. Ranked list.
Event hooks carry 99% of this mod's structural load. 0.000 ms/s in all.
1 hook · 0.0002 ms/s
1 hook · 0.000002 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 1 hook | 0.0002 ms/s | 99% | PlayerBase.OnRPC |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 1 hook | 0.000002 ms/s | 1.0% | MissionServer.OnInit |
Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.
Where this mod runs often
Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.
Other findings
super() only on some paths · 3 · warning
- ActionDestroyCombinationLockCB.CreateActionComponent calls super.CreateActionComponent() only on some paths — on the others the chain below this mod is dropped.
TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDestroyCombinationLock.c:3 - ActionDestroyPartCB.CreateActionComponent calls super.CreateActionComponent() only on some paths — on the others the chain below this mod is dropped.
TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDestroyPart.c:3 - ActionDismantlePartCB.CreateActionComponent calls super.CreateActionComponent() only on some paths — on the others the chain below this mod is dropped.
TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDismantlePart.c:3
- ActionDestroyCombinationLockCB.CreateActionComponent calls super.CreateActionComponent() only on some paths — on the others the chain below this mod is dropped.
Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.
How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.
Everything else
All 6 overrides
Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.
| method | surface | server | super() | where |
|---|---|---|---|---|
ActionDestroyCombinationLockCB.CreateActionComponent |
— | yes | conditional | TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDestroyCombinationLock.c:3 |
ActionDestroyPartCB.CreateActionComponent |
— | yes | conditional | TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDestroyPart.c:3 |
ActionDismantlePartCB.CreateActionComponent |
— | yes | conditional | TimeDestruction.pbo::4_World\Classes\UserActionsComponent\Actions\Continuous\ActionDismantlePart.c:3 |
MissionServer.OnInit |
T3 | yes | ✓ | TimeDestruction.pbo::5_Mission\mission\missionServer.c:4 |
PlayerBase.OnRPC |
T2 | yes | ✓ | TimeDestruction.pbo::4_World\Entities\ManBase\PlayerBase.c:7 |
PlayerBase.OnConnect |
— | yes | ✓ | TimeDestruction.pbo::4_World\Entities\ManBase\PlayerBase.c:27 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
PlayerBase.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
MissionServer.OnInit | T3 | 0.1 | placeholder | 0.0000 |
Includes 0.000 ms/s from placeholder-rated surfaces.
Load-order constraints (CfgPatches)
What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.
TimeDestruction.pbo
TimeDestructionrequiredVersion 0.1 — requiresDZ_Data,DZ_Gear_Camping
census 1.1 · findings 1.1 · hash aca86489b41f233b