Krabice Stash System
System Krabice is a powerful loot engine that I originally created for our project Stalker Survival due to the high performance hit on the server FPS in DayZ when using traditional inventory based entities. Each entity with an inventory causes unnecessary overhead on the server. Majority of the stash systems in DayZ modding community spawns empty containers with inventory or spawn items on the ground when interacted.
I also wanted to reuse existing static objects that look like an actual lootable container (e.g., pre-existing crates, shelves and many other objects that are as part of the map). In reality they are not lootable so this was a really good result to make a lot of pre-existing objects lootable.
I wanted to have the loot under control and the vanilla approach of pre-spawned loot on the ground for DayZ is decent, but very limited in terms of flexibility and scalability. So we offloaded the actual loot pool on the API side and created a flexible loot configuration with a lot of modifiers (spawn chance, count, variants, categories). We can also affect the loot based on custom conditions like player reputation, currently active quests and many other factors.
On top of that, we originally made loot zones based on a coordinate and radius, so we could easily determine in which zone the player is located and which object is looted. Based on this information we distribute the list of items back to the server and server itself spawn a dummy container that shows in the players vicinity and shares the same model as the looted object. This object has a very short lifetime and despawns after expiration or when the player loots it.
Spawner
To optimize the spawn placement of the lootable objects, we distribute the objects evenly within the area radius. This change allowed us to setup thousands of positions per area and choose the optimal distance between stashes. This spawning logic is also reused on the anomaly cluster system as well.
Loot Zones - Integration with Map Reader => Loot engine on steroids
This was probably the craziest thing that pushed the whole system to the next level. By using colored loot zones from the PNG map, we easily set the loot tiers and unique locations where we can control what type of loot is spawned.
Main Features
• Optimal stash distribution per type and area
• Big performance offload from the game thread
• Usage of static pre-existing objects to be lootable
• Hot reload of the world loot configuration
Technical Details
The Krabice system is built as a .NET 8 web console application that exposes a RESTful API for interaction with the game server. The configuration uses simple JSON files that we edit with our SSURV Launcher tool.
Tooling
We utilize our custom tool SSURV.Launcher made in .NET with usage of ImGUI library to edit the loot configurations.
Analytics Dashboard
To monitor the stash usage and loot distribution, I built a custom analytics dashboard with .NET Blazor




