• Tracker

    Spaces
    Browse
    Statistics
  • /
  • /Stable Feedback
  • /DZG-1557
Back
1

locked-slot list on rebuilt houses is appended instead of replaced on load, which is what bloats building_001.bin

MultiplayerBugFeature RequestErrorPerformanceServerCentral EconomyBase Building
1

State

Open
Issue key
DZG-1557
Access
Public
Space
DayZ
Project
Stable Feedback
Creator
unpleme
Created
Oct 19, 2026
Views
6
Platform
PC Steam
What happened?

From the behaviour it looks like, on world load, a house's locked-slot list isn't replaced but added on top of whatever the object already holds in memory. If a house record gets applied to an object that already has that locked slot, the list doubles. The next save writes the doubled list back. And so on every restart, until the file hits 2 GiB and dies.

What you can see in the file and in backups:

1. Only rebuilt Land_House_* houses with a combination lock attached and locked are affected. Where there's only a digital code lock, it's clean, the locked-slot list is empty. That makes sense: a code lock blocks its own removal, while a combination lock locks the slot on the parent, i.e. on the house.

2. In an affected house's record the name Att_CombinationLock<N>_<Wood|Metal> comes in a batch, and the count in front of it is exactly the number of repetitions. And it's always a power of two.

3. It grows by the same factor every restart, no players needed for it. For those whose house is stored 4 times in the DB, the factor is x4 per load.

4. If you take the lock off in-game, the growth stops for that house. If you clean the file by hand (keep the unique names, fix the count), the server loads fine and the structures are intact. So the data itself is okay, it's the load/save handling that breaks.


As it is:
the old stays, the new gets appended, the list grows on every load, the record grows on every save, building_001.bin crosses 2 GiB. After that _EOF isn't written, and everything in the file after the affected object is lost. Hence the lost structures people are getting (https://report.bistudio.com/issues/DZG-1404, https://report.bistudio.com/issues/DZG-1440).

Aside:
why a house is stored 4 times in the DB in the first place I'm not touching here, that's a separate question. But the append-instead-of-replace on its own is already enough for the list to grow without bound, as soon as a record lands on an object that already has the slot.

Reproduction steps

Same as in https://report.bistudio.com/issues/DZG-1404 and https://report.bistudio.com/issues/DZG-1440.

1. Nasdara server, rebuild a Land_House_* and attach a combination lock to its door, set a code and lock it.

2. On a server that stores each building record 4 times, this is enough; the record is applied to an object that already holds the locked slot on the very first world load.

3. Restart the world a few times with no players.

4. Check the size of building_001.bin and look inside for the Att_CombinationLock<N>_<Wood|Metal> name: the count in front of its list keeps doubling every load.

Exact build version (optional)
1.30.164078
Where did it happen?
Community
Is it modded?
Unknown
Expected result

Loading a building record should be idempotent:
load the same record twice, same locked-slot list. The list should be set to exactly what's in the record, not added to, either reset before reading, or skip names that are already there, the way attaching a lock in-game already avoids adding a duplicate.

Reactions

Activity

    about 1 hour ago
  • unpleme
    created issueabout 1 hour ago

You are not signed in. Please sign in to see more details and to reply.

State

Open
Issue key
DZG-1557
Access
Public
Space
DayZ
Project
Stable Feedback
Creator
unpleme
Created
Oct 19, 2026
Views
6