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.
GetOffMyLawn
Strictly server-side Valheim 1.0 mod - no client install ever. Active wards keep wild creatures (and raids) out of your base, and doors inside wards close themselves.
CHANGELOG
Changelog
0.3.1
Changed
- Rebuilt against Valheim 1.0.16 (client build 25527674 / dedicated server build 25527701, network
version 40, unchanged from 1.0.15) and re-verified: a static reference check against both the client
and dedicated-server assemblies, and a headless 1.0.16 dedicated-server boot. No source changes were
needed for compatibility — 1.0.16 removed only
ObjectDB.GetAllFoodItems()andButtonSfx.Start(), and this mod calls neither. - Dropped stale references to a specific past Valheim patch (Steam build id, versioned-decompile
citation) from the csproj, README and
OwnershipHold.cs; they now read version-agnostically ("Valheim 1.0", "vanilla ZDOMan.RPC_ZDOData") since the mod targets whatever the current 1.0.x dedicated server is rather than one pinned patch.
0.3.0
Added
- Configurable ward radius. Added
WardRadiusto[2 - Creature Blocking]with a 32m default matching vanilla guard stones (set to0to use each prefab's native radius). Governs creature barrier reach and door auto-close perimeter.RadiusBonuscontinues to work on top. - Continuous shield shimmer pulse option. Added
AlwaysVisible(defaultfalse) andAlwaysVisibleInterval(default1.3s) to[4 - Visible Shield]. Tightened the default pulse timer to 1.3s so when enabled, overlapping pulses create an undulating shimmer wave rather than spaced flickers.
Fixed
- Independent reactive flash and periodic pulse throttles. Creature bounces flash immediately while automatically resetting the periodic shimmer timer, avoiding double-shimmer artifacts.
- Shield scan gate. Wards now update visual shield presence whenever
AlwaysVisibleis active even if creature blocking and auto-door closing are both disabled.
0.2.1
Changed
- Startup log line no longer pins a Valheim patch version. The
Starting GetOffMyLawn v<version>...line read "built for Valheim 1.0.7", which had gone stale now that the mod is confirmed working unchanged through 1.0.12 (seeMIGRATE-1.0.md). It now reads "built for Valheim 1.0+".
0.2.0
Added
- Visible shield. An active ward now flashes its own vanilla shield effect - the same shimmer the
game shows when a player is denied building in someone else's ward - every time it bounces or despawns
a creature. This reuses
PrivateArea's existing networkedFlashShieldeffect; nothing new is installed on any client, and only players close enough to have that ward loaded ever see it. New4 - Visible Shieldconfig section:Enabled(default on) andMinInterval(default 1.5s, minimum seconds between flashes on the same ward so a creature repeatedly charging one edge doesn't spam it).
0.1.0
Added
- Creature blocking for active wards. Any wild creature found inside a switched-on player ward is
teleported back to just outside the ward's edge (
Mode = Bounce, default) or removed (Mode = Despawn). Tamed creatures, creatures being tamed, bosses (configurable), player summons and anything on the configurable faction/prefab exclusion lists are left alone. Raid creatures are blocked by default (IncludeEventCreatures). Optional escalation: a creature bouncedDespawnAfterBouncestimes insideBounceWindowSecondsis despawned. - Auto-closing doors. A door or gate standing inside an active ward that stays open longer than
Delay(default 10s) closes itself, unless a player is withinPlayerClearancemetres of it.OnlyInsideWards = falseextends it to every door near a player. Drawbridges and window shutters are excluded by default (ExcludedDoorPrefabs); key doors and one-way dungeon doors are never touched. - Live config reload. Edits to the cfg on a running server are picked up within 5 seconds.
How it works (read this before reporting "it moved the creature back inside")
- Vanilla wards are pure client logic; a dedicated server has no ward, door or creature instances at all,
only ZDO data owned by clients. This mod scans the ZDOs around every connected player from the server's
own sector table, and corrects a creature or door by briefly taking ownership of its ZDO, jumping the
ZDO's data revision past everything the owning client still has in flight, writing the correction, and
handing ownership back a moment later so the client's own ZSyncTransform snaps the object to the new
position. The
OwnershipHandBackDelay(default 0.75s) is the window in which the corrected creature is frozen and cannot be hit. - Every fact this relies on was read from the Valheim 1.0.7 dedicated-server decompile (ZDOMan.RPC_ZDOData, ZDOMan.ReleaseNearbyZDOS, ZSyncTransform.OwnerSync/ClientSync, Door.UpdateState, PrivateArea.IsInside).