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.
BestAutoSort StabilityFix
Unofficial stability fork of maks2204's BestAutoSort 0.4.0: fixes the Stack freeze, item loss and chest sync issues; server-synced config, chest crafting range up to 150 m. Replaces the original.
By Neocor
| Date uploaded | a week ago |
| Version | 0.4.2 |
| Download link | Neocor-BestAutoSort_StabilityFix-0.4.2.zip |
| Downloads | 392 |
| Dependency string | Neocor-BestAutoSort_StabilityFix-0.4.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.2350README
BestAutoSort — Stability Fix (unofficial)
Unofficial fork of BestAutoSort 0.4.0 by maks2204 with crash, freeze and item-loss fixes.
Features are the original's. The fork fixes bugs, syncs gameplay settings from the server and raises the chest crafting range to 150 m. MIT license, original copyright kept (see LICENSE).
Install
- Remove or disable the original BestAutoSort. This fork uses the same plugin GUID and config file (
dev.maks2204.bestautosort.cfg), so both cannot load at once. - Every player and the dedicated server should run this same build.
- The network protocol is unchanged (still reports 0.4.0), so it stays compatible during rollout. Mixed setups keep the original's bugs on the unpatched side.
Server config sync and chest range
- Gameplay settings are taken from the server while connected: ranges, crafting from chests, shared chest use, auto feed, kiln options. Players' own
.cfgfiles are not changed, and local values return after disconnect. Edit the server'sBepInEx/config/dev.maks2204.bestautosort.cfgand the change reaches all players live, no restart needed. Keys, buttons, sorting and visuals stay personal. - Crafting, building and fuel from chests (
[Shared Resources] Range) can go up to 150 m, up from 100. Chests only count while the game has them loaded: about 128 m around the player at the default simulation distance. - Every player and the server must run this build. A player on the original mod ignores the server settings, and when their game owns a chest it rejects far requests.
Fixed
- Stack froze the game with a full inventory, and on dedicated servers the player was kicked. Batches over 4 items reported per chunk, and the quick-stack cascade treated each chunk as the whole batch. Every chunk re-sent almost the whole inventory to the next chest, and that split again, giving chunks^chests transactions in one frame.
- Quick-stack cascade no longer grabs hotbar, equipped, locked or restock-target stacks. There is a runaway guard of 128 submits per session.
- Items vanished when the inventory was full. Leftovers from compensation and drag now drop at your feet.
- Production loans (fuel and ore from chests) no longer overlap slot (0,0) in a full inventory, and loans return to owned chests again.
- Requests to unavailable chests always complete, so restock, quick-stack and return chains no longer stall and compensation items are no longer voided.
- Chest ownership handover no longer saves the chest once per item. Commits no longer trigger a full vanilla reload, and the last transaction survives a handover.
- Access or version rejects are no longer reported as "applied but items unrecoverable".
- Fixed "collection modified" exceptions in the transaction pump, the
SetInUseerror on a dedicated server acting as chest manager, and stray gamepad hotkeys on the added buttons. - Freeze diagnostics:
LogOutput.logwarns when a frame step, a chest transaction or a chest load takes more than 100 ms.
See CHANGELOG.md for details.
CHANGELOG
Changelog
0.4.2-fix (unofficial, package 0.4.2; plugin still reports 0.4.0)
- Deep North (Valheim 1.0.17) items are classified into the right chest categories when you press Stack: new seeds, produce, raw meats and uncooked dishes, Gold/Frostwood/Ice and other materials, Ancient coins and gems, Moose saddle, Blood-gold key, Frozen King drop, Shovel/Lantern/Grappling hook as tools, Snowballs as ammunition.
- Gold casting intermediates (
Mold*,*GoldUncooked,Staff*Uncooked,GenericMoldUncooked) go to Mechanical Components instead of landing in armor/weapon chests. - Classifier regression tests added to the test harness.
0.4.1-fix (unofficial, package 0.4.1; plugin still reports 0.4.0)
- Server-synced config: gameplay settings come from the server while connected (in memory only, the player's own .cfg is never rewritten; local values return on disconnect). Editing the server .cfg is picked up live and pushed to all players. Synced: Quick Stack range/containers/match mode/custom-data skip, Shared Resources (craft from chests + range), AllowConcurrentChestUse, Auto Feed (enabled/range/interval/prefix), kiln wood options. Keys, UI, sorting, visuals and debug stay personal.
- Shared Resources
Range(crafting, building, fuel from chests) now goes up to 150 m (was 100). The chest-manager access check follows (clamp 150 m). Quick Stack and Auto Feed limits unchanged.
0.4.0-fix (unofficial stability patch, wire-compatible with 0.4.0)
-
Stack freeze fixed. Batches over 4 items now report once, aligned to the whole batch. Per-chunk completions were read by the quick-stack cascade as whole-batch results: every chunk re-sent nearly the whole inventory to the next chest, which split again (chunks^chests transactions; synchronous in one frame for owned chests). Full inventories hit it hardest.
-
Quick-stack cascade remainder respects hotbar/equipped/locked/restock filters; runaway guard (128 submits per session).
-
Restock is not started again while its previous chain is still running.
-
Pending-tx pump no longer mutates dictionaries under enumeration (InvalidOperationException out of
Update); a chest destroyed mid-flight still completes its callback. -
Owner-side chest loads (takeover, structural acquire, viewer refresh) run with
Container.m_loadingset: no more N saves / N ZDO revisions per load. -
Commit writes the idempotency ring after recording the tx (last tx survives handoff) and resyncs
m_lastRevision(no vanilla full reload after every commit). -
Access/version rejects no longer surface as "applied but items unrecoverable".
-
Submitalways answers its callback: restock / quick-stack / return chains no longer stall, compensation leftovers are no longer voided. -
Full player inventory: compensation and drag leftovers are dropped at the player's feet instead of silently vanishing (
Humanoid.DropItemon a non-inventory item drops nothing). -
Production loans take a free cell only (no forced overlap at slot 0,0); loans return to owned chests again.
-
Dedicated server as chest manager: no
SetInUseNRE. -
Owner take results hand out clones, not the cached
ItemData. -
Cloned toolbar buttons drop the template's gamepad hotkey.
-
Freeze diagnostics: warnings for frame steps, tx applies and chest loads over 100 ms.
0.4.0
- Legacy chests no longer shrink a larger runtime inventory applied by other mods (final = max(current, template), issue #8).
- Eating food from a shared chest as non-owner no longer pulls the whole stack into inventory (take 1 unit, issue #6).
0.3.2
- Staged-stock return no longer breaks crafting (craft stages untracked) and no longer loops on upgrades (recent-upgrade keep window).
0.3.1
- Deferred building pipelines the next set (no more multi-click starvation); unused staged stock returns to chests on selection change, hammer put-away, or late landing.
0.3.0
- Absolute tx idempotency (no re-apply after handoff), retry-or-loud client, no-void compensation.
- Owned-chest persistence everywhere (restock, loans, quick-stack into open, trash, sort, replacement).
- Deferred builds and upgrades consume chest stock; quest items never leak via TakeAll/drop/right-click.
- Shared-mode deny for direct TakeAll RPC; lease-safe chest open; drag-take lands in the drop cell.
0.2.0
- Feeder flights target the animal, not the player.
- Upgrade button stages chest stock and consumes owned-chest resources; replacement chest contents persisted (no more ghost items).
- Chest buttons narrowed to Trash/Stack width; Sort Chest renamed to Sort.
0.1.10
- BepInExPack 5.4.2350, simultaneous-access highlight, protocol docs.
0.1.9
- Simultaneous chest access highlight, protocol docs with diagrams, packaging fixes.
0.1.8
- Transport-safe batching, feeder on transactions, deferred placement, conservation gates.
0.1.7
- Pull-on-press crafting (no browse-time floods), chest-inclusive craft/build display, DoCrafting conservation gate.
- In-flight Add deduplication, drag/grid-inventory fixes, monotonic viewer, GearSlots tag handling.
- Verified against Valheim 1.0.12.
0.1.6
- Wire protocol v2 (client-stamped actor position), build commit hash baked into the DLL.
0.1.5
- Quick-stack outcome visibility and skip diagnostics, build tag in startup log.
0.1.4
- Owner quick-stack through the tx queue (broadcasts for all), quick-stack entry logging.
0.1.3
- Flight visuals broadcast (TxFlights) + manager-side play for remote batches.
0.1.2
- Fix response body framing (nested package was read flat: Adds silently applied 0, Takes crashed) and short presence/query bodies (heartbeats died, lid flapped).
0.1.1
- Wire protocol fix (ProtoVersion header) + version gate: mixed 0.1.0/0.1.1 peers are rejected loudly instead of silent garbage.
0.1.0
- Rebrand to BestAutoSort (
dev.maks2204.bestautosort): new GUID, name, version, own plugin folder. - Fresh config
dev.maks2204.bestautosort.cfg, no legacy imports. - Console command renamed to
bestautosort. - Full storage feature set (quick-stack, restock, rules, crafting/fuel from chests, autofeed, shared chests, upgrades, sort, trash), no ModCore dependency.
- Own save-data keys, no compatibility with other storage mods by design.