Settings file

Everything is decided in config/oas/deepcrate.json, written on the first start and rewritten on every one after it, so an option added by an update appears on its own.

The five options, and the range each is pulled back into
OptionWhat it decidesDefault
crate.baseCapacitywhat a slot holds with no capacity module, from 1 to 32,76764
crate.limitAutomationWithLithiumwhether a crate answers 64 to automation while lithium is installedtrue
crate.maxRowsPerPagerows on one page before the screen splits, from 1 to 64
crate.rowModuleStackLimitrow modules one cell accepts, from 1 to 2016
screen.abbreviateAbovethe count past which a slot shows 2k rather than 2048999

Changing them without leaving the game

/deepcrateconfig opens the settings screen: a search box across the top, the categories down the left, one row per option on the right, each with a control putting it back to its default. The search spans every category, because somebody hunting an option by name does not know which category it was filed under.

Nothing is saved by hand. Every toggle, every value typed and every reset leaves as it happens, and closing with Escape loses nothing. What reaches the server crosses the same range the file crosses, so an absurd value comes back corrected on the screen of whoever typed it.

Operators only, on both sides. The command asks for permission level 2, and the packet carrying a change asks for it again before writing anything. Keeping only the command would be the defect that looks correct: a client sends the packet without ever typing the command.

The DeepCrate settings screen: search along the top, the Crate and Screen categories on the left, five options on the right with their range and a reset control.
Every row carries its range, its value and a way back to its default.
The same screen with at typed in the search: three options from two different categories stay listed.
The search spans categories: these three rows come from two of them.

A value out of range is pulled back in

Every option has a range, and a value outside it is pulled to the nearest bound. It is the corrected value that stays on disk, so the file always says what the game actually uses.

Who reads what

The first four are read on the server and count for all its clients. The fifth is read wherever the screen is drawn, so it belongs to whoever is looking: two players on the same server can have two different abbreviation thresholds.

The oas folder

The file lives under config/oas/ rather than at the root of the config folder. That is the author's namespace, so every mod by the same hand groups in one place instead of getting lost in the list.