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.
ChestNetwork
Build, craft, refuel smelters and fires, and quick stack your items with the chests of your connected crafting station network. Multiplayer-safe.
| Date uploaded | 21 hours ago |
| Version | 0.7.2 |
| Download link | Roims-ChestNetwork-0.7.2.zip |
| Downloads | 419 |
| Dependency string | Roims-ChestNetwork-0.7.2 |
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.2351README
ChestNetwork
Your chests, everywhere in your base. Build, craft and refuel your machines straight from your chests: no more running back and forth to empty them into your inventory.
Website: chest-network.roims.tech (demo video, how the network works, FAQ, comparison with other mods), also in French.
Got an idea, a suggestion or a bug? Come and tell us on Discord: the mod grows with your feedback.
Privacy: ChestNetwork asks once whether you agree to share anonymous usage statistics, and shares nothing unless you say yes. No personal data, ever. See Privacy and telemetry.
Why ChestNetwork?
- Stop juggling materials. Pick a piece or a recipe: the wood, stone and metal stored in your chests count as if they were in your pockets.
- One base, one network. Crafting stations whose zones overlap link up, so a big base works as a single network, workbench to forge to cauldron.
- Shift + E does the chores. Refuel a smelter, an oven or a fire, sort your loot into the right chests, dress an armor stand: one key, done.
- Built for multiplayer. Play with friends without duplicated or vanished items, even when everyone builds from the same chests at the same time.
See it in action
One network for the whole base: stations whose zones overlap link up, and every chest in their zones counts.

Build and craft with the materials stored in your chests.

Shift + E on a smelter or a fire fills it up from the network.

Shift + A does it for every machine of the network that uses the same fuel: all the fires, all the torches, all the smelters.

Shift + E on a chest sorts your loot into the chests that already hold it.

Shift + E on an armor stand dresses it, or swaps your armor with it.

E on an armor stand opens it like a chest: drag each piece onto its slot.

Features
- Building and crafting from the network. Resources are taken from your inventory first, then from the nearest
chests. Requirement lists show
needed/available, chests included. - Crafting station network. Stations whose zones overlap form one network. Standing in the zone of any of them, you can use the chests located in the zone of every station of the network.
- Refuel machines. Aim at a smelter slot (ore or fuel), a stone oven (fuel only), a windmill, a spinning wheel or a fire and press Shift + E (your AltPlace + Use keys, gamepad included): it is filled up from your inventory, then from the network. Shift + A (the key typing A, QWERTY or AZERTY) does the same on every machine of the network that uses the same fuel (all the torches, all the smelters...), nearest first.
- Automatic refuel. Fires, torches, smelters and stone ovens refill their fuel by themselves: each time one burns
a unit, it takes fuel from the chests of its own network (the stations around the machine, wherever the players
are), up to its capacity. Silent, never from a player's inventory, never ore. The server decides
(
[AutoRefuel]). Machines only burn and refill while a player is near enough for them to be loaded. - Quick stack into the network. Aim at a chest of the network and press Shift + E: instead of opening it, your items go into the network chests that already hold them (partial stacks first, then the chest holding the most). The hotbar row and equipped items never move; by default only materials and trophies do.
- Chests keep their items. Building, crafting and refuelling leave one unit of each item in every chest as long as the other chests can provide it, so quick stack still knows where each item goes. The last units are only taken when needed: nothing you could build before becomes impossible.
- Armor stands. Shift + E on an empty stand dresses it with your best set (inventory, then network chests); on a dressed stand, it swaps your armor with the stand's. E opens the stand like a chest: one cell per slot, the helmet, chest, legs and weapons drawn in the shape of the stand, the cape and the utility item (Megingjord, wishbone, wisp...) beside it. Drag a piece in to hang it, out to take it back; nothing falls to the ground any more (unless you drag it out of the window).
- Multiplayer-safe. A chest or machine is only changed by the player who owns it: ownership is handed over first, like when opening a chest, so items are never duplicated nor lost.
- Translated into English, French, German, Spanish, Brazilian Portuguese, Polish, Russian and Simplified Chinese.
Installation
Install with r2modman or the Thunderstore Mod Manager: BepInEx is installed automatically.
Multiplayer: every player and the server (or the host) need ChestNetwork, ideally in the same, latest version. Players without it, or with an incompatible version, are refused when connecting. The server's network and container settings apply to everyone.
Configuration
In the game: Settings > Mods. The everyday settings are there, with the game's own controls (gamepad included) and in your language. Changes apply on OK, Back drops them. When you are connected to a server, the settings it imposes are hidden. ConfigurationManager (F1) shows the same settings.
Every setting, including the expert ones, is in BepInEx/config/jordan.chestnetwork.cfg, created at the first launch.
| Section | Setting | Default | Notes |
|---|---|---|---|
| General | KeepOnePerChest | true | Withdrawals leave one unit of each item per chest while possible (per player) |
| Network | ConnectionRule | OverlappingZones | Or StationInsideZone |
| Network | InclusiveBoundaries | true | |
| Network | AllowedStationTypes | (all) | e.g. $piece_workbench,$piece_forge |
| Containers | UseCarts / UseShips | false | |
| Containers | AllowEquippedItems | false | Equipped items are never consumed |
| Display | ShowAvailableAmount | true | {0}/{1} format |
| Filling | InventoryUse | First | Or Never / Last |
| Filling | MinimumReserve / ReserveScope | 0 / Network | Units always left in chests |
| Filling | MaxPerAction | 0 (no limit) | |
| Filling | ForbiddenItems | (none) | e.g. $item_finewood |
| Filling | OrePriority | QueuedFirst | Or MachineOrder |
| Filling | NetworkOrigin | Player | Or Machine |
| AutoRefuel | Enabled | true | Machines refill their fuel from their network (imposed by the server) |
| AutoRefuel | MinimumReserve / ReserveScope | 0 / Network | Units of fuel always left in chests (imposed by the server) |
| AutoRefuel | MaxPerAction | 0 (no limit) | Imposed by the server |
| AutoRefuel | ForbiddenItems | (none) | Imposed by the server |
| Interaction | UseAltInteract | true | Shift + E actions (fill, quick stack) |
| Interaction | Shortcut | (none) | Extra key for the same actions |
| Interaction | FillAll | true | Shift + A: fill every machine with the same fuel |
| QuickStack | Enabled | true | |
| QuickStack | IncludedCategories | Material,Trophy | Game item types |
| QuickStack | ForcedItems / ExcludedItems | (none) | e.g. $item_raspberries / $item_finewood |
| ArmorStand | Enabled | true | |
| ArmorStand | TakeFromHotbar | false | Dressing may take armor from the hotbar row |
| ArmorStand | OpenOnUse | true | E opens the stand's panel; false: E drops the piece, as in the game |
| ArmorStand | SetWeight / TierWeight / QualityWeight | 100 / 10 / 1 | How close to the chosen set a piece must be |
| ArmorStand | Sets | vanilla sets | set:tier:prefab,prefab;... for armors of other mods |
| Telemetry | Enabled | false | Anonymous usage statistics, see below |
| Telemetry | ConsentAsked | false | Set once you answered; false asks again at the next launch |
The Network, Containers and AutoRefuel sections are imposed by the server; the other sections are per player.
Other game languages fall back to English. Only the English and French texts were written by a native speaker: corrections of the other languages are welcome.
Privacy and telemetry
At the first launch, ChestNetwork asks whether you agree to share anonymous usage statistics: which features are
used, how often, and the errors met, to know what to improve. It is off unless you say yes, and you can change your
mind at any time in Settings > Mods (or [Telemetry] Enabled in the .cfg file).
- Collected (only if you said yes): how often each feature is used and how it ends (built, crafted, filled, stored, dressed, or why not), counts and durations (items moved, chests used, network size, wait for another player's chest), errors by type, the mod's on/off settings, and a rough context: mod, game and BepInEx versions, operating system, game language, solo, host, client or dedicated server, number of players and of other mods as ranges. Each category and why it is collected: privacy page of the website.
- Never collected: Steam ID, player or character name, world name or seed, positions, server name or address, item names, other mods' names, error messages. Each launch draws a new random identifier, kept in memory only: two launches are never linked.
- Your IP address is seen by the server receiving the statistics, as by any website, but it is neither stored nor attached to them.
- Sent every minute and when the game closes, in the background: it never slows the game. If the server cannot be reached, the statistics are dropped and, after three failures, the mod stops trying until the next launch.
- Your answer is stored in the mod's
.cfgfile only, never in the game's settings. Turning it off stops at once and drops what was not sent yet (a request already on its way, if any, still completes).
Feedback and bug reports
Suggestions, feature requests and bug reports are all welcome on Discord.
To report a multiplayer problem, please attach BepInEx/LogOutput.log from each player (host included), taken
right after the problem: ChestNetwork logs every ownership hand-over between players (Ownership of ... lines).
CHANGELOG
Changelog
0.7.2 (2026-10-16)
Changed
- Stone oven: fuel only (#53): Shift + E and Shift + A no longer put food from the chests into a stone oven; they only refuel it (wood, the oven's fuel). Shift + E on the oven's food point now does what the game does: it adds a raw item from your own inventory. A player reported his oven filling up with seal blubber from his chests, which then burnt to coal. The automatic refuel was not involved: it only ever took wood (checked on the new test bench).
Fixed
- Crafting with two players in the same network (#35): when both crafted from the same chest, one craft out of two failed on "Chest network: waiting for containers held by other players...", as the chest kept moving from one player to the other. A craft now waits for the chest instead of failing, and the chest goes straight to the player who is crafting (the other player keeps it only while about to use it himself). Measured on the test bench with two players crafting together round after round: every press crafts, no message, about 1.5 s more than the craft timer per round. When the materials are split between two chests, each held by one of the two crafting players, the chests no longer swap back and forth until both crafts give up: the player with the smaller id gets both first. While its craft waits, that player keeps the chests the craft needs from any other player (building, Shift + E, automatic refuel included), for at most the 8 s of the wait. A waiting craft only asks for the chests its materials are taken from. Same network protocol as 0.7.0 and 0.7.1.
0.7.1 (2026-10-15)
Fixed
- Upgrading at a workbench in multiplayer (#30): when the materials of an upgrade were in a chest held by another player, the upgrade tab waited forever on "Chest network: waiting for containers held by other players...", as the chests were only requested in the craft tab. They are now requested in the upgrade tab too. Same network protocol as 0.7.0.
0.7.0 (2026-10-11)
Added
-
Automatic refuel (#14): fires, torches, smelters (fuel only, never ore) and stone ovens refill themselves. Each time a machine burns a unit of fuel, it takes fuel from the chests of its own network (the stations around the machine, wherever the players are) up to its capacity, with the Shift + E rules. Silent, never from a player's inventory, never from the chests a player's pending action needs. Detected on the game's own fuel update, no scanning; refills are spread over frames. Multiplayer: only the owner of a machine (the peer burning its fuel) refills it, acquiring the chests as Shift + E does; a refill keeps nothing reserved once done, an idle player included. New
[AutoRefuel]section imposed by the server:Enabled,MinimumReserve(Settings > Mods),ReserveScope,MaxPerAction,ForbiddenItems(file). The[Filling]settings of each player do not apply to it. -
Armor stand panel (#25): E on an armor stand opens it like a chest, next to your inventory, instead of dropping the piece on the ground. One cell per slot of the stand, drawn in its shape (seen from the front): helmet, chest and legs down the middle, the back slots at shoulder height, both hands at hip height; the cape and the utility item (Megingjord, wishbone, wisp..., named as in the game) stand beside it. Each cell shows a label and, when empty, a greyed icon of what it takes. Drag a piece onto its cell to hang it (onto an occupied cell: the two pieces trade places), drag it back to your inventory to take it, Ctrl + click to move it either way, right click to take it and wear it, "Take all" to empty the stand. A piece the cell does not take simply goes back, without message; a full inventory shows the game's message and nothing moves. Dragging a piece out of the window drops it on the ground, as E used to. Unchanged: hotbar keys 1 to 8, Shift + E (dress / swap), the pose button.
[ArmorStand] OpenOnUse(Settings > Mods) set to off gives E back its vanilla meaning. Multiplayer: the stand is acquired before the panel opens and stays yours while it is open (another player gets "Armor stand used by another player"), every move is written by its owner in one go, taking the piece out before putting it in, so that a piece is not duplicated.
Breaking changes
- Multiplayer protocol 4: every player and the server must run 0.7.0; 0.6.0 and older peers are refused when
connecting. The server sends the
[AutoRefuel]settings.
0.6.0 (2026-10-11)
Added
- Stone oven (#24): Shift + E on the oven's food or fuel point fills it from the network chests, like smelters:
every free cooking slot gets a raw item the oven accepts (
[Filling] OrePriority: items already cooking first, or the oven's own order), or the fuel goes up to its capacity. Same[Filling]settings, same messages, same multiplayer guarantees. Each raw item added raises your Cooking skill as with the Use key (+0.4, like the game). Spits and grills (no separate food and fuel points) are not concerned. - Windmill and spinning wheel (#24): officially covered by Shift + E (barley, flax), through the smelter rules.
- Refill every machine of a kind (#1): Shift + A on a machine does what Shift + E does, on every machine of the
network that uses the same fuel, from the nearest to the farthest: torches, sconces and braziers with their fuel,
campfires and hearths, smelters and blast furnaces (ore and coal), stone ovens (food and fuel). A charcoal kiln
only refills the other kilns (it never takes the fires' wood), a windmill the other windmills, a spinning wheel the
other spinning wheels; a fire never refills a kiln. Same
[Filling]settings, machine by machine (reserve, limit per action, forbidden items, inventory use). When the chests run out, the farther machines are simply left as they are. One message sums it up: machines filled and units used, machines the chests could not fill, machines skipped because another player held them. The aimed machine is filled even outside the network, as with Shift + E. The key is the one typing A on your keyboard, QWERTY or AZERTY, and Shift is the game's AltPlace as for Shift + E (keyboard only); the hover line names Shift as the game does. While Shift + A acts, that key does nothing else (no move left, no auto-run).[Interaction] FillAll(Settings > Mods) turns it off. Same multiplayer guarantees: every machine and every chest is acquired before it changes, in one action. Same network protocol. Anonymous statistics (only if you agreed): Shift + A is counted like the other actions, with how many machines it filled, left short or skipped (docs/TELEMETRY.md).
0.5.0 (2026-10-09)
Added
- Settings in the game: a Mods tab in the game's Settings lets you change ChestNetwork's everyday settings with
the game's own controls (mouse and gamepad), in the 8 languages. Changes are written on OK and dropped on Back,
exactly like the other tabs. Expert settings stay in
BepInEx/config/jordan.chestnetwork.cfg. When connected to a server, the settings it imposes (Containers) are hidden. Nothing is ever written to the game's own preferences: the tab disappears with the mod. - ConfigurationManager (F1): the same settings, translated and in the same order; expert settings are hidden.
- Anonymous usage statistics (#20): at the first launch, the game asks whether you agree to share them
(
[Telemetry] Enabled, off by default, changeable in Settings > Mods). Only if you say yes: feature usage and outcomes, counts and durations, errors by type, on/off settings, and a rough context (versions, system, language, game role, player and mod counts as ranges), sent every minute and at exit in OpenTelemetry format, from a background thread. No personal data, no item or mod names, a new random identifier at each launch, never stored. Exact list indocs/TELEMETRY.md. Shipped as a new DLL,ChestNetwork.Telemetry.dll. Off: nothing is created, nothing connects. An error turns the statistics off until the next launch, without any effect on the game. - Chests keep one unit of each item (#15): building, crafting and filling machines first take from every chest of
the network down to one unit of the item, and only then the last units, if the action still needs them. A chest
therefore keeps its "marker" and quick stack (Shift + E) still stores that item into it after you used up the stock.
Building and crafting still use the inventory first; for machines,
[Filling] InventoryUse = Lastnow places the inventory before the chests' last units. The amounts shown do not change, and nothing that was possible becomes impossible. Combined with[Filling] MinimumReserveandReserveScope = Container, each chest keeps the larger of the two; with the defaultReserveScope = Network, the reserve is a budget of the whole network, on top of the unit each chest keeps. Armor stands are not concerned. Per player setting[General] KeepOnePerChest(on by default, in Settings > Mods), not imposed by the server: same network protocol.
Changed
- The settings are now declared through Roims.ConfigurationParasite, a settings library shipped with the mod
(
Roims.ConfigurationParasite.dll,Roims.ConfigurationParasite.Core.dll). The.cfgfile keeps its sections, keys and default values, except for the changes listed in this version ([General] KeepOnePerChestadded,[Filling] InventoryUsedefault,[ArmorStand] ProtectHotbarreplaced): nothing to migrate. Same network protocol as 0.4.0 to 0.4.3. - When the host changes several settings at once (OK), clients receive the new configuration once.
- Filling machines uses your inventory first by default (
[Filling] InventoryUse = First, "Before the chests"; wasNever). Only new configurations get it: an existing.cfgkeeps its value. [ArmorStand] ProtectHotbaris replaced by its opposite,TakeFromHotbar("Take from the hotbar", off by default), clearer in the menu. Same behavior by default; if you had turned the protection off,TakeFromHotbaris turned on for you and the old key leaves the file.
Fixed
- Build menu (#21): when it opened, pieces could be greyed out although the network chests held their resources (until a filter or a search refreshed them), and "waiting for containers" could show up for nothing. The menu now counts the whole network, like the other displays; placing a piece still only uses the chests it can take from.
- Crafting panel (#23): right after a craft, recipes could look unavailable although the network chests held their resources, and "waiting for containers" could show up for nothing. Same fix as the build menu.
0.4.3 (2026-10-05)
Changed
- Armor stands no longer touch belts (Megingjord, wishbone...): Shift + E swaps and dresses the helmet, chest, legs and cape only. Your belt stays on you, the stand's belt stays on the stand, and dressing never takes a belt from your inventory or the chests. A belt on the stand no longer counts as armor (a stand holding only a belt and weapons gets dressed) nor takes room in your inventory during a swap. Same network protocol as 0.4.0 to 0.4.2.
0.4.2 (2026-10-04)
Changed
- Machine filling is revalidated before it is applied, like building, crafting and quick stacking: right before taking the units, the chests it uses are read again and the fill is cancelled if they no longer hold what was planned. No visible change in normal play.
- Armor stands, safer order on errors: a piece now leaves its source (chest, inventory, worn armor) before it is written on the stand, and is given back if that write fails; during a swap, pieces already taken off the stand are put in the inventory if placing the new ones fails. No visible change in normal play.
- Unexpected errors during a network action (build, craft, fill, quick stack, armor stand) are now written to the log and contained instead of interrupting the game's update; nothing already done is rolled back. No visible change in normal play.
- Internal refactoring: the four network actions share one sequence. As a consequence, a build or craft that has to be planned again on fresh data is checked once more before being applied (no visible change). No other change; compatible with 0.4.0 and 0.4.1 clients and servers (same network protocol).
- Mod page: each feature is now shown in action (animated previews).
0.4.1 (2026-10-04)
Fixed
- Multiplayer: a machine or a chest could stay locked for everyone ("Machine used by another player, try again" on every Shift + E, until the object was unloaded). After an ownership hand-over whose data never reached the new owner, the object was waited for forever. After 10 seconds it now goes back to the player who handed it over, and is asked again a few seconds later. It is never used with outdated contents, which could otherwise duplicate or lose items if the late data arrived afterwards.
Changed
- Ownership hand-overs between players are written to the log (request, refusal and its reason, grant, data received, timeout), to diagnose multiplayer issues from both players' logs.
- Internal refactoring (shared building blocks for the network actions), no behavior change.
- Compatible with 0.4.0 (same network protocol); install it on every player for the fix to apply everywhere.
0.4.0 (2026-09-28)
New
- Armor stands (Shift + E on an armor stand):
- Dress an empty stand: it receives the best set found in your inventory, then in the network chests: the set covering the most slots, completed slot by slot with the closest pieces (same set first, then the closest tier and quality). Your worn armor and your hotbar row are never used.
- Swap with a dressed stand: you and the stand exchange your armor (helmet, chest, legs, cape, belt); swapping twice gets you back where you started. Weapons and shields on the stand go to your inventory. If your inventory lacks room, nothing happens and the game's "inventory full" message is shown. The new pieces are equipped with the game's normal equip time.
- A stand holding only weapons counts as empty: it gets dressed and keeps its weapons.
- The hover line tells which action Shift + E will do; texts available in the 8 supported languages.
- Multiplayer-safe: the stand and the chests it takes from are locked like any other network action.
Configuration
- New
[ArmorStand]section (per player):Enabled,ProtectHotbar,SetWeight/TierWeight/QualityWeight(how the closest pieces are chosen), andSets, the armor set table (set:tier:prefab,prefab;...), which you can extend for armors of other mods. On first use, the log lists the armors that have no set name and no table entry.
Breaking changes
- Multiplayer protocol 3: every player and the server must run 0.4.0; 0.3.0 peers are refused when connecting. This guarantees that whoever owns an armor stand can hand it over for the new actions.
0.3.0 (2026-09-27)
New
- Quick stack into the network: aim at a chest of your crafting station network and press Shift + E (your
AltPlace + Use keys): instead of opening, your items go into the network chests that already hold them. Partial
stacks are completed first, then new stacks go to the chest holding the most of the item. The hotbar row and
equipped items are never moved; by default only materials and trophies are (see
[QuickStack]settings). Items held by no chest stay in your inventory; a message tells you when a chest is full. Multiplayer-safe, like the rest.
Breaking changes
-
Multiplayer protocol 2: every player and the server must run 0.3.0; 0.2.0 peers are refused when connecting.
-
Configuration: the alternate-use settings moved from
[Filling]to a new[Interaction]section, as they now apply to every alternate-use action (machine fill, quick stack):[Filling] UseAltInteractis now[Interaction] UseAltInteract[Filling] Shortcutis now[Interaction] Shortcut
Previous values are not carried over: both settings are back to their defaults (
true, no shortcut). The old entries left in the[Filling]section of the config file are ignored and can be deleted.
Changes
-
Localization: the mod's messages and hover lines follow the language selected in Valheim. They were French-only for machine fill, English-only for the "waiting for containers" message. Available languages: English, French, German, Spanish, Brazilian Portuguese, Polish, Russian and Simplified Chinese; any other language falls back to English. Item names always use the game's own translations.
Note: only the English and French texts were written by a native speaker. The other translations have not been reviewed by native speakers yet: corrections are welcome.
0.2.0 (2026-09-27)
- Fill smelters and fires from the network with Shift + E (machine fill).
- Multiplayer: container and machine ownership hand-over, server configuration, version check.
- Thunderstore release.