Abandoned Bags
Set up bags players can search for loot, with optional infected encounters.

Abandoned Bags places searchable bags around your server. Players hold the search action to open one, then receive the loot you've configured. You can also spawn infected or other mobs when a bag is searched.
Get the mod on Steam Workshop · Installation guide · Get help
Get your first bags working
- Install the mod and start the server once to generate its configuration.
- Stop the server and open
$profile:AbandonedBags/AbandonedBags.json. - Choose a bag group, set its spawn points to locations on your map, and choose its rewards.
- Save your changes, restart, and visit a configured area to test a bag's search action.
Start with one group while you get comfortable with the settings. You can add more locations and rewards once that setup works.
Where to find your files
| File | What it's for |
|---|---|
$profile:AbandonedBags/AbandonedBags.json | Bag groups, locations, rewards, and timers. |
$profile:AbandonedBags/Logs/AbandonedBags_YYYY-MM-DD_HH-MM-SS.log | Log output for checking what the mod is doing. |
These paths are inside your server's profile directory. Set DebugLogs to 1 when you need extra detail in the logs.
Choose a bag type
Use these class names in BagClassNames:
AbandonedBag_AssaultAbandonedBag_MountainAbandonedBag_Drybag
Understand the main settings
Each entry in BagGroups brings together bag types, spawn points, rewards, and optional mobs.
- Rewards: use
LooseLootwith theLootlist, orLBPresetwith an LBMasterRewardPresetName. Each loose-loot entry gets its own chance roll when a bag is searched. - Locations:
SpawnPointssets where bags can appear.Radiusallows a random position around that point, andChancecontrols the chance of spawning during a spawn pass. - Limits:
GlobalMaxActivelimits bags across the server. Group and spawn-pointMaxActivesettings add limits for those specific areas. - Timing:
SearchSecondssets how long players hold the search action.ResetSecondsresets unopened bags;DeleteAfterOpenSecondsremoves searched bags. - Encounters:
SpawnMobsOnOpenenables mobs when a bag is searched. Choose their class names, chance, numbers, and distance inMobs.
Configuration example
Use this example to understand the fields in your generated file. The inline comments explain the settings; they're included here for reference.
View the full configuration example
{
"Enabled": 1, // Master enable/disable for the whole system
"DebugLogs": 0, // 0 = off, 1 = write extra logs to $profile:AbandonedBags/Logs
"GlobalMaxActive": 15, // Max active spawned bags across all groups
"BagGroups": [ // List of bag spawn/loot groups
{
"Name": "Chernarus Starter Bags", // Friendly name used in logs
"Enabled": 1, // 0 = disable this group, 1 = enable it
"LootCategory": "LooseLoot", // "LooseLoot" uses Loot; "LBPreset" uses RewardPresetName
"RewardPresetName": "", // LB Master preset name; only used with "LBPreset"
"Loot": [ // Loose loot entries; each rolls independently on search
{
"ClassName": "Rag", // Item classname to spawn
"Chance": 100.0, // Percent chance this item spawns
"MinQuantity": 1, // Minimum item quantity
"MaxQuantity": 6, // Maximum item quantity
"MinHealth": 0.35, // Minimum item health, 0.0 to 1.0
"MaxHealth": 0.9 // Maximum item health, 0.0 to 1.0
},
{
"ClassName": "BandageDressing", // Item classname to spawn
"Chance": 35.0,
"MinQuantity": 1,
"MaxQuantity": 2,
"MinHealth": 0.45,
"MaxHealth": 0.95
},
{
"ClassName": "SodaCan_Cola", // Item classname to spawn
"Chance": 25.0,
"MinQuantity": 1,
"MaxQuantity": 1,
"MinHealth": 0.5,
"MaxHealth": 1.0
}
],
"BagClassNames": [ // Bag classes this group can randomly spawn
"AbandonedBag_Assault",
"AbandonedBag_Mountain",
"AbandonedBag_Drybag"
],
"SpawnPoints": [ // Locations where bags can spawn
{
"Name": "NWAF South", // Friendly spawn point name used in logs
"Position": "4774 0 9695", // "X Y Z"; Y can be 0 because surface height is used
"Orientation": "0 0 0", // Bag orientation
"Radius": 250.0, // Random spawn radius around Position
"Chance": 100.0, // Percent chance to spawn during a spawn pass
"MaxActive": 2 // Max active bags at this spawn point
},
{
"Name": "NWAF North",
"Position": "4125 0 10821",
"Orientation": "0 0 0",
"Radius": 250.0,
"Chance": 100.0,
"MaxActive": 2
}
],
"Mobs": [ // Mobs that can spawn when a bag is searched
{
"ClassName": "ZmbM_CitizenASkinny_Brown", // Concrete spawnable infected classname
"Chance": 100.0, // Percent chance this mob entry triggers
"MinCount": 2, // Minimum number of mobs spawned
"MaxCount": 4, // Maximum number of mobs spawned
"SpawnRadiusMin": 12.0, // Minimum distance from the searched bag
"SpawnRadiusMax": 35.0 // Maximum distance from the searched bag
}
],
"MaxActive": 6, // Max active bags for this group
"ResetSeconds": 1800, // Seconds before an unopened bag is deleted/reset
"DeleteAfterOpenSeconds": 300, // Seconds before a searched bag is deleted
"SearchSeconds": 5.0, // Hold-action duration for searching the bag
"BagMinHealth": 0.35, // Minimum spawned bag health, 0.0 to 1.0
"BagMaxHealth": 0.75, // Maximum spawned bag health, 0.0 to 1.0
"SpawnMobsOnOpen": 1 // 0 = no mobs, 1 = spawn mobs on search
}
]
}Updating an existing configuration
Existing configurations are loaded and saved again rather than replaced. The mod also reloads configuration during spawn passes.
If an older file uses ZmbM_CitizenASkinny_Base, replace it with a concrete, spawnable class such as ZmbM_CitizenASkinny_Brown.
If bags or rewards aren't appearing
Check that both the mod and bag group are enabled, your spawn positions match your map, and active-bag limits haven't been reached. A spawn chance below 100% means a pass can finish without creating a bag.
For missing rewards, check the selected LootCategory and its matching loot list or preset name. Check mob class names if the search works but encounters don't appear. Extra debug logs can help you see what's happening.
