← modperf · analyzed mods

DayZ-Dog

Description You can now have a dog companion! Your dog can follow you, attack infected or wait in place for you. Every player can have one dog. You can get your own dog from dog house if you have a bone. You can also tame wild dog feeding him by bones or meat. Server admins will determine where dog houses are placed on the map or can setup dog territories in villages and towns (example configs shipped with mod).… (more)

Description You can now have a dog companion! Your dog can follow you, attack infected or wait in place for you. Every player can have one dog. You can get your own dog from dog house if you have a bone. You can also tame wild dog feeding him by bones or meat. Server admins will determine where dog houses are placed on the map or can setup dog territories in villages and towns (example configs shipped with mod). InstallationCopy @DayZ-Dog from your !Workshop folder to your server folder ( or if you are using a server panel, just add the mod )Copy the bikey file from the Keys folder to your server's keys folderAdd entries from the example types.xml to your server's types.xml (not a full file replacer)Add this mod to your "-mod=" parameter in your server's start command lineRun the server once to create the server config file located in YourServersProfilesFolder/Dayz-Dog together with mod are now shipped example configs for adding territories for wild tameable dogs (look inside first, not copy paste!) Enjoy How it works ‏‏‎‏‏‎‏‏‎- You can get your own dog interacting with dog house with a bone (or defined item in server config) in your hands ‏‏‎‏‏‎‏‏‎- If you not able interact with dog house, commit suicide to reset dog status - You can tame wild dog using bones or meat ‏‏‎‏‏‎‏‏‎- Each player can have only one dog ‏‏‎‏‏‎‏‏‎- You can select which dog you like. Currently you can choose from: German Shepherd (more variants) Siberian Husky (more variants) Czechoslovak Wolfdog ( WIP reskin of shepherd ) Golden Retriever Belgian Shepherd Doberman Bullterrier RottweilerAkita Inu Labrador Dalmatian PitbullGerman PointerSaint BernardColie BorderColie BoxerViszla ‏‏‎‏‏‎‏‏‎- Your dog is "logged off" and "logged in" together with you ( the dog will stay in the last known location ) ‏‏‎‏‏‎‏‏‎- You can whistle to call (teleport) dog to you (See game options > keybinds) ‏‏‎‏‏‎‏‏‎- Dogs have 3 modes: follow, patrol and stay here. Follow ( switched automatically to patrol mode when an infected in range targets you ) Patrol ( can attack nearby infected ) Stay Here ‏‏‎‏‏‎‏‏‎- When in follow mode, your dog can enter a vehicle with you ‏‏‎‏‏‎‏‏‎- You can control your dog using emotes too. ‏‏‎‏‏‎‏‏‎- Watch out for your companion, if your dog gets too injured they will die! ‏‏‎‏‏‎‏‏‎- If you die, you will lose your dog! Videos: How dogs attack infected Hunting Deer Known Issues I know this mod is not perfect, be patient as it is a work in progress! The dog is sometimes very lazy and doesn't want follow you The dog sometimes wanders off, whistle to call him back Sometimes is not played eating/taming animation Likely more Background Information This mod prototype was created by HennySea. His prototype works only in offline mode. I got an offer to finish this mod. I added server logic and new code for selecting dogs. A lot of friends helped me purchase assets from cgtrader and turbosquid. Genius modellers and Sajid_Alfa helped import these models to into the game. Rag Tyson helps me with dog shed models and their scripts. Mrtea101 did custom animations. MarioE and MDC given me lot of very useful hints. I must say this mod is just teamwork. Thanks guys for help with this mod! Permissions You are not allowed to repack or reupload this mod! You are allowed look into mod for learning purposes or if you would like know how it works... This mod is owned by ACTIVEROLE Mod is allowed be part of these server packs: ACTIVEROLE servers The Expendables DayZ S.T.A.L.K.E.R Shadow of Survival DayzUnderground & DDU have permission to use Rottweiler, Dobermann, Shepherd and Pitbull models from this mod. This item is not authorized for posting on Steam, except under these Steam accounts: Fenwichs456 ESPACTIVEROLE Hunterz Contributors ( only if direct authorization is given by the author of this item ) Support and Feedback If you have any questions, visit my Discord https://discord.gg/49FvN7rRpF or directly as HunterzCZ#4660 Any feedback is welcome! -Hunterz- Si tiene alguna pregunta, la mejor manera de ponerse en contacto conmigo en discord 🅵🅴🅽🆆🅸🅲🅷🆂456#2928 Credits - HennySea - original author of this mod, a big thanks for your working prototype - Leo - genius modeller, would be impossible create this mod without your fantastic work - Lusk-Hlynge - we cooperated for a very long time, testing started with his sheperd model - Fenwichs456 - Tested well on his servers - Rag Tyson - helps me with dog shed models and scripts for these assets - TH - created menu layout for selecting dog spawn - Sotty - created logo and graphics for this mod - Windstride - retexture of shepherd (black) and eye fixes - MarioE - explained the basics of animations and helped me with a lot of things - Mrtea101 - he is working on custom animations - Misho - help with rottweiler dog and dog models in general - Sajid_Alfa - new dog models, he is now very experienced, big thanks - jye07 - retexture of shephers to czechoslovak wolfdog - dustypeek - he creating awesome assets for mods - MDC - big help with advanced scripts - All translators who help me translate mod for more languages - Big thanks to all who helps me purchase assets from cgtrader and turbosquid - All authors of dog models and other assets

Workshop 2471347750 · mod updated 2026-10-15 · analyzed 2026-10-15 19:28 UTC · history · 88 script files

AnimationCharacterMechanicsProps Workshop tags, chosen by the author

Stall risks
None found

No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.

Compatibility
Chain-safe

Every server-visible override preserves its chain.

Structural footprint 1.1
A
clean
Heavier than 83% of 328 scripted mods analyzed.

0.0338% of each server frame at 100 players (0.338 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.

Where this mod sits

Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 25 others share it. Ranked list.

20
40
60
  • 24 mods
    0.0000022 to 0.0000046 ms/s · grade A
  • 7 mods
    0.0000046 to 0.00001 ms/s · grade A
  • 1 mod
    0.00001 to 0.000022 ms/s · grade A
  • 1 mod
    0.000022 to 0.000046 ms/s · grade A
  • 37 mods
    0.0001 to 0.00022 ms/s · grade A
  • 26 mods
    0.00022 to 0.00046 ms/s · grade A
  • 33 mods
    0.00046 to 0.001 ms/s · grade A
  • 22 mods
    0.001 to 0.0022 ms/s · grade A
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • 5 mods
    0.01 to 0.022 ms/s · grade A
  • 18 mods
    0.022 to 0.046 ms/s · grade A
  • 17 mods
    0.046 to 0.1 ms/s · grade A
  • 41 mods
    0.1 to 0.22 ms/s · grade A
  • This mod
  • 28 mods
    0.46 to 1 ms/s · grade A
  • 8 mods
    1 to 2.2 ms/s · grade A to B
  • 10 mods
    2.2 to 4.6 ms/s · grade B
  • 1 mod
    4.6 to 10 ms/s · grade B to C
A316
B11
C1
D0
E0
ms/s, log scale: each labelled step is ten times the one before. Letter grade and mods holding it below the axis.
Where the load comes from

Repeating timers carry 98% of this mod's structural load. 0.338 ms/s in all.

Event hooks · 2.4%
10 hooks · 0.008 ms/s
Lifecycle hooks · <0.1%
3 hooks · 0.000006 ms/s
98%Repeating timers · 98%
2 timers · 0.33 ms/s
Event hooksrun when something happens: an inventory move, a hit, an action 10 hooks 0.008 ms/s 2.4% ItemBase.EEItemLocationChanged, PlayerBase.EEItemAttached, BandageDressing.SetActions and 7 more
Lifecycle hooksrun when an entity is created, loaded or deleted 3 hooks 0.000006 ms/s <0.1% AnimalBase.EEKilled, MissionServer.OnMissionFinish, MissionServer.PlayerDisconnected
Repeating timersstay in the timer queue, which is walked every frame 2 timers 0.33 ms/s 98% 2 × every frame

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.

EEItemAttached on PlayerBase
every inventory move
no I/O, timers or RPC
EEItemLocationChanged on ItemBase
every inventory move
no I/O, timers or RPC
SetActions × 3 classes
per event
no I/O, timers or RPC
EEHitBy × 2 classes
per event
no I/O, timers or RPC
CanDropEntity on PlayerBase
per event
no I/O, timers or RPC super() on some paths
CanReceiveAttachment on PlayerBase
per event
no I/O, timers or RPC super() on some paths
OnVariablesSynchronized on PlayerBase
per event
no I/O, timers or RPC

Other findings

What this report can tell you

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.

What it cannot

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 47 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.

methodsurfaceserversuper()where
ActionConstructor.RegisterActions — yes ✓ dayz_dog.pbo::scripts\4_world\actions\ActionConstructor.c:3
ActionGetInTransport.OnEndServer — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\ActionGetInTransport.c:3
ActionGetOutTransport.OnEndServer — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\ActionGetOutTransport.c:3
ActionManagerBase.ActionPossibilityCheck — yes conditional dayz_dog.pbo::scripts\4_world\overrides\ActionManagerBase.c:3
AnimalBase.CanBeTargetedByAI — yes conditional dayz_dog.pbo::scripts\4_world\overrides\AnimalBase.c:3
AnimalBase.EEKilled T3 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\AnimalBase.c:14
AttachmentCategoriesRow.RefreshSlot — yes ✓ dayz_dog.pbo::scripts\5_mission\PlayerContainer.c:94
AttachmentCategoriesRow.DoubleClick — yes conditional dayz_dog.pbo::scripts\5_mission\PlayerContainer.c:219
BandageDressing.SetActions T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\Bandages.c:3
CarScript.CanBeTargetedByAI — yes conditional dayz_dog.pbo::scripts\4_world\overrides\CarScript.c:3
DayZAnimalCommandAttackModdable.PreAnimUpdate — yes conditional dayz_dog.pbo::scripts\4_world\DayZAnimalCommandMoveModdable.c:35
DayZAnimalCommandMoveModdable.PreAnimUpdate — yes ✓ dayz_dog.pbo::scripts\4_world\DayZAnimalCommandMoveModdable.c:5
DayZPlayerImplement.ModCommandHandlerAfter — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\DayZPlayerImplement.c:112
DayZPlayerImplementThrowing.HandleThrowing — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\dayzplayerimplementthrowing.c:4
EmoteManager.PlayEmote — yes ✓ dayz_dog.pbo::scripts\4_world\emotemanager.c:3
EmoteManager.OnEmoteEnd — yes ✓ dayz_dog.pbo::scripts\4_world\emotemanager.c:12
EmoteManager.Update — yes ✓ dayz_dog.pbo::scripts\4_world\emotemanager.c:38
Hologram.ProjectionBasedOnParent — yes conditional dayz_dog.pbo::scripts\4_world\Hologram.c:4
Hologram.EvaluateCollision — yes conditional dayz_dog.pbo::scripts\4_world\Hologram.c:21
IntroSceneCharacter.CharacterLoad — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\IntroSceneCharacter.c:4
ItemBase.EEItemLocationChanged T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\ItemBase.c:4
MissionBase.CreateScriptedMenu — yes ✓ dayz_dog.pbo::scripts\5_mission\missionBase.c:2
MissionGameplay.OnUpdate T0 yes ✓ dayz_dog.pbo::scripts\5_mission\MissionGameplay.c:26
MissionServer.OnMissionFinish T3 yes ✓ dayz_dog.pbo::scripts\5_mission\MissionServer.c:19
MissionServer.PlayerDisconnected T3 yes ✓ dayz_dog.pbo::scripts\5_mission\MissionServer.c:25
ModItemRegisterCallbacks.RegisterHeavy — yes ✓ dayz_dog.pbo::scripts\4_world\ModItemRegisterCallbacks.c:3
ModItemRegisterCallbacks.RegisterTwoHanded — yes ✓ dayz_dog.pbo::scripts\4_world\ModItemRegisterCallbacks.c:17
PlayerBase.Init — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:22
PlayerBase.EEHitBy T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:32
PlayerBase.EOnContact — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:107
PlayerBase.EEItemAttached T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:126
PlayerBase.CanJump — yes conditional dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:134
PlayerBase.SetActions T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:203
PlayerBase.OnVariablesSynchronized T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:218
PlayerBase.CanDropEntity T2 yes conditional dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:383
PlayerBase.CanReceiveAttachment T2 yes conditional dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:392
PlayerBase.CanBeTargetedByAI — yes conditional dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:569
PlayerBase.OnCommandDeathStart — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:753
PlayerBase.OnConnect — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:762
PlayerBase.OnDisconnect — yes ✓ dayz_dog.pbo::scripts\4_world\overrides\PlayerBase.c:821
PlayerContainer.ItemAttached — yes conditional dayz_dog.pbo::scripts\5_mission\PlayerContainer.c:6
PlayerContainer.MouseClick — yes conditional dayz_dog.pbo::scripts\5_mission\PlayerContainer.c:36
PlayerContainer.DoubleClick — yes conditional dayz_dog.pbo::scripts\5_mission\PlayerContainer.c:55
PluginRecipesManager.RegisterRecipies — yes ✓ dayz_dog.pbo::scripts\4_world\classes\recipies\recipies\pluginrecipesmanagerbase.c:3
Rag.SetActions T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\Bandages.c:12
ZombieBase.EEHitBy T2 yes ✓ dayz_dog.pbo::scripts\4_world\overrides\zombiebase.c:10
ZombieBase.CanBeTargetedByAI — yes conditional dayz_dog.pbo::scripts\4_world\overrides\zombiebase.c:40
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
ItemBase.EEItemLocationChangedT2 130.0measured0.0032
PlayerBase.EEItemAttachedT2 130.0measured0.0032
BandageDressing.SetActionsT2 8.0placeholder0.0002
Rag.SetActionsT2 8.0placeholder0.0002
PlayerBase.EEHitByT2 8.0placeholder0.0002
PlayerBase.SetActionsT2 8.0placeholder0.0002
PlayerBase.OnVariablesSynchronizedT2 8.0placeholder0.0002
PlayerBase.CanDropEntityT2 8.0placeholder0.0002
PlayerBase.CanReceiveAttachmentT2 8.0placeholder0.0002
ZombieBase.EEHitByT2 8.0placeholder0.0002
AnimalBase.EEKilledT3 0.1placeholder0.0000
MissionServer.OnMissionFinishT3 0.1placeholder0.0000
MissionServer.PlayerDisconnectedT3 0.1placeholder0.0000

Repeating timers

period (ms)residency ms/sfiring ms/swhere
00.1400 0.024800dayz_dog.pbo::scripts\4_world\dog_shed_big\dog_shed_big.c:268
00.1400 0.024800dayz_dog.pbo::scripts\4_world\dog_shed_big\dog_shed_big.c:298

Includes 0.002 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.

0_DayzDogDefines.pbo

  • DayzDogDefines requiredVersion 0.1 — no requiredAddons

dayz_dog.pbo

  • Dayz_Dog requiredVersion 0.1 — requires DZ_Data, DZ_Scripts, DZ_Sounds_Effects, DZ_Animals, DZ_Characters, JM_CF_Scripts
  • DoggoDZ_AI requiredVersion 0.1 — requires DZ_Data, DZ_data_aiconfigs, DZ_AI

census 1.1 · findings 1.1 · hash 592ca71a5a2033fe