
FactionTactics Client
Client executor for Faction Tactics 1.0: applies server ZDO intents with local ownership for smooth combat. Requires matching Server 1.0.1.Faction Tactics 1.0.1 — Install (Ungrull / anyone)
What you need
| Who | Zip | Drops into |
|---|---|---|
| Dedicated / listen-host server | FactionTactics-Server.zip |
BepInEx/plugins/FactionTactics.dll |
| Every player client | FactionTactics-Client.zip |
BepInEx/plugins/FactionTactics.Client.dll |
Both must be the same product version (1.0.1). Schema mismatch logs a loud error and ignores intents.
Requires BepInEx 5 (HarmonyX). Behavior-only: does not raise spawn/raid/encounter rates.
Server (GPortal / dedicated / listen-host)
- Install BepInEx 5 on the Valheim dedicated (or listen-host) profile.
- Unzip
FactionTactics-Server.zipinto the game root (or copyFactionTactics.dllintoBepInEx/plugins/). - Optional: Thunderstore / r2modman — import
FactionTactics-Server-Thunderstore.zipinto the server profile (addicon.pngbefore Thunderstore upload; seeICON.txt). - Boot once; confirm log:
FactionTactics 1.0.1 loaded (1.0.1 hybrid commander….
Sticky enemy ownership / force server ownership stay default OFF (debug-only). Hybrid combat: server writes ZDO intents; owning client Drive.
Players (game clients)
- Unzip
FactionTactics-Client.zip→BepInEx/plugins/FactionTactics.Client.dll(or import Thunderstore client pack into the game profile). - Confirm log:
FactionTactics.Client 1.0.1 loaded — owning-client combat executor…. - Join the server that runs matching 1.0.1 server DLL.
Listen-host: install both DLLs on the host machine.
Doctrines (v1)
Roman, Death-Rush (Meadows Greyling), Ambush, VikingShieldWall, Steppe, InsectSiege, CharredLegion, PackHunters, ArtilleryJelly.
Siege Assault v1: Ambush + VikingShieldWall near workbench (no extra spawns).
Death-Rush: Greylings bee-line Charge and fight to the death (no kite/retreat). Optional vanilla alert SFX (EnableDeathRushScream).
Troubleshooting
If you see [FactionTactics] Intent schema mismatch — reinstall both packs from the same 1.0.1 release. Do not mix 0.3.x / 0.2.x with 1.0.1.

