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.
TrollCompanion
Development preview: persistent friendly troll companions with clubs, kill-based stars, recall, focus attack and attack-move commands. Requires testing before use in a main world.
By Satisfaction
| Date uploaded | a month ago |
| Version | 0.2.4 |
| Download link | Satisfaction-TrollCompanion-0.2.4.zip |
| Downloads | 33 |
| Dependency string | Satisfaction-TrollCompanion-0.2.4 |
This mod requires the following mods to function
ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
TrollCompanion 0.2.4
Entwicklungsversion für freundliche Troll-Begleiter mit Keule, dauerhaftem Killfortschritt und Kampfaufträgen über den Trollstaff.
0.2.4 erhöht die Paket- und Pluginversion für einen erneuten Upload. Die Gameplay-Logik entspricht 0.2.3.
Die Gameplay-Abnahme in Einzelspieler, Koop und auf einem Dedicated Server steht noch aus. Der erfolgreiche Ladetest des früheren Minimal-Plugins belegt diese Funktionen nicht. Verwende zunächst ein Entwicklungsprofil und eine Testwelt.
Installation
Auf Server/Host und allen Clients werden dieselbe TrollCompanion-Version, BepInEx und Jötunn benötigt. Dieses Paket enthält ausschließlich die eigene Mod-DLL und Paketmetadaten.
- Valheim und einen lokal laufenden Valheim-Server vollständig beenden.
- Im Entwicklungsprofil eine frühere, manuell kopierte
TrollCompanion.dllund gegebenenfalls ihre PDB ausBepInEx/plugins/TrollCompanionentfernen. Sonst könnten zwei Kopien geladen werden. Andere Dateien behalten. - Die ZIP-Datei über den lokalen Mod-Import des Managers im Entwicklungsprofil installieren. Den gleichen Build auf dem Testserver installieren; für eine manuelle Serverinstallation
plugins/TrollCompanion.dllaus dem Paket inBepInEx/plugins/TrollCompanionkopieren. - Das Profil mit Mods starten. In
BepInEx/LogOutput.lognachTrollCompanion geladen, den Prefab-Diagnosen und etwaigen Fehlern suchen.
Der lokale Import veröffentlicht nichts auf Thunderstore. Ein öffentlicher Upload ist für diesen Entwicklungstest nicht erforderlich.
Bedienung
Befehle gelten mit ausgerüstetem Trollstaff. Offene Menüs und Texteingaben sperren sie.
| Taste | Aktion |
|---|---|
| Linke Maustaste | Einen verfügbaren Begleiter beschwören |
| Mittlere Maustaste | Eigene aktive Begleiter zurückrufen |
| J auf Boden | Vorrücken, unterwegs Feinde bekämpfen, am Ziel halten |
| J auf Feind | Diesen Gegner priorisieren, danach halten |
| H | Auftrag beenden und wieder folgen |
| Rechte Maustaste | Normales Blocken |
Tasten lassen sich lokal konfigurieren. Ein neuer J-Befehl ersetzt den alten Auftrag. Während eines Auftrags ist das automatische Aufholen zum Besitzer ausgesetzt.
Spielregeln und Konfiguration
Die BepInEx-Konfiguration liegt unter BepInEx/config/de.steve.valheim.trollcompanion.cfg. Auf Servern gibt der Host die Gameplay-Werte vor.
- Standardlimit: 2 Begleiter ab Blutmagie 0, 3 ab 50, 4 ab 100.
- Ein Stern nach insgesamt 25 berechtigten Kills; zwei Sterne nach 75. Der Troll mit dem letzten Treffer erhält den Fortschritt.
- Rückruf erhält Identität, Sterne und aktuelle Lebenspunkte. Nach tatsächlichem Trolltod bleibt der Fortschritt erhalten; Wiederbeschwörung ist nach einer skillabhängigen Wartezeit möglich.
- Spieler, gezähmte Tiere, Spielerbauten und Umgebung sind standardmäßig vor Begleiterschaden geschützt.
- Die Ashlands-Variante ist Standard; alternativ lässt sich Forest wählen. Jede Variante benötigt verifizierte Prefab- und Keulenverknüpfungen.
- Die Beschwörung verwendet die nativen Anflug- und Einschlagseffekte mit deren Wartezeiten. Eigene Effektkopien verhindern Einschlagsschaden und Geländeveränderungen. Die Darstellung muss noch im Spiel abgenommen werden.
- Konfigurierbar sind unter anderem Limits, Schwellen, Kosten, Kampfwerte, Reichweiten, Wartezeiten und Schutzregeln. Eine Axt ist noch nicht enthalten.
Der Begleiterbestand wird je Welt und Charakter auf Server/Host unter BepInEx/config/TrollCompanion/worlds gespeichert. Diesen Mod-Ordner bei Testserver-Sicherungen berücksichtigen. Wilde Trolls bleiben unverändert.
Bei einem bestehenden Profil bleiben gespeicherte Einstellungen erhalten. Für die neuen Standards dort Begleiter/Trolltyp = Ashlands und Eingabe/Zielbefehl = J einstellen. H bleibt für Folgen. G wird in der geprüften Spielversion vom nativen Radialmenü verwendet.
CHANGELOG
Changelog
This development history includes builds that were not published on Thunderstore.
TrollCompanion is a gameplay preview. Full single-player, co-op, and dedicated-server testing is still pending.
0.2.10
- Added an F6 companion panel that works without the Trollstaff. View each companion's name, status, health, stars, kills, next star threshold, death cooldown and club attack values; recall one active companion from its row.
- Translated current mod messages, controls, configuration labels and descriptions, diagnostics and documentation into English. Native game text still follows the game's language.
- Added automatic migration from the previous German configuration keys. Existing files receive a separate backup; other saved settings are preserved. The health and damage base multipliers are each set to 2 once during this migration. Later edits are retained.
- Added live configuration reload after a file has remained unchanged for about one second. The host validates and synchronizes a complete rules snapshot; invalid edits leave the last accepted rules in use.
- Changed the default health and damage base multipliers to 2. Default maximum HP is 1200/2400/3600 and club damage scales by 2/3/4 at 0/1/2 stars. Live balance changes preserve the health percentage; star gains still preserve absolute HP.
- Added schema-3 storage for health together with its maximum, applied balance, star count and state revision. Existing schema-1/2 records keep their names, identities and progress. If the former maximum cannot be established, migration preserves absolute HP instead of guessing a percentage.
- Added optional shared kill progress, enabled by default within 25 metres of the defeated enemy. Only the same owner's nearby living active companions share a kill; the killer always receives its own kill. Each kill awards Blood Magic XP once, regardless of recipient count.
- Added validation for stale individual-recall requests, paired health updates, shared-kill eligibility and event deduplication. Update the server/host and every client together to 0.2.10.
Local automated checks cover these rules and migrations. Full in-game validation, including the panel, live reload and shared progress on a dedicated server with two clients, remains pending. See the project build report for the final build and package results.
0.2.9
- Fixed custom troll names being lost after recall. Names and native content-author information are now stored with the persistent companion record and restored after resummoning, variant changes, death, restarts, and temporary slot restrictions.
- Added server validation of the name request's owner, summon generation, network object, and sequence. An accepted name is saved atomically before it is applied to the live companion.
- Kept the normal naming dialog and its 10-character limit. Clearing a name restores the native default; extra star indicators above two stars remain visible without becoming part of the stored name. No new controls or settings are required.
- Added schema-2 name storage while retaining support for schema-1 saves. Existing data is upgraded on the first successful save without changing companion IDs, kills, or HP.
- Kept combat balance and technical-failure refunds unchanged from 0.2.8. Update the server/host and every client to 0.2.9.
Names already lost by older versions cannot be reconstructed; rename those companions once. The release build, API checks, and 82 regression tests passed. In-game name-persistence tests remain pending.
0.2.8
- Raised the default health multiplier to 10 and club damage multiplier to 6. At 0/1/2 stars, default scaling gives 6000/12000/18000 maximum HP and ×6/×9/×12 club damage.
- Added server-synchronized
[Kampf] ResistenzDurchdringung, default0.75. On ordinary body hits against hostile non-boss creatures, it restores 75% of the damage lost to resistance. Weaknesses, immunity, ignored damage types, and special weak-spot mechanics retain their native behavior. - Added
[Kampf] SchadenGegenBosseMultiplikator, default0.5. Game-identified bosses retain their resistances and receive this additional multiplier on combat damage types; resistance compensation does not apply to them. Generic, chopping, and pickaxe damage are excluded from both target-specific rules. - Saved combat settings on the summoned companion's network object so they remain consistent when network ownership changes. New settings apply on the next summon; stored absolute health is retained without free healing.
- Added optional local
[Diagnose] Kampfprotokoll, disabled by default, for actual HP changes from companion hits, plus weapon-profile and damage-type diagnostics. - Kept the placement checks and technical-failure refunds from 0.2.7. Existing configuration values remain unchanged: existing servers must explicitly set the health and damage multipliers to 10 and 6 to adopt the new defaults.
The release build, API checks, and 66 regression tests passed. The balance target is strong performance against ordinary Ashlands and Deep North enemies while preserving sustained boss fights. No 0.2.8 in-game combat results are available yet; flying targets, hit detection, terrain, and attack uptime require testing.
0.2.7
- Raised the default base health multiplier to 3. With the inspected 600-HP forest troll base and default star scaling, maximum health is 1800/3600/5400 at 0/1/2 stars.
- Preserved existing configuration values. Existing servers must explicitly set
[Kampf] GrundLebenMultiplikator = 3to adopt the new default. It applies on the next summon and retains stored absolute health, up to the new maximum, without free healing. - Added shared strict placement checks before casting and spawning, with a search for a suitable spot within 3 meters. The selected point remains fixed during the casting animation, and placement failures report their cause.
- Added the server-synchronized
[Kosten] ErstattungBeiFehleroption, enabled by default. A confirmed technical spawn failure can refund the Eitr and health actually paid locally for that cast, once, subject to native resource caps. - A known local failure before sending the summon request can be refunded directly. After a request was sent, the server must confirm the failure.
- Excluded death, recall, portal use, disconnection, and leaving range from refunds. A timeout without confirmed server failure does not trigger a refund.
Build/API checks and 56 local regression tests passed. No 0.2.7 in-game test has been completed. The latest local 0.2.6 log confirms several summons and the first server roster response, but full multiplayer acceptance remains pending.
0.2.6
- Fixed package timestamps that caused BepInEx to reuse cached 0.2.4 plugin metadata even when the correct 0.2.5 DLL was installed. ZIP entries now use a deterministic timestamp that changes with the plugin version.
- Gameplay and saved companion data are unchanged. Keep your configuration and companion saves; no data reset is required.
- Update the server/host and all clients together to 0.2.6.
An in-game retest of the update and dedicated-server synchronization is still pending.
0.2.5
- Fixed player-to-companion roster lookup for dedicated servers and co-op hosts, addressing the persistent "Begleiterbestand wird synchronisiert" message.
- Added connection checks for respawning, reconnecting, and duplicate character sessions, plus clearer synchronization diagnostics.
- Existing companion data is retained; no data reset is required. Update the server and all clients together.
- Added English package details and a packaged changelog.
The multiplayer fix has passed local code checks; an in-game retest is still pending.
0.2.4
- Updated the package and plugin version for Thunderstore distribution. Gameplay is unchanged from 0.2.3.
0.2.3
- Fixed summoning being blocked by the native arrival effect's
GlobalWindcomponent. - Improved diagnostics and messages to distinguish arrival-effect failures from unavailable troll variants.
0.2.2
- Made the Ashlands troll the default companion variant; Forest remains configurable.
- Changed the default target-command key to J to avoid the game's radial-menu binding. H still restores following.
- Added the Trollstaff's native arrival effects, timing, impact sounds, and wake-up animation, using separate effect copies with impact damage disabled.
- Reserved companion slots during arrival and added cancellation for interrupted summons.
Existing configuration files keep their saved variant and key settings.
0.2.1
- Fixed club validation rejecting the troll's two native club attacks as ambiguous equipment.
- Preserved both club attack animations and equipped a club before the companion's first fight.
0.2.0
- Added the initial gameplay preview: friendly club-wielding trolls, summon and recall commands, following, attack-move, focus attacks, and position holding.
- Added persistent companion slots, kill progression, stars, death cooldowns, and configurable gameplay and damage-protection settings.
- Added host-managed companion storage and multiplayer messaging for testing across single-player, co-op, and dedicated servers.
0.1.0
- Added the minimal BepInEx plugin with the startup message
TrollCompanion geladen. - Added the initial build and deployment setup. This version did not change troll behavior.