Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
BotanicPupPatch
Protects PUP FPS cluster collisions and building stability. Optional FiresGhettoNetworking mob ownership follows the AI target.
By Botaniclas
| Date uploaded | 2 weeks ago |
| Version | 2.1.1 |
| Download link | Botaniclas-BotanicPupPatch-2.1.1.zip |
| Downloads | 108 |
| Dependency string | Botaniclas-BotanicPupPatch-2.1.1 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351PUP82-PUP_FPS
A smart building combiner for massive Valheim bases with single-player and client-server multiplayer support. Controls: [ combine, ] restore, \ highlight, F8 emergency restore.
Preferred version: 1.0.34README
BotanicPupPatch 2.1.1
Multiplayer add-on for PUP FPS:
- Protects building stability while required cluster collisions are loading.
- Keeps required cluster colliders available for animals and other physics objects, including on dedicated servers.
- Optional with FiresGhettoNetworking: Mob ownership follows its current AI player target. Target changes trigger a handoff attempt; transfers blocked by an attack are retried after it ends.
Requires: BepInExPack Valheim 5.4.2351 and PUP FPS 1.0.34 or newer. FiresGhettoNetworking is optional; tested with 1.5.36 and 1.5.41.
Compatibility is checked from the required native interfaces at startup, without a fixed PUP version or DLL hash lock. Tested with PUP FPS 1.0.34 and 1.0.36. Newer native collider preparation and retention remain in charge; building-stability, restore and ownership-change safeguards stay active.
Installation
Close the game and server. Import the ZIP or replace the existing BotanicPupPatch.dll. Install the same PupPatch and PUP FPS versions on the server and all clients, then restart.
FiresGhettoNetworking settings
Strongly recommended for dedicated servers already using FiresGhettoNetworking: TooManyLags - FGN Addon can replace and extend this patch's mob ownership feature with camera-directed ownership of interactive objects and idle tamed animals.
To use its mob feature, set PupPatch's [FGN AI Ownership] EnableAIOwnership=false on the server and all clients, and keep TooManyLags' EnableAIOwnership=true. Use a TooManyLags release compatible with your PUP FPS version. Install TooManyLags on the server and all clients, then restart. PupPatch's collision and building-stability protection remains active.
AI-target ownership is enabled by default when FiresGhettoNetworking is installed and applies when at least two eligible players are present. If the target player's ping is high, the server only takes ownership when another eligible player is close to the mob and FiresGhettoNetworking's Server-Side Simulation is enabled. Otherwise, the targeted player remains the intended owner. Tamed, ridden/player-controlled mobs and bosses are excluded.
Config: BepInEx/config/botanic.pup.patch.cfg, section [FGN AI Ownership].
| Setting | Default | Effect |
|---|---|---|
EnableAIOwnership |
true |
Enable this patch's AI-target ownership. |
ServerFallbackPingMs |
200 |
Target player's ping threshold for server takeover, in milliseconds. |
ServerFallbackRadius |
6 |
Maximum distance between another eligible player and the mob, in metres. |
On the server, set FiresGhettoNetworking's Balance Creature Ownership = true and disable both experimental Server ZDO Ownership Transfer options. Server-Side Simulation is only required for server takeover. Use the same EnableAIOwnership setting on the server and clients; changes require a restart. Existing config values are preserved.
Diagnostic logging is off by default. Automated checks passed; live dedicated-server testing is still pending. Previously destroyed objects are not restored.
CHANGELOG
Changelog
2.1.1
- Removes the fixed PUP FPS 1.0.34 DLL/version lock. Required native interfaces and body-freeze contracts are checked at startup; incompatible interfaces are rejected cleanly.
- Supports PUP FPS 1.0.36's prepared dedicated collisions without bypassing its deferred collider queue. Manifest, recipe, restore and structural safeguards remain; native body-cell retention avoids the duplicate supplement.
2.1.0
- Restores optional AI-target ownership with FiresGhettoNetworking: eligible hostile mobs prefer the player they currently attack. Target changes request handoffs; transfers blocked by an attack are retried after it ends.
- Enables this option by default with FGN. High-ping targets can use the server with Server-Side Simulation and another eligible player nearby; configurable defaults are 200 ms and 6 metres.
- Restores the botanic_ai_status console command for inspecting targets, owners and blocked transfers. Tamed, ridden/player-controlled mobs and bosses remain excluded.
2.0.0
- Updates to PUP FPS 1.0.34 and uses its built-in loading freeze, removing duplicate cart/mob guards and their extra physics loops.
- Holds building stability checks until required cluster collisions are ready. Restored pieces with no real support can collapse normally when supporting objects are removed.
- Checks local cluster collision readiness on dedicated servers and prevents needed clusters unloading while PUP still needs them for locally owned physics objects.
- Protects FGN mob ownership corrections against missing destination collisions and old local positions overwriting the received destination.
- Removes the ServerAuthority and ServerBuildings interfaces and the additional FGN AI-target ownership policy.
- Replaces the custom crystal-wall exclusion with PUP's material filter. To keep crystal walls unclustered, set BakingMaterials / Crystal = false on the server/host; restore and rebake existing clustered walls.