Docs › Storia

Configuration

Every option in storia.yml, with its default and what it does.

storia.yml is created in the server folder on first start. Missing options are added with their defaults on the next start, so you can delete a line to reset it. Changes take effect after a restart.

Paper's and Folia's own settings stay where they always were (config/paper-global.yml, config/paper-world-defaults.yml, server.properties).

Full default file#

ram-world:
  enabled: true
  ram-directory: /dev/shm/storia
  sync-interval-seconds: 300
  min-free-mb: 512
  delete-on-shutdown: true
pregen:
  worker-threads: -1
  max-in-flight: -1
tick-guard:
  enabled: true
  target-mspt: 40.0
  crowd-threshold: 16
  player-radius: 8.0
  max-level: 3
player-budget:
  enabled: true
  check-interval-ticks: 100
  max-region-mspt: 45.0
  pool-saturated-percent: 85
  recover-below-percent: 70
  lower-simulation-distance: false
  min-simulation-distance: 4
  min-view-distance: 6
  memory-high-percent: 85
  memory-low-percent: 70
  fast-mover-speed: 12.0
offload:
  mode: 'off'
  secret: ''
  workers:
  - 127.0.0.1:25590
  max-in-flight: -1
  timeout-ms: 10000
  compress: true
  bind: 0.0.0.0
  port: 25590
  threads: -1
  relay: ''

ram-world#

See RAM world.

Option Default Description
enabled true Keep worlds in RAM. false runs from disk like Paper.
ram-directory /dev/shm/storia Where the RAM copy lives. Must be a RAM-backed file system (tmpfs).
sync-interval-seconds 300 How often changed files are written to disk. Minimum 10. Shorter is safer, longer is lighter.
min-free-mb 512 If loading the world would leave less free RAM than this, worlds are loaded from disk instead.
delete-on-shutdown true Delete the RAM copy after a clean shutdown (it has been written to disk).

pregen#

See Chunk pregeneration.

Option Default Description
worker-threads -1 Chunk worker threads while /storia pregen runs. -1 = CPU cores − 1. Restored when it finishes.
max-in-flight -1 Chunks queued at once. -1 = worker threads × 16.

tick-guard#

See Tick guard.

Option Default Description
enabled true Thin out crowded mobs' AI when a region is overloaded.
target-mspt 40.0 Keep each region's tick time below this (milliseconds; a tick has 50).
crowd-threshold 16 Mobs in one chunk that count as a crowd. Only crowds are thinned out.
player-radius 8.0 Mobs within this many blocks of a player always think every tick.
max-level 3 How far to thin out: 1 = every 2nd tick, 2 = every 4th, 3 = every 8th.

player-budget#

See Per-player budget.

Option Default Description
enabled true Turn the budget on or off.
check-interval-ticks 100 How often each player is checked (100 ticks = 5 seconds).
max-region-mspt 45.0 A region whose tick takes longer than this (milliseconds) is over budget. Only fast movers in it are limited.
pool-saturated-percent 85 When the tick threads are this busy, fair shares are enforced.
recover-below-percent 70 A limited region is restored once it is below this percentage of its limits.
fast-mover-speed 12.0 Only players moving faster than this (blocks per second, on two checks in a row) are limited.
lower-simulation-distance false Also lower the fast mover's simulation distance. Leave false to keep farms and redstone running.
min-simulation-distance 4 Lowest simulation distance, only used when the option above is true.
min-view-distance 6 Lowest view distance the budget will set.
memory-high-percent 85 Heap usage after GC above this lowers everyone's view distance.
memory-low-percent 70 Heap usage after GC below this restores it.

offload#

See Offloading terrain, Storia Worker and Storia Relay.

Option Default Used by Description
mode off all off, client (the main server) or worker (a helper).
secret '' all Shared secret, at least 8 characters, identical on every machine. Never sent over the network.
workers [127.0.0.1:25590] client Workers or relays to use, as host:port.
max-in-flight -1 client Requests waiting per connection. -1 = the worker's threads × 4.
timeout-ms 10000 client Give up on an answer after this long and generate the chunk locally.
compress true all Compress traffic (deflate) before encryption. Turn off on very fast networks to save CPU.
bind 0.0.0.0 worker Address a worker listens on.
port 25590 worker Port a worker listens on.
threads -1 worker Threads for terrain computation. -1 = all cores.
relay '' worker If set (host:port), the worker connects out to this relay instead of listening.

Any mode other than client or worker means off (a bare off is read by YAML as false, which is also off).

Java system properties#

These are set on the command line with -D... before -jar:

Property Description
-Dstoria.worker=true Start as a dedicated worker: no player port, no query or RCON. Used by the Storia Worker package.
-Dstoria.verifyOffload=true Also generate every offloaded chunk locally and compare. For testing; costs CPU.
-Dstoria.verifyPush=true Also compute every entity push the vanilla way and compare. For testing; costs CPU.