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.
EilifCompanionClient
Eilif community server, Valheim 1.0: sends your explored-map %, your own death causes and profile counters (kills, deaths, builds, crafts, distance) to the community dashboard; keeps tools, weapons and ammo on death where allowed. Details in README.
| Date uploaded | 2 weeks ago |
| Version | 0.4.2 |
| Download link | Eilif-EilifCompanionClient-0.4.2.zip |
| Downloads | 37 |
| Dependency string | Eilif-EilifCompanionClient-0.4.2 |
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.2350README
Eilif Companion Client
Disclosure: this plugin was written with AI assistance (Anthropic Claude, directed and reviewed by the Eilif server admin). It is listed under Thunderstore's "AI Generated" category for that reason. Source is public at the link in the manifest.
Companion plugin for the Eilif community Valheim server, a private friends-and-family server with a public stats dashboard at valheim-dashboard.vercel.app.
What it does: full disclosure
While you are connected to a server, this plugin sends three kinds of data to the Eilif community dashboard, and nothing else:
- Explored-map percentage: one number read from your own local map data, posted with your character name every 5 minutes and at logout. Feeds the Cartographer leaderboard. Since 0.3.2 that post carries your character name twice: once as the reading's owner and once as the reporter. That lets the dashboard confirm a reading came from the character it belongs to and refuse one posted for somebody else. It is the same name either way; nothing new is collected.
- Your own deaths (since 0.2.0): when your character dies, the plugin reads the game's own record of the killing blow (its hit type, such as Fall, Drowning or Burning, and the attacking creature's name if there was one) plus the biome, and posts that single event. This exists because the death causes from other stats mods are often wrong, and the Eilif dashboard shows honest ones. Since 0.3.1 that report also carries the reporting character's name, which is your own, the same name already sent with the map percentage. That lets the dashboard verify a death report came from the character it is about and reject one filed by anyone else. It is not an extra piece of information about you; it is the same name, sent twice, so the server can check that they match.
- Your own profile counters (new in 0.4.0): a small set of lifetime totals read from your own local character profile, posted with your character name on the same 5 minute cadence as the map percentage and once on logout. Exactly these: total kills, total deaths, builds placed, crafts made, and distance travelled (total, walked, run, sailed, flown). These feed the kill, death, build, distance and craft boards and the collective Great Deeds. On Valheim 1.0 the stats mod that used to supply them stopped doing so, which is why the plugin now reads them directly. Nothing per-item is sent, and nothing about position, inventory or other players. You can turn this off with
[Stats] Enabled = falsein the config.
- Never sent: position history, chat, inventory contents, individual items, system information, or anything about other players.
- Where: only to the endpoint in
net.eilif.companionclient.cfg. The Eilif modpack pre-fills the community dashboard URL. With no URL configured the plugin sends nothing at all. - Source: fully open on GitHub.
It also changes one gameplay rule: read this before installing (new in 0.3.0)
Version 0.3.0 added a client-side tombstone keep-list, and it is the only part of this plugin that touches gameplay rather than just reporting on it. (0.3.1, 0.3.2 and 0.3.3 changed nothing about it; 0.3.4 is the same code rebuilt for Valheim 1.0 so that the key check works there, and 0.4.0 adds only the profile-stats reporter above, 0.4.1 only fixes the map percentage on 1.0, and both leave the tombstone rule untouched; see the changelog.)
Valheim decides what goes into your tombstone on your own machine, in Inventory.MoveInventoryToGrave, which spares quest items and whatever you had equipped. This plugin adds a Harmony prefix on that method which briefly marks keep-listed items as equipped so the game's own filter spares them, and a finalizer that unmarks them immediately afterwards. The flag never outlives that single call, and if the patch ever fails to apply you simply get exact vanilla behaviour. The result: your tools, weapons, shield, torch and ammo stay on you when you die, while resources, food and loot still drop into the grave, so a death stays a corpse run without becoming a re-gearing chore.
It is gated on the server, not on you. The patch only does anything on a world whose vanilla deathkeepequip global key is set, the key the Casual death-penalty tier grants (and which the Eilif server also asserts through its server-side companion plugin). On any server that has not opted into gentle deaths, including every public server you might carry this profile onto, the keep-list is inert and your deaths are exactly vanilla.
The list is yours to change, in net.eilif.companionclient.cfg under [Death]:
[Death]
KeepItemTypes = OneHandedWeapon, TwoHandedWeapon, TwoHandedWeaponLeft, Bow, Shield, Torch, Tool, Ammo, AmmoNonEquipable
Those are ItemDrop.ItemData.ItemType names. Blank the value to turn the feature off entirely and get vanilla tombstones back even on a deathkeepequip world.
Intended for members of the Eilif server; harmless but useless anywhere else.
Changelog
See CHANGELOG.md.
CHANGELOG
Changelog
0.4.5
- Total kills are posted again, from your own character profile. Valheim keeps a lifetime enemy-kill counter on every character (the same all-time bucket the builds, distance and fishing counters already come from); 0.4.5 sends it as one more profile counter. It is the character's own number: it does not reset when you rebuild your mod profile or move to another PC, and it cannot pick up another character's kills on a shared machine, which is what the per-world weapon file the dashboard was summing could do. The dashboard now reads the kill board from this counter and keeps the weapon breakdown only for the per-weapon table. Deaths are still not sent (the dashboard has its own death events). Nothing else changes: same five-minute cadence and logout post, same
[Stats] Enabled = falseswitch, same map, death and tombstone behaviour. The README's disclosure is updated to match.
0.4.4
- Fishing counters. The profile-stats reporter now also sends your fishing totals from the same all-time bucket it already reads: fish caught, fish hooked, fish lost, and the per-quality breakdown of what you landed (tiers 0 through 6). These are the game's own counters, the ones Valheim itself increments when a fish takes your hook, snaps the line or comes out of the water, so they include everything you have caught on this character, not only what you caught since installing. They feed the dashboard's fishing board; nothing else about fishing is sent, no location, no bait, no per-fish record beyond the quality tier. Everything else is unchanged: same five-minute cadence and logout post, same
[Stats] Enabled = falseswitch, same map, death and tombstone behaviour. The README's disclosure is updated to match.
0.4.3
- Profile counters now come from the all-time bucket. Valheim 1.0 keeps ten stat buckets per character and the game's own accessor hands back the achievement-eligible one whenever achievements are allowed; that bucket is empty for anyone who played modded before, and it stops counting the moment a character is flagged, so most vikings posted zero builds and zero distance. 0.4.3 reads bucket 0 directly (lifetime, only ever goes up).
- Kills and deaths are no longer posted. The dashboard takes kills from the per-world weapon breakdown and deaths from its own death events; a lifetime counter beside those made the dashboard flip its zero-point every few minutes. What this reporter sends is now exactly: builds placed, crafts made, items picked up, distance travelled (total, walked, run, sailed, flown). Items picked up is new in 0.4.3 and feeds the Resources board. The README's disclosure is updated to match.
0.4.2
- No code change. Same plugin as 0.4.1, re-released so the README carries the AI-assistance disclosure at the top and the Thunderstore listing can be filed under the AI Generated category, as the Valheim community's rules ask. If you are on 0.4.1 there is nothing new to gain; the pack pins 0.4.2 only so that everyone is on the listed version.
0.4.1
- Explored-map percentage works on Valheim 1.0 again. 1.0 changed the minimap's fog store from a plain array to a BitArray; 0.4.0 and every earlier build read it as the old array, came up empty, and quietly posted nothing, so no viking's map percentage reached the dashboard on launch night. 0.4.1 reads either shape, and if a future game version changes it again the plugin now logs one warning naming what it found instead of going silent. No change to what is collected, no other feature touched.
0.4.0
- Raw profile-stats reporter. On Valheim 1.0 the third-party stats mod stopped filling the dashboard's stat counters, so the kill, death, build, distance and craft boards (and the collective Great Deeds that read them) went blank. This version reads those counters straight off your own local player profile with the game's own accessor and posts them to the community dashboard on the same five-minute cadence as the map percentage, and once more on logout. Posted: your total kills and deaths, your builds placed, your crafts made, and your distance travelled (total, walked, run, sailed, flown). Nothing per-item, nothing about position, inventory or other players. It uses the same dashboard URL and token already in your config; with no URL configured it sends nothing. New toggle
[Stats] Enabled(default true) turns it off. No change to the map, death or tombstone features. - Version constant corrected. The published 0.3.4 build carried an internal version string still reading 0.3.3, so its load line in the log said 0.3.3 while the package was 0.3.4. The 0.4.0 build reports 0.4.0 everywhere.
0.3.4
- Rebuilt against Valheim 1.0 (build 25185596, 2026-09-09). Required, not cosmetic: 1.0 renumbered the game's
GlobalKeysenum, and C# bakes enum values into the compiled plugin, so the 0.3.3 build tests the wrong world key on a 1.0 server and the tombstone keep-list would never engage there. 0.3.4 readsdeathkeepequipcorrectly on 1.0. No source changes, nothing new collected, same three patches, same config keys. Use 0.3.4 on 1.0 servers; 0.3.3 stays correct only for 0.221.x.
0.3.3
- Startup health line hardened for the Valheim 1.0 rebuild. The
patch classes applied: N/Mline now counts against a fixed roster of the three patches instead of the classes the runtime managed to load, so a patch that fails to load because a game type changed reads2/3plus oneMISSING patch class <name>error naming what stopped working, instead of a false2/2. No change to what is collected or how the tombstone keep-list behaves.
0.3.2
- The map-percentage post now carries the reporting character's own name as well, exactly as death reports have since 0.3.1. It is the same name that was already in the message, sent a second time so the dashboard can confirm a reading came from the character it belongs to and refuse one posted for somebody else. Nothing new is collected and nothing changes for you.
0.3.1
- Death reports now carry the reporting character's own name alongside the victim's, so the dashboard can tell a genuine self-report from one posted by somebody else. For you this changes nothing, since the two names are always yours, but it lets the server refuse a death filed for a player who did not file it. Nothing new is collected: it is the same character name the map-percentage post has always sent.
- Each Harmony patch is now applied on its own, in its own guard, and the plugin logs
patch classes applied: N/Mat startup. If a future Valheim update changes one of the three hooks, the other two keep working and the log says exactly which one failed instead of the plugin going quietly half-dead.
0.3.0
- Tombstone keep-list: on a world where the vanilla
deathkeepequipglobal key is set, your weapons, shield, torch, tools and ammo stay on you instead of going into the grave; resources, food and loot still drop. Implemented as a Harmony prefix/finalizer pair onInventory.MoveInventoryToGravethat temporarily reuses the game's own "equipped items are spared" filter, so a failed patch degrades to exact vanilla behaviour. Inert on any server that has not set that key. Configurable (and disableable) via[Death] KeepItemTypes.
0.2.0
- Death reporter: on your character's death, posts the game's true kill record (hit type, attacker name, biome) so the dashboard logs honest causes. Same endpoint, same off-by-default behavior, fully wrapped so it can never affect gameplay.
0.1.1
- Resubmission with full data-disclosure README and source link. No code changes.
0.1.0
- Initial release: explored-map % → Eilif community dashboard Cartographer board.