About ValminEye
From ThunderstoreServer-only plugin that writes joins, leaves, boss fights, first boss kills and raids to the server log as JSON lines for Valmin. Install it on the dedicated server; players need nothing.
ValminEye
A server-only BepInEx plugin for Valheim dedicated servers that reports game events Valmin cannot see in the vanilla log: who joined and left, boss fights and who fought them, the first time each boss is defeated, raids, and when the world has started.
Status: in development, not released. The event format below is a draft and may change before the first release. No event has been checked on a live server yet.
How it works
ValminEye opens no port and accepts no input. It writes one line per event to the BepInEx log, which reaches the server's standard output. Valmin already follows that stream for readiness, saves and joins, so the plugin adds no new transport, credentials or firewall rules.
Players keep a vanilla client. Nothing needs to be installed on their machines.
Commands sent into the game, such as chat warnings, are not part of this plugin. Valmin sends those over RCON through the Tristan-ValheimRcon mod. Messages posted to Discord are written by Valmin from these events, and their wording is set in Valmin, not here.
Event format (draft, version 1)
Every event is one log line from the BepInEx source ValminEye, with one JSON object as the message:
[Info : ValminEye] {"v":1,"event":"join","player":"Alex","id":"Steam_76561198000000000"}
| Field | Meaning | | ------- | --------------------------------------------------------------------------- | | v | Format version. A consumer ignores lines with a version it does not know. | | event | Event name, from the table below. |
| Event | Fields | When | | ----------------- | ----------------------------------- | -------------------------------------------------------------------- | | join | player, id | A player's character entered the world. | | leave | player, id | A player who had joined left: quit, lost connection, kick or ban. | | boss_first_kill | key, boss, day, duration, wipes, players | A boss was defeated for the first time in this world. | | boss_fight_start | key, boss, first, day, players | A boss noticed players and a fight started. | | boss_fight_end | key, boss, first, outcome, day, duration, players | The fight ended. | | raid_start | raid, name, players | A raid started, named by the game's event name, for example army_eikthyr. | | raid_end | raid, name, players | The raid ended. | | world_start | world, day | The world has loaded and the server is about to open to players. |
playeris the character name.idis the platform id in theSteam_<id>form Valmin's
player lists use.
keyis the world key the game sets, for exampledefeated_eikthyr.bossis the boss's
English name from the game's own text, for example Eikthyr. It is left out when the game has no name for the key, for example for a key added through the config.
dayis the in-game day, the number players see as "Day N".playerslists everyone in the fight: each player the boss recorded as hitting it, and
each player who died near it. Every entry has player, id and deaths, the number of times that player died near this boss since it was last defeated. Players who never died show 0.
durationis how long the fight lasted, in whole seconds. Onboss_first_killit is the
winning fight, and it is left out when no fight was seen.
wipesis how many fights against this boss ended without a kill since the server started.firstistruewhen the boss had never been defeated in this world when the fight started.
By default only these fights are reported (FirstOnly).
outcomeiskill,wipe(the boss lost track of the players, because everyone died or
ran, or everyone left its area) or gone (the boss disappeared without dying, for example removed by a command). On boss_fight_end, players lists everyone who came within DeathRadius of the boss during the fight, with the deaths in that fight. On boss_fight_start the entries have no deaths.
nameon a raid is the message the game shows players when it starts, in English, for
example The ground is shaking. The game has no other name for a raid. It is left out when the game has no text for the raid.
playerson a raid lists the players inside the raid area when the line is written, each
with player and id. The area is the circle the game itself uses for the raid. A raid ended with the stopevent command can have no players.
worldis the world's name, as in the server's-worldoption.- A raid already running when the server restarts is not reported again.
Every field except v, event, key, raid, outcome, player and world can be turned off in the config, and so can every event.
There is no event for the plugin loading. BepInEx itself logs [Info : BepInEx] Loading [ValminEye 0.2.0], and Valmin reads that line to tell that the plugin runs and which version.
A boss fight that ended in a wipe:
[Info : ValminEye] {"v":1,"event":"boss_fight_end","key":"defeated_gdking","boss":"The Elder","first":true,"outcome":"wipe","day":31,"duration":184,"players":[{"player":"Alex","id":"Steam_76561198000000000","deaths":2}]}
A boss kill example:
Highlights
From source dataLoaders
Runs on BepInEx.
Footprint
Rated a light load on a server.
Last update
Its author last shipped an update 18d ago.
ValminEye on Nxeon
From our catalogue- One-click install
- Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
- Server side
- Required on the server
- Server type needed
- BepInEx
- Server load
- light
- Smallest plan we suggest
- Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
- Latest build
- 0.2.0, released 2026-10-17
Game versions by loader
| Loader | Game versions | Newest |
|---|---|---|
| BepInEx |
From 1 recorded build of ValminEye.
Dependencies
- Required: BepInExPack Valheim
Declared by the newest build that lists any. Required ones are installed with it on one-click installs.
Run ValminEye on a Valheim server
Pick a server or deploy a new one above; it is installed in one click.
What kind of mod it is
From the catalogCreatures & NPCs
Adds or changes creatures, NPCs and how they behave.
Runs on your server
From source side supportThunderstore lists ValminEye as required on the server. Check its Thunderstore page to see whether players need it too.
Compatibility
- Game
- Valheim
- Loaders
- BepInEx
- Runs on
- Serverrequired on the server
- Requires
- One-click install needs a BepInEx server.
Verified at the source
- ✓ThunderstoreOfficial listing, checked 2026-10-18Open ↗
- ✓Authorvalminhq, as published on Thunderstore
- ✓LicenseNot published by the sourceFree






