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.
Pack Architecture
Updated 3 weeks agoPack Architecture
FrostVale ships as one Thunderstore package: FrostVale_ModPack_3.
Why one pack
Most FrostVale mods register networked items, pieces, recipes, or versioned behavior through Jotunn or ServerSync. If the client and server modsets differ, Jotunn can refuse the connection.
The old split between solo, client, and server packages drifted out of sync. Players were carrying mods that the server did not have, while the server had shared libraries and operational mods that the client package lacked. Version 3.1.0 reunified the pack so every install uses the same dependency list.
Safe divergence rule
In theory, only mods that add no networked content can safely diverge, such as:
- purely cosmetic client-side mods
- server-only operations mods
For FrostVale, the maintenance cost of tracking that boundary was not worth it. The current rule is simpler: everything is in one pack, and the server runs the exact same pack as players.
Shared identity
FrostVale is Balrond-first.
Balrond owns the primary progression and world identity:
- nature
- crafting
- food
- building
- ships
- monsters
- gear
- the survival loop
RtDOcean has a deliberately narrow role:
- ocean danger
- shoreline interest
- rice loop support
Quality-of-life mods are part of the design rather than an afterthought. Azumatt, MSchmoecker, Smoothbrain, SearsCatalog, BetterUI, and CookieMilk mods all support the intended play experience.
Config model
ServerSync-capable mods push their settings from the host to clients on join. Multiplayer players automatically inherit the server's tuning.
For solo parity, the build process can bundle tuned host .cfg files into the pack, excluding any secret-bearing config. Only do this after the live server has been rebuilt on the current dependency list and tuned.
Local compatibility plugin
FrostValeCompat.dll is the local compatibility plugin.
Current responsibilities:
- keep RtDOcean rice placement near shoreline water level
- support Discord-visible player-name cleanup
The plugin is bundled under:
plugins/FrostValeCompat/FrostValeCompat.dll