Video Game Updates & Patch Notes

DayZ Update 1.21 Takes Us Back to Medieval Times, Patch Notes and more

A time-traveling update has landed in DayZ as the post-apocalyptic survival game now features medieval-themed gear and the first-ever spring-powered weapon, a crossbow. This unexpected twist came as part of the 1.21 update recently released on all platforms.

The new weapon, a crossbow, is a significant addition to the game, marking the first spring-powered weapon in DayZ. The crossbow fires deadly bolts and can be equipped with various sights and scopes, enhancing its lethal potential. Players can recover bolts after the shooting, although they will sustain some damage with each use. If players can’t find their bolts, they can create improvised ones, keeping their ammunition supply well-stocked.

While the crossbow is not strictly a medieval artifact, Bohemia Interactive has scattered an array of other medieval-themed items and clothing throughout the DayZ world. Specifics are being kept under wraps to maximize the surprise factor, but the new additions promise to be diverse enough to kit out a full-fledged survivor knight, ready for a castle siege. The full patch notes can be found below:

PC Stable 1.21 Update 1 – Version 1.21.156201 (Release on 23.05.2023)


  • Consider using the Steam client option to verify the integrity of the local game cache to avoid corrupted data after downloading this update.
  • Consider de-fragmenting your HDD after downloading large updates.
  • In case of problems, please check the Bohemia Interactive support F.A.Q.DayZ F.A.Q., or BattlEye F.A.Q.
  • You can help us to further improve the game by posting your feedback on the Feedback Tracker.



  • Crossbow and color variants
  • Bolts and Improvised Bolt variants
  • Sword
  • Mace
  • Chainmail
  • Chainmail Leggings
  • Chainmail Coif
  • Norse Helm
  • Chestplate
  • Medieval Boots
  • Wool Gloves with fingerless and color variants
  • Feathers
  • Game hints in the loading screen
  • Added new game hints
  • Thrown items and moving vehicles now move smoother on high refresh rate devices
  • Status icon for mild leg injuries
  • UI brightness can be adjusted in the settings
  • The character now spawns with items pre-assigned to their quickbar
  • Sound indicator when dying of thirst



  • Reworked falling damage impact depending on height
  • Updated the falling animation for medium heights
  • Removed the BattlEye license agreement prompt in-game (PC only – – private)
  • Tweaked sounds of doors with valve lock
  • Changed the horn sound of the M3S truck
  • Increased the audibility of explosions
  • Allowed eye gear to spawn on infected (
  • Login timers are now also displaying in minutes and hours
  • Zoom functionality is no longer reduced during fast movement in crouch or prone
  • Applied minor visual tweaks to the Great Helm
  • Reduced the weight of the plastic explosive by 60% (
  • Tweaked impact sounds for metallic objects depending on the targeted surface
  • Ripened horticulture plants now stay for twice as long before they start to decay
  • Increased the minimum amount of quick slots available to the player
  • Reduced the amount of additional quick slots given by certain gear
  • Interactions with a power generator now refresh the lifetime of it and all items connected to it (
  • Removed the “Loading…” text on the login timer
  • Washing hands is now a continuous action
  • Tweaked the width of all tire tracks
  • Changed the animation for pill consumption
  • Improved the visuals of the PSO-1, PSO-1-1 and P1-87-L Scopes
  • Reduced the reflection on the glass of scopes
  • Improvised fishing rod can now be dismantled
  • Adjusted position/rotation of individual weapons when carried on the shoulder (
  • Distant lights are much dimmer
  • Transition from close up light to distant is much smoother
  • Slightly increased the damage the Sarka 120 takes from impacts
  • The drying rate of items has been adjusted to correctly reflect item location and outside influences
  • Increased the duration of the wringing action
  • Adjusted inventory lighting to make the item previews more read-able (less over-exposed) and more in the style of UI (flatter lighting)
  • Reduced the chances of pristine weapons getting jammed when chambering a bullet
  • It was possible to see under the map while driving with vehicles in 3rd person
  • Reduced the view obstruction of the great helm
  • Adjusted the sizes of several dialogue boxes to better fit their texts
  • Items will now be placed to the side of vehicles when dropped


  • Fixed: Removed headtorches definitions from “cfgspawnabletypes.xml” and “cfgrandompresets.xml”
  • Fixed: Humvee wheels were not marked as “vehicleparts” causing them to often spawn in sheds instead of on wrecks
  • Fixed: Chickenfeather was missing from “types.xml”
  • Tweaked: Adjusted spawning of gloves to accommodate for the new wool gloves
  • Tweaked: Adjusted medieval loot spawns to accommodate new items
  • Tweaked: Reduced amount of 7.62×54 mm and 9×39 mm ammunition spawning


  • Fixed: Chernarus economy files included Livonia animal territories
  • Changed: Updated the Chernogorsk football field



  • Added: Object spawner supports direct p3d spawning (Documentation)
  • Added: Server config int parameter ‘networkObjectBatchSend’ (default = 10) which is how many objects within a players network bubble are sent to be created within a server frame ( (Documentation)
  • Added: Server config int parameter ‘networkObjectBatchCompute’ (default = 1000) which is how many objects within a players network bubble are processed to check if it already exists for the player within a server frame (Documentation)
  • Added: Optional logging for raising/lowering flags at flag poles (
  • Added: Object Spawner: “enableCEPersistency” which when set to true will make an object behave as configured by economy, otherwise it will not be saved in the server storage until a player puts it in inventory
  • Fixed: Script execution not functioning properly in certain situations depending on init.c ( – private)
  • Fixed Several inconsistencies in the admin logs (
  • Fixed: It was not possible to spawn infected with functional head torches attached (
  • Fixed: Items spawned before CE Init were not persistent
  • Changed: Shortcut for map toggling is not available if use3dMap option is enabled (


  • Fixed: Offline servers (in Favorites tab) now always appear after online servers
  • Tweaked: Offline servers (in Favorites tab) are now faded to clearly indicate they are offline


  • Added: WORKBENCH define for script which should only compiled on Workbench launch
  • Added: Defines Window to set up custom Workbench validation
  • Added: “Compile Core Builds scripts” option to Build menu (CTRL+ALT+F7) to compile multiple important build setups in a row
  • Added: Flags parameter to DayZPlayerUtils::SceneGetEntitiesInBox (
  • Added: Additional flags parameter for DayZPlayerUtils.SceneGetEntitiesInBox
  • Added: Class in CfgMods now auto generates a static (loaded before script compilation begins) script define (
  • Added: Class in CfgMods now supports “defines[]” text array which adds static script defines
  • Added: Support for adding static script defines in gproj with ScriptDefines -> ScriptDefinesClass (
  • Added: CGame::CreateStaticObjectUsingP3D
  • Added: ‘Serializer.CanWrite’/Serializer.CanRead’ to check if the serializer can be read or written to
  • Added: ‘IEntity.GetRenderTransform’
  • Added: Variable ‘DayZPlayerCameraResult.m_bUpdateEveryFrame’ to change camera update behaviour from fixed tick to unlocked frame rate
  • Added: Variable ‘DayZPlayerCameraResult.m_OwnerTM’ to override the transformation of the owner
  • Added: Ability to set proxy (inventory slot) offset per item in item config
  • Added: Methods for controlling brightness of UI (Widget.SetLV, Widget.SetTextLV, Widget.SetObjectLighting)
  • Added: “ignoregloballv” property flag to layout
  • Added: ‘HumanInputController.GetAimDelta’ to get the frame independent aim change
  • Added: ‘IEntity.AddChild’ can use pivot points on RV animated objects
  • Added: ‘Object.GetBonePivot(level, component)’ to retrieve the pivot index for the component in the shapes LOD
  • Added: Moved ‘GetBonePositionX’, ‘GetBoneRotationX’ and GetBoneTransformX’ to Object class, can be used on RV and Enfusion animated objects
  • Added: ‘DayZCreature.GetBoneIndexByName’
  • Added: Ability to set inventory lighting from config (top-level InventoryLighting config class)
  • Added: Exposed methods World::MarkObjectForPathgraphUpdate and World::ProcessMarkedObjectsForPathgraphUpdate
  • Added: ‘IEntity.GetHierarchyPivot’ to get the pivot point used when called with ‘IEntity.AddChild’
  • Added: CollisionInfo classes for OnProjectileStoppedInTerrain() and OnProjectileStoppedInObject(), which will fire for ALL projectiles that get stuck in objects
  • Added: InventorySlotsOffsets config class (on item/weapon), which can define position and rotation offset of an item when placed into a slot on the character
  • Added: Workbench: Defines: There is now a duplication check which will prevent the same define being present multiple times
  • Added: Workbench: Defines: “Combo” defines are now visible in defines window
  • Added: Object.GetShapeName to get full path of shape(
  • Added: ‘Car.SetBrakesActivateWithoutDriver’ to disable the handbrake while there is no driver inside the vehicle (
  • Added: ‘Car.GetClutch’ to get the value of the clutch
  • Added: ‘Car.SetClutchState’ to set if the clutch is disengaged
  • Added: ‘Car.EngineRPMMin’ to get the minimum rpm constant of the car engine
  • Added: ‘Car.EngineRPMIdle’ to get the idle rpm constant of the car engine
  • Added: Sample for driver-less cars (
  • Added: New config class EnvironmentWetnessIncrements for wetting and drying parameters that can be defined on any item (see Inventory_Base config class for the default settings)
  • Fixed: Transformation synchronization for script class ‘Transport’ when the vehicle is inactive (
  • Fixed: EntityAI which were previously reported as Object in script will now be properly reported as EntityAI (
  • Fixed: ‘typename.GetVariableValue’ would not check inheritance
  • Fixed: Crash when calling methods on inventory owner in GameInventory.Init
  • Fixed: Crash on DayZCreatureAIInputController::GetMovementSpeed() (
  • Fixed: ClientConnectedEvent not giving the proper UID
  • Changed: CGame.CreateStaticObjectUsingP3D, EntityAI.SetObjectMaterial and EntityAI.SetObjectTexture now disallows absolute paths and support ‘$’ prefixed paths
  • Changed: Man.SetFaceTexture and Man.SetFaceMaterial now disallows absolute paths and support ‘$’ prefixed paths
  • Changed: Moved ‘EntityAI.IsDayZCreature()’ to ‘Object’ class
  • Changed: Ignore detection of dropped items has partially been moved to script through overridable method ‘Object.CanBeIgnoredByDroppedItem’
  • Changed: ‘IEntity.AddChild’ (and ‘Human.LinkToLocalSpaceOf’) now synchronize the pivot and position only flags to clients (
  • Removed: Obsolete sound config parameters: drySound, reloadMagazineSound, reloadSound, reloadAction, shotAction, reloadSkips, soundBullet, disarmAction, soundBegin, soundBeginExt
  • Removed: ‘Protected’ keywords from PPEMatClassParameter* Update method variables (


  • Player position on server can be desynced while combat with Infected
  • Falling through terrain\object structure when going prone near objects
  • Other players can hear character’s groan when landing from a small height
  • Arrow disappears right after removing from Crossbow
  • A bolt is missing from Crossbow after reconnecting
  • Bolt stuck in an AI can be picked up into your inventory but not taken into hands
  • Bolt stuck in an item sometimes disappears when taken into inventory
  • String is not stretched when Crossbow is on shoulder or in the inventory
  • Minutes and seconds values are swapped while logging out with French set up
  • Cancelling the pulling back of the crossbow string will show it as loaded
  • Plants, Rocks spawned by Object Spawner are deleted after interaction
  • Loot spawned with Object spawner does not despawn if moved (
If you are a video game developer and you have a submission to make, you can mail us at

Angel Kicevski

I am ANGE1K. I started playing video games a long time ago. In a blink of an eye, I became a hardcore gamer. A couple of years later, I traversed to the professional Counter-Strike 1.6 scene. After the competitive ERA, I managed to find the gaming industry amusing and started working on FGR. 8 years after founding FGR, my mission remains the same. That is to discover secrets within the gaming industry, create guides for all the games I play, and provide you with some important news. Oh, yeah, I post tons of patch notes too. At the time, I play everything that seems reasonable to play, make content about it and help gamers to the best of my abilities. P.S. Last time I counted how many hours I've spent in video games turned out to be 13+ years. And that was a long time ago too. Almost 24/7 in front of PC. If you need anything, feel free to contact me on X!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button