Longhouse Core

版本 v1.4.0·更新於 2026-09-22

Shared 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

安裝與使用 安裝:BepInEx 外掛

  1. 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
  2. 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
  3. 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
  4. 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。

帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

denikson-BepInExPack_Valheim

檔案與校驗

檔案名稱
Longhouse_Core-1.4.0.zip
檔案大小
106.0 KiB