ZombieLogistics
Lets zombies use the cross-zone shared storage pool. Requires SharedStorage 1.2.0.
| Date uploaded | 6 days ago |
| Version | 1.0.6 |
| Download link | Service_Accounts-ZombieLogistics-1.0.6.zip |
| Downloads | 161 |
| Dependency string | Service_Accounts-ZombieLogistics-1.0.6 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305Service_Accounts-SharedStorage
Cross-zone shared storage pool for workstations, building, planting and repairs. Includes the 1.2.0 snapshot API for Zombie Logistics.
Preferred version: 1.2.1README
Zombie Cross-Zone Logistics
Thunderstore install: install the
BepInEx-BepInExPackdependency, then copy the included DLL toBepInEx/plugins/GraveyardKeeper2.ZombieLogistics/.
If a nearby chest is empty, the zombie should still walk there and draw the required material from your base-wide storage.
Features
- Nearest eligible container as anchor: caretakers, gardeners and porters use the nearest eligible container in the current zone, even when that specific container does not contain the requested item.
- Cross-zone withdrawal: requirement checks and consumption use eligible storage across all base zones.
- Vanilla movement retained: no cross-zone pathfinding is added. Movement, animation, delivery, output and station handoff stay vanilla.
- No pool-internal porter trips: when every delivery target of a porter trip already belongs to the shared pool, the porter stays at its station instead of pulling goods out of the pool for the whole walk. A trip with any target outside the pool (town, delivery points, unshared or inactive zones) is unchanged, and a delivery the game itself resolves (town palette, small town crates) is never skipped.
- Role and container blacklists: disable a zombie role or exclude containers by WgoData.id.
- Fail-closed rules: blacklist or bridge failures do not silently fall back to a vanilla withdrawal path that would bypass the configured limits.
Required dependency: SharedStorage 1.2.0
This add-on requires SharedStorage 1.2.0. SharedStorage 1.1.x does not expose the required storage snapshot API and the add-on falls back to vanilla behavior.
SharedStorage Workshop item: https://steamcommunity.com/sharedfiles/filedetails/?id=3807651104
Installation
Workshop subscriptions do not install BepInEx DLLs automatically.
- Close the game and make sure BepInEx 5.4.x is installed.
- Install SharedStorage 1.2.0 first.
- Open CopyToGameFolder in this item's Workshop directory and merge its BepInEx folder into the game folder.
- Verify these files exist:
BepInEx\plugins\GraveyardKeeper2.SharedStorage\GraveyardKeeper2.SharedStorage.dll BepInEx\plugins\GraveyardKeeper2.ZombieLogistics\GraveyardKeeper2.ZombieLogistics.dll
Configuration
File: BepInEx\config\gk2.zombielogistics.cfg
- DisabledZombieTypes: caretaker, gardener, porter, conveyor_transporter.
- ExcludedContainerIds: exclude containers by WgoData.id.
- VerboseLogging: enable detailed anchor and snapshot logging.
- PorterSkipPoolInternalTransport: skip porter trips whose delivery targets all belong to the shared pool (default on).
- Zone exclusion uses ExcludedZoneIds in SharedStorage's config.
Verification
Check BepInEx\LogOutput.log for:
Shared Base Storage 1.2.0 loaded Zombie Cross-Zone Logistics 1.0.6 loaded. Active groups=3/3.
Notes
- Ordinary stackable resources are the supported scope.
- Complex NBT, durability, bags, quest items and unique-instance items are not guaranteed on this path.
- This item does not bundle SharedStorage; the two mods update independently.
Version 1.0.6 - automated checks passed (build, 131 unit tests, static verification); the core gardener path was validated in-game, the porter pool-internal fix still needs an in-game check.
Changelog
-
1.0.6: Porter trips whose delivery targets all belong to the shared storage pool are skipped. Previously such a trip pulled the cargo out of the pool the moment the porter loaded it and returned it only on arrival, so the materials were invisible and unusable through the shared pool for the whole walk. Trips with any destination outside the pool (town, delivery points, unshared or inactive zones) keep the vanilla load-and-depart behavior. Set PorterSkipPoolInternalTransport=false in the config to restore the old behavior.
-
1.0.5: Gardener seed and order-safety update. Carried seeds are counted first, only the missing amount is withdrawn, the same seed candidate is reused, and stale orders are released safely. This fixes repeated consumption, disappearing seeds, and stuck orders.
-
1.0.1: Updated cover art and clarified dependencies.
-
1.0.0: Initial release.
CHANGELOG
Changelog
1.0.6
Porter pool-internal transport fix. With cross-zone withdrawal a porter could load cargo from the whole base and deliver it into a container that already belongs to the same shared pool; the goods left every container at load time and only returned on arrival, so they were invisible and unusable through the shared pool for the whole walk. Such a trip is now skipped and the porter stays at its station on the vanilla "nothing to load" path. Any trip with a destination outside the pool (town, delivery points, unshared or inactive zones) keeps the vanilla load-and-depart behavior together with cross-zone withdrawal.
- Porters no longer haul goods inside the shared pool.
- A delivery the game itself resolves (town palette, small town crates) is never skipped even if such a container belongs to the pool.
- PorterSkipPoolInternalTransport=false restores the previous behavior.
1.0.5
Gardener seed and order-safety update. Previously, seeds already carried by a gardener could be ignored during cross-zone withdrawal, causing repeated consumption, incorrect counts, or stuck orders. This release counts carried seeds first, tops up only the missing amount, reuses the same seed candidate, and safely releases stale orders.
- Gardeners now account for eligible seeds already carried.
- A full carried stack goes directly to planting; a partial stack is topped up using the same seed candidate.
- Stale gardener orders are released safely.
- Fixed repeated seed consumption, disappearing seeds, and stuck orders.
- Hardened inventory ledgers, rollback, and failure guards.
1.0.1
- Updated Thunderstore cover art for better readability and clarified the SharedStorage dependency. No code changes.
1.0.0
- First release: zombies use the shared cross-zone storage pool for material pickup.
- Supports role and container blacklists.
- Does not change vanilla pathfinding, delivery, animation, or output behavior.