Valheim Lifecycle Announcer
A small server-only BepInEx plugin that lets local lifecycle automation send chat announcements to everyone connected to a Valheim dedicated server. Use it for messages such as restart warnings without giving an external service access to the game process.
Features
- Sends server chat announcements through Valheim's native chat system.
- Accepts local
broadcastrequests over a Linux Unix-domain socket. - Only accepts requests from the same local account that runs the Valheim server; it does not open a network port.
- Runs only on Linux dedicated servers.
Installation
- Install BepInEx 5 for Valheim.
- Download the release ZIP. Its root contains
manifest.json,README.md,CHANGELOG.md,icon.png, andValheimLifecycleAnnouncer.dll. - For a manual installation, copy the root-level
ValheimLifecycleAnnouncer.dllfrom the ZIP to the server'sBepInEx/plugins/directory. Thunderstore-compatible managers can install the ZIP directly. - Start the server once to create
BepInEx/config/io.hexium.valheim.lifecycleannouncer.cfg. - Set
Socket.Pathto an absolute path outside the game directory, such as/run/valheim/lifecycle-announcer.sock. - Create the socket's parent directory for the account that runs the Valheim server.
- Start the server.
The plugin creates the socket with owner-only permissions. Do not create the socket file yourself.
Configuration
The config file is BepInEx/config/io.hexium.valheim.lifecycleannouncer.cfg.
| Setting | Default | Purpose |
|---|---|---|
Socket.Path |
lifecycle-announcer.sock |
Unix-socket path. It must be absolute; its parent directory must already exist. |
Chat.Prefix |
[Lifecycle] |
Prefix added to every announcement. |
Local smoke test
After the server is running, test one standalone socket request with the same account that runs Valheim:
printf '%s' '{"schema_version":1,"operation":"broadcast","id":"manual-smoke-001","message":"Lifecycle announcer smoke test."}' \
| nc -N -U /run/valheim/lifecycle-announcer.sock
The result must be JSON with "ok":true. Repeat the exact request within two
minutes to verify that the plugin returns a cached result instead of sending a
duplicate message.
Compatibility
- Required: BepInEx 5 for Valheim (
denikson-BepInExPack_Valheim5.4.2202 or compatible). - Server only: Clients do not need to install this mod.
- Platform: Linux dedicated servers only.
- Access: The caller must be local and run as the same account as the Valheim server.