Winter Chernarus
NOTICE TO ALL SERVER OWNERS AND PLAYERS As you may be aware, the official Winter Chernarus mod is no longer receiving updates and support through this mod. I am still supporting development through a seperate mod which will be below. This is due to collaborators on Steam not being able to update through typical means and I am the only one actively developing the mod for compatibility and feature additions. Please… (more)
NOTICE TO ALL SERVER OWNERS AND PLAYERS As you may be aware, the official Winter Chernarus mod is no longer receiving updates and support through this mod. I am still supporting development through a seperate mod which will be below. This is due to collaborators on Steam not being able to update through typical means and I am the only one actively developing the mod for compatibility and feature additions. Please download the below mod. Winter Chernarus V2 https://steamcommunity.com/sharedfiles/filedetails/?id=2981609048 I would like to thank the entire Winter Chernarus team for their continuous effort through the years and I hope them all well in their future endeavours. -Lad END NOTICE Video showcasing the mod by 3RNO https://www.youtube.com/watch?v=B2N3fuQuEfU&t This mod is a retexture mod first and foremost. Lots of limitations with this game engine so if something is done its been done in a specific way due to time constraints that I have & it being the only way to do things. This mod is a "seamless" transition from fall to winter setting once loaded on the client, no models or map files have been touched only textures have been edited, meaning you dont need to do ANYTHING besides load with this mod for it to work, on server and client. It is not and will not be possible to have this mod loaded and play on regular chernarus, the mod is more or less a brute force way of retexturing models. I retextued something near 300-500 textures by hand to remove the leaves and do recoloring. Server owners, I suggest you check out some of the winter equipment mods and pad out your loot table with winter camo for players to obtain, AND I strongly suggest to increase the wind and overcast values on average to take full advantage of the temperature system. Future updates will probably be random but I wont spam updates and annoy you, I work on another project basically full time so I can only do modding work on an irregular basis, nonetheless I plan to continue to support this mod and continue to do polish work going forward if I have some spare time sitting around and want to do something else other then play games. :P Thanks to DrDeSync for the thumbnail! NOTE: For Namalsk Survival compatibility read below Navigate to your DayzServer -> ServerProfile -> WinterChernarus -> WinterSettings.json, open this with a text editor and make sure these two settings have a "0" at the end of them, this disables our custom scripts so they dont interfere with any other mods that influence temperature. { "Force winter months": 0, "Use modded body temperature": 0 } This should resolve any bugs with compatibility, its up to you to then further integrate other aspects into your servers mission and whatnot, thanks.
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.OnMissionStart |
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 · 9 · warning
- Environment.ProcessItemsHeat calls super.ProcessItemsHeat() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\Environment\Environment.c:152 - HeatComfortAnimHandler.Process calls super.Process() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\HeatComfortAnimHandler.c:50 - InfluenzaAgent.CanAutoinfectPlayer returns true without consulting super.CanAutoinfectPlayer() on some paths — vanilla's conditions and every earlier-loaded mod's vetoes are bypassed there.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\TransmissionAgents\Agents\InfluenzaAgent.c:25 - InfluenzaAgent.Init calls super.Init() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\TransmissionAgents\Agents\InfluenzaAgent.c:3 - PlayerBase.FreezeCheck calls super.FreezeCheck() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:13 - Thermometer.GetTemperatureValue calls super.GetTemperatureValue() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Entities\ItemBase\Thermometer.c:3 - WarmthNotfr.DetermineLevel calls super.DetermineLevel() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:13 - WarmthNotfr.DisplayTendency calls super.DisplayTendency() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:40 - WarmthNotfr.GetObservedValue calls super.GetObservedValue() only on some paths — on the others the chain below this mod is dropped.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:63
- Environment.ProcessItemsHeat calls super.ProcessItemsHeat() only on some paths — on the others the chain below this mod is dropped.
Checks answered without super() · 1 · warning
- ChernarusPlusData.WeatherOnBeforeChange returns its own answer without consulting super.WeatherOnBeforeChange() — vanilla's conditions on this check, and those of every earlier-loaded mod, no longer apply. Intended when a mod owns the rule outright; otherwise it is how another mod's restriction quietly stops working.
chernarus_winter_scripts.pbo::scripts\4_World\Classes\Worlds\ChernarusPlus.c:33
- ChernarusPlusData.WeatherOnBeforeChange returns its own answer without consulting super.WeatherOnBeforeChange() — vanilla's conditions on this check, and those of every earlier-loaded mod, no longer apply. Intended when a mod owns the rule outright; otherwise it is how another mod's restriction quietly stops working.
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 16 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 |
|---|---|---|---|---|
ChernarusPlusData.WeatherOnBeforeChange |
— | yes | ✗ none | chernarus_winter_scripts.pbo::scripts\4_World\Classes\Worlds\ChernarusPlus.c:33 |
Environment.GetWetDelta |
— | yes | ✗ none | chernarus_winter_scripts.pbo::scripts\4_World\Classes\Environment\Environment.c:4 |
Environment.ProcessItemsHeat |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\Environment\Environment.c:152 |
HeatComfortAnimHandler.Process |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\HeatComfortAnimHandler.c:50 |
InfluenzaAgent.Init |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\TransmissionAgents\Agents\InfluenzaAgent.c:3 |
InfluenzaAgent.CanAutoinfectPlayer |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\TransmissionAgents\Agents\InfluenzaAgent.c:25 |
MissionServer.OnMissionStart |
T3 | yes | ✓ | chernarus_winter_scripts.pbo::scripts\5_Mission\Mission\MissionServer.c:32 |
ModifiersManager.Init |
— | yes | ✓ | chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerModifiers\ModifiersManager.c:3 |
PlayerBase.FreezeCheck |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:13 |
PlayerBase.OnRPC |
T2 | yes | ✓ | chernarus_winter_scripts.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:37 |
PlayerBase.OnPlayerLoaded |
— | yes | ✓ | chernarus_winter_scripts.pbo::scripts\4_World\Entities\ManBase\PlayerBase.c:56 |
PlayerStatsPCO_current.Init |
— | yes | ✓ | chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerStats\PlayerStatsPCO.c:8 |
Thermometer.GetTemperatureValue |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Entities\ItemBase\Thermometer.c:3 |
WarmthNotfr.DetermineLevel |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:13 |
WarmthNotfr.DisplayTendency |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:40 |
WarmthNotfr.GetObservedValue |
— | yes | conditional | chernarus_winter_scripts.pbo::scripts\4_World\Classes\PlayerNotifiers\Notifiers\WarmthNotfr.c:63 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
PlayerBase.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
MissionServer.OnMissionStart | 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.
Winter_Expansion.pbo
Winter_expansionrequiredVersion 0.1 — requiresDZ_Data,DZ_Surfaces,DZ_Characters,DZ_Sounds_Effects
Winter_Expansion_Zombies.pbo
Winter_expansion_ZombiesrequiredVersion 0.1 — requiresDZ_Data,DZ_Surfaces,DZ_Characters
chernarus_winter_scripts.pbo
chernarus_winter_scriptsrequiredVersion 0.1 — requiresDZ_Scripts,DZ_Data
plants_trees_winter.pbo
DZ_PlantsrequiredVersion 0.1 — no requiredAddons
surfaces_winter.pbo
DZ_Surfaces_WinterrequiredVersion 0.1 — requiresDZ_Data
census 1.1 · findings 1.1 · hash 46659316fa40eb5b