Graveyard Keeper 2
Install with App

Details

Latest version
1.0.6
Last Updated
First Uploaded
Downloads
213
Likes
0
Size
62KB
Dependants

Categories

Zombie Cross-Zone Logistics

Thunderstore install: install the BepInEx-BepInExPack dependency, then copy the included DLL to BepInEx/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.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.