Skip to content

Configuration

Achedon12 edited this page Nov 8, 2026 · 7 revisions

Configuration

The mod reads config/matriochka.json when the game or server starts. If the file does not exist it is created with the default values. If it cannot be read, the defaults are used and a warning is logged.

Default file

{
  "progressionGates": true,
  "mobHealthMultiplier": 1.0,
  "mobDamageMultiplier": 1.0,
  "maxGroupSize": 8,
  "difficulty": "normal",
  "karma": true,
  "soulGainMultiplier": 1.0,
  "maxActiveGroups": 0,
  "maxParcels": 0,
  "worldEvents": true,
  "worldEventChance": 0.06,
  "worldEventCooldown": 10,
  "invasionWeight": 3,
  "surgeWeight": 3,
  "merchantWeight": 2
}

Options

Option Default Effect
progressionGates true Blocks enchanting tables and anvils before the World 2 boss, and the Nether and End before the World 2 and World 8 bosses. See Progression gates
mobHealthMultiplier 1.0 Multiplies the health of every Matriochka creature and boss
mobDamageMultiplier 1.0 Multiplies the damage of every Matriochka creature and boss
maxGroupSize 8 How many players a group can hold
difficulty "normal" story, normal, nightmare or hardcore, see below
karma true false freezes karma: no action, quest or command moves it. The Journal still shows the value it had
soulGainMultiplier 1.0 Scales every soul gained in play (creatures, bosses, quests, the Soul Altar, chest souls, trials, events). A positive gain gives at least 1 soul unless the multiplier is 0, which turns soul gains off. /matriochka karma soul gives the exact amount
maxActiveGroups 0 How many groups may hold worlds at once (groups with members and a parcel). 0 = no limit
maxParcels 0 How many parcels the server hands out in all, every cycle and reset included. 0 = no limit
worldEvents true Turns world events (invasions, surges, travelling merchants) on or off
worldEventChance 0.06 Chance, rolled once a minute per world and parcel with players, that an event starts
worldEventCooldown 10 Minutes of quiet after an event in the same world and parcel
invasionWeight, surgeWeight, merchantWeight 3, 3, 2 How often each kind of event is picked

A group that already holds a parcel is never stopped by maxActiveGroups or maxParcels. When a new group would go over a limit, its Seed or rite site stays unhatched and tells whoever set it down every few seconds that the server is full; it hatches on its own once room is made (a group disbanded, a limit raised).

The file is rewritten with every key at start-up, so a file from an older version gains the new keys with their defaults.

The multipliers apply to a creature the first time it thinks after spawning, and to a boss when it is summoned. Changing them does not touch creatures that already exist.

Difficulty modes

Mode Creature and boss damage Death Soul Cradles Doll of Life World Blocks
story x0.7 The inventory and experience are kept 3 charges Saves you A broken block leaves a Cracked Doll
normal x1 Death chest in the worlds 3 charges Saves you A broken block leaves a Cracked Doll
nightmare x1.3 Death chest in the worlds 1 charge Saves you A broken block leaves a Cracked Doll
hardcore x1.3 Permanent: you come back as a spectator 1 charge Never saves you A broken block deletes its world for the group
  • Story: on death, nothing drops. Your inventory and experience wait on your player until you respawn, so a server stop in between loses nothing.
  • Hardcore: a death is final for that player (creative players excepted).

The difficulty multiplies with mobDamageMultiplier. In a New Cycle, creatures and bosses also gain +50% health and +25% damage per cycle, on top of these settings. Cracked Dolls can be placed whatever the value of progressionGates.

Client options

Comfort options (screen shake, flashes, soft effects, cinematics, subtitles, fewer particles, gauge patterns, HUD size, souls bar, world label, music volumes) are per player, on the client, in config/matriochka-client.json. They are set from Options > Matriochka...: see Accessibility. The Matriochka Pack ships a config/matriochka.json with the defaults (nightmare in its hard version).

Clone this wiki locally