Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Longhouse
Every Ezomic mod, pinned to one set that a server will accept.
| Date uploaded | a day ago |
| Version | 2.0.3 |
| Download link | Ezomic-Longhouse-2.0.3.zip |
| Downloads | 9 |
| Dependency string | Ezomic-Longhouse-2.0.3 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350Ezomic-Longhouse_Core
Shared plumbing for the Ezomic mods. Installed for you as a dependency.
Preferred version: 1.2.3Ezomic-Rist
A character level beside the skills, carved into runestones you choose and deepen.
Preferred version: 1.2.2Ezomic-Utangard
Biomes nobody in your group has earned starve you: food burns away, buffs are refused, and the land leaves you sapped.
Preferred version: 1.3.0Ezomic-Vaettir
Plant an ancient seed, feed it greydwarf blood, and a forest spirit answers. Build it a home and it sorts your chests.
Preferred version: 1.5.3Ezomic-Dyrr
A door policy: characters that have played elsewhere do not come in. Off until an admin turns it on.
Preferred version: 1.4.0Ezomic-Sinka
Snap points for chests, fences and anything else that will not line up.
Preferred version: 1.0.0Ezomic-Kynda
Load a smelter, kiln or fire several at a time. Fewer trips; the same metal out.
Preferred version: 1.1.0Ezomic-Taum
Farm animals follow: Alt+E on a tamed boar or hen and it walks with you; Alt+E again and it stays.
Preferred version: 1.0.0Ezomic-Lur
Sound a horn in one of Hildir's dungeons and its mini-boss wakes again.
Preferred version: 1.1.0Ezomic-Vaka
Fires keep while you are away. A single absence costs one fuel, however long it was.
Preferred version: 1.0.0README
Longhouse
Every Ezomic mod, pinned to one set that a server will accept.
This is a pack, not a mod. There is no DLL here and nothing to patch; the package is a manifest naming each mod at an exact version, plus this file and an icon. Installing it installs all of them.
There is a server
The pack exists because of one. Longhouse is a small EU server on Amsterdam time running exactly this set: fresh world, hard combat difficulty, everything else vanilla, resources at 1x. No application and no activity requirements.
The Discord is the only door. Connection details are posted inside once you are through it.
Two things worth knowing before you decide. Your viking has to be new and must never load another world, because Valheim permanently records every world a character has visited and never removes the record, so a single trip into your own save locks that character out of the server for good. It is enforced by Dyrr, which is in this pack and off by default for everyone else.
And none of that is a condition of using the pack. Every mod in here works on your own world, alone, with the door policy switched off. The server is an invitation, not the price.
Why a pack rather than a profile code
The mods share Core, which compares versions and the compiler's build id at connect time and refuses a client that does not match the server. That gate is the whole reason a stranger can be handed a folder of DLLs and trusted to join: a mismatch is a closed door rather than an hour of play into a world that quietly disagrees with itself.
A pack is what makes the gate never fire on someone who did nothing wrong. Exact pins mean every person who installs Longhouse is holding a byte-identical set, so "did you get the right version" stops being a question anyone has to ask in Discord.
An r2modman profile code does roughly the same job and is worse at it. A code is opaque: you cannot read what is in it before you accept it, there is no history, and last week's code is gone. A pack has a version, a changelog, and every previous version stays on Thunderstore.
What is in it
The set a server holds everyone to - not the whole shelf. Devkit is deliberately absent:
it is the in-game menu the others are tested through, and it has no business on someone
else's machine. Some mods are published on their own and are nobody's obligation to install;
others are held back because they have not been played, and a pack member is a promise about
how a server plays. The member list in tools/build-manifest.ps1 carries the reason for each
one, beside the mod it applies to.
Some of these do their work on the server rather than the client, and are in the pack anyway. That is not an oversight. A client without a content mod's prefabs cannot resolve the hashes in the ZDOs the server sends, and ZNetScene discards a ZDO whose prefab name does not resolve rather than complaining. The creature or the dungeon does not appear, nothing is logged, and it looks like the server is broken.
The pins are generated
Exact pins mean any single mod's version bump makes this manifest wrong. Hand-editing fifteen lines every release is the kind of chore that gets skipped once and then ships a pack pinning a version nobody has, so it is a build step instead:
.\tools\build-manifest.ps1
It reads each member's own manifest.json (the same file that mod's package is built from,
so the pin cannot drift from what is actually published) and rewrites manifest.json here.
A member that is missing or malformed is a loud failure, not a silently shorter pack,
because a pack one mod short leaves every player failing the version gate for a reason none
of them can see.
The member list inside the script is explicit rather than "every folder with a manifest". Devkit has a manifest too, and a mod that is written but not ready should not join the pack the moment it exists.
Pass -PackVersion to renumber; with no argument it keeps whatever the manifest already
says, so refreshing pins never silently renumbers the pack.
Versioning
The pack's version is its own and does not track any member's. It goes up when the set changes: a mod added, removed, or repinned. What changed in each is in that mod's own changelog; what changed in the set is in CHANGELOG.md.
Reporting bugs
The Discord is the fastest route for anything in the pack, and the right one when you cannot tell which mod is responsible. That is most of the time, and it is the reason to ask here rather than guess at one mod's issue tracker. Issues on the pack repo work too.
Bring BepInEx\LogOutput.log if you can, and say whether you were on a server or your
own world. It names every mod that loaded and its version, which is usually the first
thing worth knowing.
CHANGELOG
Changelog
Notable changes to the Longhouse pack. Format follows Keep a Changelog, and the pack uses semantic versioning.
The pack's version is its own and does not track any member's. It moves when the set changes: a mod added, removed, or repinned. What changed inside a mod is in that mod's changelog.
[2.0.8] - 2026-09-11
Repins Vaettir to 1.5.3.
Fixed
- The stowing post could not see the chests in a real base. Its search used a fixed 256-collider buffer with no layer mask, and a buffer that fills is a truncation that reports nothing - every wall, beam, floor and terrain collider competed for those slots. Measured in a real base: over 1,024 colliders within 12m of one post, and all 24 of its chests invisible. It failed exactly where the mod is used and passed exactly where it is tested.
[2.0.7] - 2026-09-11
Repins Vaettir to 1.5.2.
Fixed
- The stowing post would not send its spirit anywhere: it sat idle beside a correctly configured chest, reporting that it had nowhere to go. 1.5.1 fixed that question for the destination chests and left the post asking it about itself, so the chests became reachable and the post still never set off.
- The post's hover counted everything it held and called that "with nowhere to go", so a post holding one placeable stack read the same as one holding something nothing wanted. It counts what it claims now.
[2.0.6] - 2026-09-11
Repins Core to 1.2.3.
Fixed
- A row bought from the trader drew its slots with no wooden panel behind them, and stayed that way for the rest of the session. Reported by a player; the panel only ever grew for rows a mod claimed, and buying one moves the baseline those are counted from.
- Every chest window was a row of wood too tall, above and below. The container window is a child of the player window, so the search for the inventory backdrop was finding the chest panel as well and growing it too.
- A chest window could end up below the screen once a character had bought every row a trader sells. It overlaps the inventory instead now, which is awkward and reachable.
[2.0.5] - 2026-09-11
Repins Vaettir to 1.5.1.
Fixed
-
The stowing post could report having nowhere to go while a correctly configured chest stood in range, could send its spirit back and forth without ever delivering, and - once trips started landing again - could duplicate what it moved. Three bugs, each one hidden by the one before it, all older than Valheim 1.0.
The duplication is the reason to update rather than to wait: it needed a trip to actually land, which the second bug made rare, so a post on 1.5.0 could be quietly multiplying a stack larger than ItemsPerTrip with nothing in the log to show for it.
[2.0.4] - 2026-09-10
Repins Rist to 1.2.2.
Fixed
- Quick study's capstone read "+2 m_skillLevelModifier at rank 5" instead of "+2 skill levels". The card was working; it was the label that was missing.
[2.0.3] - 2026-09-10
Repins Rist to 1.2.1.
Fixed
- Rist's experience bar disappeared and did not come back. On a server it went before you ever saw it; in singleplayer it went the first time you died or hid the HUD. The bar is a clone of the eitr panel, which vanilla keeps switched off for a character with no eitr, and the one write that brought it up was lost the first time the bar was hidden. Nothing was wrong with anyone's experience or levels - it was the display only, and the panel kept showing the right numbers throughout.
Changed
- The "rist waiting" note now sits above the bar and follows it, rather than at a fixed screen position it had drifted away from.
- Rist's bar positions are measured against your HUD's canvas scale now instead of in raw
screen pixels, so the position a server sets is the same visual position on every
player's screen. If you had tuned
BarPosXorBarPosYby hand in singleplayer, they mean something slightly different after this and may want re-nudging once. On a server the host's values apply either way.
[2.0.2] - 2026-09-10
Repins Core to 1.2.2 and moves the BepInEx dependency to 5.4.2350.
Fixed
- A fifteen row inventory on the first login after the update. Valheim 1.0.7 only asserts
the row count for a character that already carries an
invrowskey, and writes the key without asserting anything for one that does not. Every character made before 1.0 is in that state exactly once, on its first 1.0 login, so Core never learned the real height and the grid came up fifteen tall. Nothing could be lost - the eviction fence held - and it cleared itself on the next login, but it was alarming and it was going to happen to everybody once. Core 1.2.2 learns the height on that login too.
Changed
- BepInEx dependency 5.4.2333 -> 5.4.2350. 5.4.2333 predates Valheim 1.0; denikson rebuilt the pack for 1.0 on the day it shipped. Harmony is 2.9 in both, so nothing about how these mods patch the game changes.
[2.0.1] - 2026-09-10
Repins Core to 1.2.1. Anyone on 2.0.0 should update: the Longhouse_Core 1.2.0 that pack pins contains the 1.1.0 assembly, so the inventory row protection is missing from it and items placed in a Rist-granted row can be destroyed on relog.
Fixed
- Longhouse_Core 1.2.0 -> 1.2.1. No gameplay change in the pack itself. Core 1.2.0's package was built from a stale staging folder and shipped August's 1.1.0 binary under September's version number; 1.2.1 is the same release with the assembly it always claimed to have. Found by updating the live server to 2.0.0 and watching Core announce itself as 1.1.0 on boot.
[2.0.0] - 2026-09-10
The Valheim 1.0 pack. Thirteen mods instead of nine, and every member rebuilt against the new game.
Valheim left Early Access on 2026-09-09 with Deep North, an achievements system, crossplay across six platforms and a balance pass. This pack does not work on pre-1.0 Valheim and the 1.1.x line does not work on 1.0. Core compares the compiler build id, so a mismatch is a refused connection rather than a degraded session. If you are staying on an older game build, pin 1.1.7 and do not take this.
Major rather than minor, against this pack own rule that the version moves with the set, because that break is what a major version is for and the version number is the only signal a mod manager conveys.
Joining
- Lur - sound a horn in one of Hildir dungeons and its mini-boss wakes again.
- Skaft - hammer repair reaches further the higher your Crafting skill. It was published standalone on 2026-09-02 and held out since, for a reason that turned out not to be Skaft: it is marked HostOnly, but Core read each mod requirement off the manifest and discarded it, so a Core server without Skaft refused every client that had it. Fixed in Core 1.2.0.
- Vaka - fires keep while you are away, and a single absence costs one fuel however long it was.
- Dvala - a dungeon left alone for thirty in-game days fills back up: chests restock, veins come back, and a spent spawner wakes. It registers no prefab, so unlike the rest of the set it can be added or pulled without costing anybody a built thing.
Surge stays out, as it has since the pack began.
What 1.0 broke, and what it cost
Four members did not compile against the new game: Hoverable gained a member, Inventory.AddItem gained a required flag, and PlayerProfile stat record became an array of ten as part of the achievements system. Those are the loud failures.
Three more compiled and then failed at runtime, which is the half worth reading:
- Yoke was clamping over-limit stacks back down on load and saving them clamped, destroying the excess permanently. Its load-path guard targets one exact method, and 1.0 moved the clamp onto a different overload - so the guard silently stopped guarding.
- Utangard was entirely inert. One changed method signature threw out of PatchAll and took all twelve of its patches with it, while it still registered on the gate and still refused mismatched clients on behalf of a mod that was not running.
- Core could not apply its inventory load protection, because 1.0 added a second Inventory.Load overload and the patch became ambiguous.
All three are fixed. Core also now isolates its patch groups and applies the inventory pair first, so a handshake failure can no longer take the protection that keeps items out of the bin with it - that change caught the ambiguity above on its first run rather than eating a row.
Also in this release
- Kynda no longer destroys what you built when its upgrades setting is switched off. That setting used to skip prefab registration, and ZNetScene discards any ZDO whose prefab name does not resolve - so one config edit deleted every Tun and Woodrack standing, and because the file is host-imposed a host could do it to everyone. It gates the build menu now and nothing else.
- Skaft and Auki were reading the wrong global key: GlobalKeys is the one implicitly numbered enum in the game API and 1.0 inserted ten members, moving NoWorkbench from 22 to 27. Read by name now.
- Rist works out which stat fields count from 1 by asking the game rather than from a list, so a rebalance cannot make it write 0.03 where it means 1.03.
- Yoke and Hirsla now say when a biome carries items no boss will ever unlock, instead of leaving it silent. Deep North is the first case.
Also fixed, from an audit of the released mods
Ten paths to permanently destroyed save data and four that refused players, found by auditing the twelve published mods against the failure classes Valheim 1.0 exposed. The ones a player would have met:
- Rist granted its extra inventory rows before proving the guard that protects them was installed, and would delete every player's card history if its catalogue failed to load.
- Yoke raised stack sizes whether or not the guard that keeps stored stacks whole had actually replaced anything. It now ships vanilla sizes rather than unprotected ones.
- Kynda and Vaettir each had a config switch that skipped a prefab declaration rather than hiding a feature - and an undeclared prefab is not a missing piece, it is every one already built discarded from the world. Both register unconditionally now.
- Utangard put thirteen patches on with one call, so one changed signature took all of them; it also starved people when the seams that make the penalty escapable were missing.
- Dyrr refused every player at the door, with an accusation, when a client could not read its own travel record.
- Lur was offered by Hildir at a placeholder price and could not be bought at all.
Unchanged
Sinka, Taum and Vaka needed no changes and keep their versions. Lur is at 1.1.0 for the store fix above.
[1.1.7] - 2026-08-29
One repin, no set change: Yoke 1.0.5 to 1.1.0.
Metals now get their bigger stacks when the boss of their own biome falls, instead of all of them waiting on Bonemass. Copper and tin at the Elder, iron at Bonemass, silver at Moder, black metal at Yagluth - the same rule every other item already followed. Anyone past the Elder gets bigger copper and tin stacks as soon as they log in.
Nothing else in the set moved.
[1.1.6] - 2026-08-29
One repin, no set change: Vaettir 1.4.0 to 1.4.1.
The planting grid would not turn on a server while turning perfectly in singleplayer. Its angle is a float, so Core's config sync treated it as a rule the host decides and put the host's value back every time a scroll changed it. It is declared personal now, the way a keybind already was. The rules a server should decide - spacing, the skill gates, the harvest numbers - are untouched and still host-decided.
Nothing else in the set moved.
[1.1.5] - 2026-08-29
One repin, no set change: Vaettir 1.3.1 to 1.4.0.
Shift+E on a ripe crop now harvests the bed, reaching two metres at Farming 15 and eight by 80. Plain E still picks exactly one, and only crops are ever taken - the grown stage of something plantable, read from the game rather than from a list, so wild berries, mushrooms, thistle and dandelion are untouched.
Nothing else in the set moved.
[1.1.4] - 2026-08-29
One repin, no set change: Vaettir 1.3.0 to 1.3.1.
The planting grid shipped in 1.1.3 and did not survive first contact. It drew nothing until the second plant of a bed, so the one plant that most needed aiming was placed blind and fixed the rows for every plant after it; and its turn key was never received at all, because Furrow read keys through the legacy Input class while Valheim runs on the new Input System. Both are fixed, and the mouse wheel now turns the rows - which costs nothing, since the game re-randomises a crop's facing after every placement anyway.
Worth updating for anyone who plants. Nothing else in the set moved.
[1.1.3] - 2026-08-29
Five repins, no set change. The set is the same nine mods.
- Vaettir 1.2.1 to 1.3.0. Transplant digs up the plant you are actually pointing at; the planting grid can be lined up with what you have built, drawn on the ground before you commit, and turned with the middle mouse button; and a ring says whether a sapling will have room to grow before the seed is spent - which the game itself does not check until ten seconds after it is too late.
- Yoke 1.0.4 to 1.0.5. Stack sizes were wrong for a lot of items, permanently and quietly: nineteen recipe outputs frozen at the wrong biome and twelve rows of Mistlands and Ashlands drops sitting in the meadows tier.
- Dyrr 1.2.0 to 1.3.0. The mod rule can be watched without being enforced, instead of the choice being enforce-everything or nothing.
- Kynda 1.0.2 to 1.0.3. A dedicated server stops chasing materials it can never load - 68,000 log lines a day on the live server, which had drowned a real fault.
- Rist 1.1.0 to 1.1.1. The plugin announced itself as 1.0.1 while packaged as 1.1.0. Harmless while everyone runs the same build, and not harmless otherwise.
Core, Utangard, Sinka and Taum are unchanged. Core's only commit adds shared source that is compiled into Yoke rather than into Core's DLL, so its bytes and its build id are the same and nobody is forced to update by it.
The generator had been wrong for two releases
The pins here are produced by tools/build-manifest.ps1 from each member's own
manifest, precisely so a pack cannot pin a version nobody has. Sinka, Kynda and Taum
joined the set in 1.1.0 and were never added to the generator's member list - their
pins were hand-written into the manifest instead - so the generator and the file it
generates had disagreed ever since.
Running it for this release silently produced a seven member pack from a nine member set. That is the one failure this script exists to prevent, and it is quieter than the stale member name that broke it in 1.0.x, which at least refused to run. A pack one member short is not a smaller pack: it is every player refused by Core's version gate, for a reason none of them can see from inside the game. The list is corrected and the pins below are generated.
[1.1.2] - 2026-08-27
One repin, no set change.
- Kynda 1.0.1 to 1.0.2. The Tun's borrowed material is loaded by name now rather than by summoning the vendor camp around it, so it is painted correctly from the first moment instead of arriving magenta and healing.
[1.1.1] - 2026-08-27
Two repins, no set change.
- Vaettir 1.2.0 to 1.2.1. Grid rows no longer drift out of line while planting.
- Kynda 1.0.0 to 1.0.1. The Tun is no longer magenta on a fresh world: a missing donor material now streams its carrier location in, and standing pieces heal in place.
[1.1.0] - 2026-08-27
Three mods join, and one grows. The set moves from six to nine.
- Sinka 1.0.0 (was Dovetail). Chests and fences that line up: snap points on every corner, and a ladder of them up fence ends so a fence can climb a hill.
- Kynda 1.0.0 (was Stoker). Feed smelters and kilns by the batch, and build their two upgrades: the Tun beside a smelter, the Woodrack beside a kiln.
- Taum 1.0.0. Alt+E on a tamed boar or hen and it follows you; again and it stays - the wolves' own follow, opened to the farm animals.
- Vaettir 1.1.0 to 1.2.0. Thicket: dig up wild berry bushes and walk them home in your arms. Bonemeal: two bones and an entrail, richer harvests. And from Farming 10, the cultivator plants in a grid.
The two renames are new packages: Dovetail and Stoker were never published, so nothing breaks - the names simply arrive in Old Norse like the rest of the set.
[1.0.9] - 2026-08-26
One pin moves: Yoke 1.0.3 to 1.0.4. 1.0.8 pinned a Yoke whose package carried the previous version's DLL - the stack-loss fix it announced never actually shipped. 1.0.4 is the same fix in an honestly packaged form. Skip 1.0.8.
[1.0.8] - 2026-08-26
One pin moves, urgently. Yoke 1.0.2 to 1.0.3: stored stacks survive loading. A relog could destroy the top half of any stack above its vanilla limit - 100 greydwarf eyes in a chest read 50/100 afterwards - because stack limits are briefly vanilla in the moment after login, and the game's inventory loader clamps to the limit of that moment. The clamp is removed from the load path; nothing else changes.
[1.0.7] - 2026-08-26
Two pins move.
-
Yoke 1.0.1 to 1.0.2. Coins are back at their vanilla stack of 999. The stack cap was written as a ceiling on the multiplied result, which quietly cut anything whose vanilla stack already exceeded it - and coins, at 999, were the one item that did. The cap now limits growth only.
-
Dyrr 1.1.1 to 1.2.0. The door works in both directions now: a player who is genuinely still - no movement, no camera - for 5 minutes is kicked, after a warning in their chat two minutes ahead. An AFK body holds a slot, keeps its zones simulated and blocks the night from being skipped. The disconnect screen says why, and the departure is posted to Discord like any other.
[1.0.6] - 2026-08-25
Five pins move. Two of them fix a bug that was doing damage on the server, and the other three are work that had been sitting unreleased.
The one that matters
A biome could latch open for the whole group off a half-loaded world, permanently. It did: on 25 August the Swamp opened while seven of the nine characters on the roster had never met the Elder, and because the gate never regresses, it stayed open.
ZoneSystem.RPC_GlobalKeys clears every global key and re-adds them one at a time, on every
client, every time anybody sets any key. Yoke's hook on GlobalKeyAdd fires inside that loop
and asked Utangard whether the group had cleared a boss - once per key, against a world that
was still filling in. With a partial roster the counted members can be exactly the two who had
just killed the Elder, and the latch saw a cleared group.
The same window made Yoke write vanilla stack sizes for bosses the group had already killed, and nothing arrived afterwards to correct them, so they stayed wrong for the session.
Utangard 1.2.1 refuses to latch while the keys are settling and no longer caches a roster built from a half-filled list. Yoke 1.0.1 marks on a key and acts once at end of frame. Neither changes a rule, a number or a saved value. A gate already latched open stays open - that is what never-regresses means, and unpicking it afterwards would be the worse promise.
The other three
- Core 1.1.0 - a host no longer takes your keybinds, and
Prefabs.csmoves out of the DLL into shared source. The save-on-inventory-change guard is deliberately not in it. - Vaettir 1.1.0 - the sapling half. A planted seed draws greydwarfs in ramping waves out of the treeline, costs fifty, will not go in a base, and is Black Forest only.
- Dyrr 1.1.1 - a refusal now says who was turned away, name and platform id, so the line that reaches Discord names a person rather than only a rule.
Updating
Everyone has to. All five are inside Core's version gate, so a client on the old set is refused rather than merely out of date. The Utangard fix in particular only does anything with more than one player connected - it needs a key broadcast arriving at a client that did not set it.
[1.0.5] - 2026-08-19
Core repinned to 1.0.2, for one fix: dying no longer eats what was on the extra rows. Nothing else moved, and Core itself moved as little as it could - 1.0.2 was cut from the 1.0.1 commit with that single patch applied on top, not from Core's current branch.
The bug was the worse half of one already fixed. Extra inventory rows survived a relog
because Core widened the player's grid before Player.Load; a grave got no such
treatment. A grave is born the right size and then round-trips through a ZDO that does not
carry the height, so it is rebuilt at the tombstone prefab's vanilla height and every item
below that line is instantiated, refused by a bounds check whose result vanilla discards, and
destroyed. Silent, and delayed: loot your grave straight away and it all looks fine; walk
away or relog first and the bottom row is gone. Which is why it read as random rather than as
a rule.
This one is worth updating for
Every pin in a pack matters, but this one costs items rather than convenience, and it costs them at exactly the moment a player is least able to tell what happened. The server needs it too - Core's gate compares build ids, so a client on 1.0.2 and a server on 1.0.1 do not disagree about graves, they do not connect at all.
[1.0.4] - 2026-08-19
Two pins move: Utangard to 1.2.0 and Dyrr to 1.1.0. No member joins or leaves, and the other four are the versions 1.0.3 already named.
Both moves are forced rather than chosen. Core's version gate compares the compiler's build id, so a client on Utangard 1.1.0 and a server on 1.2.0 do not merely play by different rules - the connection is refused. Leaving either pin behind while a server runs the new build locks out everybody who installed the pack, which is the failure this pack exists to prevent.
What is inside the two, in one line each; the reasoning is in their own changelogs.
- Utangard 1.2.0 widens the gate to a five metre band and stops health regeneration inside it, and gives the rules a compendium page so the person losing their food can read why. Both new rules are configurable and host-synced.
- Dyrr 1.1.0 makes the client refuse a join into the wrong world on its own, whatever the server does, and names a character's home world on the select screen.
The published pack is still 1.0.1
1.0.2 and 1.0.3 were assembled here and never uploaded, so a publish of this version carries all three changes at once: the rewritten page, the Rist repin, and these two. Nothing is lost by skipping the numbers - Thunderstore only requires that a version go up - and the entries below stay where they are because they are the pack's history, not its release log.
[1.0.3] - 2026-08-18
Rist repinned to 1.1.0. One pin moved, nothing else.
Rist now weights XP by which skill earned it, after the server's ledger showed half a character's level had come from felling trees. The reasoning and the numbers are in Rist's own changelog; what matters at pack level is that this pin must move. Longhouse Core's version gate compares the compiler's build id, not the version string, so a client on the old Rist and a server on the new one do not merely disagree about XP - the connection is refused. Pinning 1.0.1 here while a server runs 1.1.0 would lock out everyone who installed the pack.
Two things to know before updating a server
- Every character is re-priced once, on its next login. Levels go down. Runestones already taken are kept, and no new pick is earned until the old level is passed again.
- Rist's ledger moves to
v4and older builds cannot read it, which drops records rather than erroring. CopyBepInEx/config/rist-ledger.txtaside before updating.
[1.0.2] - 2026-08-18
Page text only. No member changed and no pin moved - the set shipped in 1.0.1 is the set here, byte for byte.
This is against the rule three paragraphs up, which says the pack's version moves when the set changes. It moves anyway because Thunderstore versions are immutable: the page cannot be corrected without a release, so the choice is a version that means nothing or a page that stays wrong. The rule is about not renumbering the pack to track a member's bump, and that still holds.
Changed
- The page now says there is a server, near the top rather than buried under bug reporting. It carries the character rule up front, because finding that out after joining is how you lose a player rather than gain one, and it says plainly that the pack works alone so the page does not read as a recruitment funnel to everyone who only wanted the mods.
- Fixed
[Core](../core), a relative link that resolves in the repo and 404s on the package page, which is the only place this file is read by anyone who is not me.
[0.1.0] - 2026-08-16
First assembly of the pack. Not published.
Members
Six mods. Devkit is deliberately absent, and so is every mod that is published on its own or has not been played.
| Core | the version gate the rest depend on |
| Yoke | quality of life |
| Rist, Utangard | progression and pressure |
| Vaettir, Dyrr | the spirits, and the door policy |
Held out, each for its own reason: Thralls, Tether, Stoker and Dovetail have never been played through; Surge, Fiends and Delve are published on their own; Nidling is a creature, and a published creature commits the suite to its prefab name forever; Saga writes per-player state and is at 0.1.0. Stow and Furrow are not separate mods any more - both ship inside Vaettir, so the pack gets them through that member.
Generated pins
- Pins are built by
tools/build-manifest.ps1from each member's ownmanifest.json, so a pin cannot drift from the version that mod actually publishes. - A missing or malformed member is a loud failure rather than a shorter pack. A pack one mod short leaves every player failing Core's version gate for a reason none of them can see from inside the game.
- That failure did its job and was then ignored: the list named
witherafter the mod became Utangard, so the generator refused to run and the manifest was hand-edited for two days instead. The pins here are generated again.
Known limits
- Nothing in this pack has been published, so none of the pins resolve on Thunderstore yet. The pack is assembled ahead of the uploads rather than after them.
- Several members are at 0.x and have never been run in a session. The pack pins what exists, not what is finished.