Source-checkedAdmin & protection

ConsoleStdinHeeler

by DreamWraith · for Valheim

Non-blocking STDIN console input and native server management commands for Valheim dedicated servers.

490Downloads
3d agoLast updated
BepInExLoaders
ThunderstoreSource

About ConsoleStdinHeeler

From Thunderstore

Non-blocking STDIN console input and native server management commands for Valheim dedicated servers.

ConsoleStdinHeeler

GitHub Release GitHub Downloads Last Commit Publish Status Thunderstore Nexus Mods Game: Valheim BepInEx Pack Target: .NET 4.8 Dedicated Server Only License AI Philosophy

Non-blocking STDIN console input and native server management commands for Valheim dedicated servers.

> [!NOTE] > Dedicated Server Focused: This mod is intended specifically for headless Valheim servers (Linux or Windows) running in interactive terminals, multiplexers (screen, tmux), systemd services, or Docker containers. It automatically remains dormant if loaded in a standard game client.


The Problem

In vanilla Valheim, dedicated servers running in headless mode (valheim_server.exe on Windows or valheim_server.x86_64 on Linux) do not read from Standard Input (STDIN). Although logs and status messages print to standard output, server hosts cannot enter commands into the terminal or pipe commands into the server process.

Furthermore:

  • No Native Server Console Input: Dedicated servers do not process interactive terminal input or piped streams. Server hosts cannot run commands locally without installing external RCON mods, game client admin connections, or remote management tools.
  • Missing Operational Commands: The dedicated server binary lacks standard operational commands such as shutdown, stop, kickall, and countdown timers. Halting the server typically requires sending SIGINT (Ctrl+C) or killing the process. A forced kill risks incomplete saves.
  • Main-Thread Blocking & EOF Spin Risks: Synchronous reading on the main thread blocks the Unity game loop. Conversely, naive background readers without stream closure handling can rapidly enter spin loops and spike CPU usage when detached or running under non-interactive environments (e.g. systemd services or detached containers) where STDIN reaches EOF.

The Solution

ConsoleStdinHeeler implements a non-blocking background STDIN listener paired with a main-thread execution queue and dedicated server command suite:

  • Non-Blocking Background Reader: Runs a dedicated background thread (ConsoleStdinHeeler_Reader) reading Console.ReadLine() without blocking the Unity main thread.
  • EOF Stream Closure Guard: Detects consecutive EOF read attempts and terminates the reader thread when the input stream closes, preventing CPU spin in detached environments.
  • Main-Thread Queue Dispatch: Commands from the background reader are enqueued to a thread-safe ConcurrentQueue<string> and executed sequentially during the Unity Update() cycle.
  • Dedicated Server Management Suite: Provides server administration commands, including clean saves, graceful shutdowns with countdown timers, player roster diagnostics, moderation, teleports, broadcasts, raids, and time controls.
  • Mod Command Routing: Routes unrecognized commands to Valheim's central Terminal.commands dictionary with elevated permissions (Terminal.m_cheat, when EnableCheatsByDefault is on), allowing commands from mods like WorldEditCommands, ServerDevcommands, and InfinityHammer to execute directly from the terminal.
  • ANSI Terminal Translation: Translates Unity <color=...> rich-text markup into terminal ANSI color codes for readable, formatted console logs.

Features

Non-Blocking STDIN Architecture

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 3d ago.

ConsoleStdinHeeler 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
1.3.0, released 2026-11-02

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 10 recorded builds of ConsoleStdinHeeler.

Recent builds

BuildReleasedGame versionsLoaders
1.3.02026-11-02n/aBepInEx
1.2.12026-10-23n/aBepInEx
1.2.02026-10-20n/aBepInEx
1.1.32026-10-09n/aBepInEx
1.1.22026-10-09n/aBepInEx
1.1.12026-10-09n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run ConsoleStdinHeeler 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 catalog
Listed on Thunderstore as “Admin”

Admin & protection

Permissions, moderation, anti-cheat and land protection for the people running the server.

Runs on your server

From source side support

Thunderstore lists ConsoleStdinHeeler 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-11-02Open ↗
  • ✓AuthorDreamWraith, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

ConsoleStdinHeeler, answered

Generated from the mod’s own source data.

Do my players need to install ConsoleStdinHeeler?

Thunderstore lists ConsoleStdinHeeler as required on the server. Check its Thunderstore page to see whether players need it too.

Which loaders does it support?

BepInEx.

Is it free?

Yes. ConsoleStdinHeeler is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run ConsoleStdinHeeler on a Valheim server.

Deploy in about a minute from $9.99 a month, then add ConsoleStdinHeeler in one click.