Pack & Sort is an all-clients Don't Starve Together mod that expands and organizes the inventory while keeping item movement server-authoritative.
v0.8.9 is public on Steam Workshop and is the current GitHub release. It
polishes the F8 settings panel and slot-lock indicator, fixes the Vanilla 15
inventory background, and removes redundant in-game preferences from the Mods
configuration screen. The matching build was exercised in game before the
public upload without observed Lua errors.
- Optional 24-slot main inventory with either a scaled vanilla single row or a compact 2 x 12 HUD layout, chosen per player.
- Separate optional Bag, Armor, and Accessory equipment slots.
- Deterministic category sorting with stack merging and condition ordering.
- Craftable-item classification based on DST's native crafting filters.
- In-game sort-order panel with drag/drop category reordering, persistent per-player category order, and client-local HUD layout controls.
- Separate sorting for the equipped bag, including while its UI is closed.
- Persistent manual main-inventory slot locks.
- Quick Stack into compatible stacks already present in the equipped bag.
- Server-side cooldowns, re-entrancy guards, and detached-item recovery.
- Multiplayer protocol and replication diagnostics.
| Input | Action |
|---|---|
F7 |
Sort the main inventory; optionally also sort the equipped bag |
F8 |
Open the in-game category order panel |
Hover a main slot + L |
Toggle that slot's sort lock |
All hotkeys are configurable. If two inventory actions use the same key, the
secondary action is disabled with a warning instead of dispatching both.
Quick Stack and a separate bag-only sort hotkey remain configurable, but they
are not assigned as active defaults so the mod only uses F7 and F8 out of
the box.
Quick Stack only fills compatible stacks that already exist in the equipped bag. It does not create a new item type in the bag, ignores locked source slots, returns leftovers to their original main-inventory slot, and remains safe when the bag UI is closed. Successful transfers play one local inventory-move sound; no-op requests remain silent.
- Place the mod folder under the Don't Starve Together
modsdirectory. - Enable Pack & Sort in the world's Mods settings.
- Install and enable the same build for every joining client.
The mod targets Don't Starve Together API version 10. Existing v0.2.6+ saves remain compatible. Back up important worlds before changing a mod setup.
HUD layout and UI scale are changed from the F8 panel and saved as local client preferences. The Mods configuration screen is reserved for world, feature, hotkey, and diagnostics settings.
Press F8 in game to choose Default, Combat, Building, Survivor, or Anti Drop;
categories can still be moved up or down before applying. The order is saved
per player and applies to both main-inventory and equipped-bag sorting. Each
preset tab keeps its own editable order; switching tabs preserves unapplied
drafts, Reset Preset affects only the open tab, and Apply saves every tab
plus the active preset. The panel also has a per-player Sort Bag Too toggle:
when enabled, the main sort hotkey sorts the equipped bag in the same request;
when disabled, the bag can still be sorted separately if a separate bag-only
hotkey is configured. Anti
Drop is best effort: it places expendable materials first so frog theft is more
likely to remove one of them, but the game controls the final slot scan.
Craftable items use DST's native Regular crafting-filter membership as the primary classification source. Because an item may appear in multiple filters, the first supported filter in the game's documented order becomes its primary inventory category. Non-craftable resources and loot use component, tag, and prefab fallbacks. Filter reference: Crafting/DST.
Run the pure sorting and Quick Stack regression suite with any Lua 5.1+ interpreter:
lua tests/sorting_spec.lua # or: luajit tests/sorting_spec.luaThe full manual matrix and expected diagnostics are documented in README_DEV.md. Changes are listed in CHANGELOG.md.
Debug Mode can be set to Off, Log Only, or Chat + Log. The console command below prints the effective protocol, inventory layout, equipment slots, actions, and hotkeys even when Debug Mode is off:
PACK_SORT_DEBUG()