About Longhouse Core
From ThunderstoreShared plumbing for the Ezomic mods. Installed for you as a dependency.
Longhouse Core
Shared library for the Ezomic Valheim mods. It handles the parts that only make sense once, per machine rather than per mod: checking that a client and a server are running the same mods, applying the host's settings while you are connected, and arbitrating extra player inventory rows between mods that each want some.
You normally get it as part of the Longhouse pack. It is a single DLL with no assets, built against Valheim 1.0.7, Unity 6000.0.75, BepInEx 5.4.23.5 and Harmony 2.9.
Features
- Version check. Each Ezomic mod registers its guid, version and build id. When a client
connects, both ends exchange that list, and the server rejects a client whose list does not match. The reason is written to both logs and appended to the client's "Incompatible version" screen, which otherwise says nothing useful.
- Host config. The server sends its settings for every registered mod, and the client
uses them for as long as it is connected. Nothing is written to the client's config file, and the client's own values come back on disconnect.
- Shared inventory height. Mods claim a number of extra player inventory rows instead of
writing Inventory.m_height themselves. Core sums the claims and writes the field once, so two mods that both want rows get both, and it protects the contents of those rows during loads.
- Server chat lines. A server can put a line in each player's chat window, under a name
of its own choosing. Vanilla cannot: its chat message names a connected player, and a server is not one. Crier uses it for chat written on the Longhouse site.
The first three can be turned off in the config file. The chat line has nothing to turn off: nothing sends it but a server running Crier.
This repository also carries shared/Prefabs.cs and shared/BiomeIndex.cs, which are source files mods link into their own projects. They are not part of the DLL. See For mod authors.
Installation
Install BepInEx 5.4.2350 first. These mods use the BepInEx 5 API and will not load on BepInEx 6.
A mod manager handles it if you install the Longhouse pack, which pins Core along with every other member. To install it on its own, drop EzomicCore.dll in BepInEx\plugins\Core\.
Install it on the dedicated server as well as on clients. The server is the only side that can actually refuse a connection, so a server without Core does not check anything, whatever its clients are running.
Core is an optional soft dependency for the individual mods. Each one checks whether Core is loaded and, if it is not, logs a line saying it is running standalone and carries on without the version check and the host config. The exception is Delve, which requires it outright.
Configuration
BepInEx\config\ezomic.valheim.core.cfg, all under a Multiplayer section.
| Key | Default | Effect | | --- | --- | --- | | EnforceVersions | true | Refuse a connection when the two ends disagree about which Ezomic mods are installed or about their versions. Turning it off does not make a mismatch safe, it makes it silent | | EnforceBuilds | true | Also refuse when both ends claim the same version but were built from different source. Turn this off if you build the mods yourself on more than one machine: the build id depends on source paths, so the same commit in a different folder produces a different id | | EnforceConfig | true | Apply the host's settings while connected. On a server this decides whether it sends them, on a client whether it accepts them |
Multiplayer
The mod list goes out in ZNet.OnNewConnection, before either side sends PeerInfo, so it has arrived by the time the check runs. Every disagreement is reported at once rather than one per reconnect attempt.
What gets compared, per registered mod: the version string, then the build id (the assembly's module version id, which the compiler derives from the compilation inputs), then a hash of the mod's data file if it declared one. A missing build id or data hash from an older Core on the far end is treated as unknown, not as a mismatch.
A mod registers as Everyone or HostOnly. Everyone means both ends need it at the same version. HostOnly means clients without it are let in, but a client that does have it is still checked against the host, in both directions. Skaft is HostOnly, for example: it is client-side hammer repair and the server neither gains nor loses by a client having it.
The client checks too, but only to write a readable log and put the detail on the refusal screen. There is one place a connection is actually closed, and it is on the server.
Config sync. Registering a mod syncs its whole config file, minus keybinds and minus anything the mod held back with Suite.Local. Values are swapped in memory on the client, the originals are kept, and they are restored when ZNet.Shutdown runs, which covers quitting to the menu, being kicked and the connection dropping. If ConfigurationManager is installed, an imposed entry is greyed out, and editing one anyway puts the host's value straight back.
Keybinds (KeyCode and KeyboardShortcut entries) are never imposed on a client unless the mod that owns them calls Suite.Sync on them explicitly.
A client can set EnforceConfig = false and keep its own settings. The version check is what the server enforces; the config sync is cooperative.
Inventory rows
Valheim 1.0 has its own inventory row feature, and it evicts anything below the row count it believes in. Core works with that rather than against it.
- The grid is capped at 9 rows. That is vanilla's clamp in
Player.SetInventorySizeand
there is no way past it.
Highlights
From source dataLoaders
Runs on BepInEx.
Footprint
Rated a light load on a server.
Last update
Its author last shipped an update 43d ago.
Longhouse Core 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 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.4.0, released 2026-09-22
Game versions by loader
| Loader | Game versions | Newest |
|---|---|---|
| BepInEx |
From 12 recorded builds of Longhouse Core.
Recent builds
| Build | Released | Game versions | Loaders |
|---|---|---|---|
| 1.4.0 | 2026-09-22 | n/a | BepInEx |
| 1.3.0 | 2026-09-21 | n/a | BepInEx |
| 1.2.5 | 2026-09-19 | n/a | BepInEx |
| 1.2.4 | 2026-09-12 | n/a | BepInEx |
| 1.2.3 | 2026-09-11 | n/a | BepInEx |
| 1.2.2 | 2026-09-10 | n/a | BepInEx |
Dependencies
- Required: BepInExPack Valheim
Declared by the newest build that lists any. Required ones are installed with it on one-click installs.
Run Longhouse Core 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 catalogLibraries & compatibility
Foundations and fixes other mods build on. Usually installed because something else needs it.
Compatibility
- Game
- Valheim
- Loaders
- BepInEx
- Requires
- One-click install needs a BepInEx server.
Verified at the source
- ✓ThunderstoreOfficial listing, checked 2026-10-01Open ↗
- ✓AuthorEzomic, as published on Thunderstore
- ✓LicenseNot published by the sourceFree






