-
Notifications
You must be signed in to change notification settings - Fork 2
Config
LinearReader's config file can be found at config/linearreader-server.toml. In order for changes to take effect the server either needs to be restarted or /reload needs to be run.
The default config values have been tuned for general use, so edits to the config may not be necessary.
Some settings interact with each other, especially cache size and flushing behavior, so keep that in mind when tuning values.
For a more in-depth explanation of all of LinearReader's features, see the Features page.
Defines the baseline level of compression for the initial compression of .linear files. LinearReader’s adaptive runtime policy may temporarily raise or lower the live compression level depending on server load and storage pressure. Very high levels of compression should probably be avoided, and instead the recompressor should be used. Must be a whole number value between 1 and 22.
- Default value =
4 - Lower value = faster saves and less CPU work, but larger files
- Higher value = slower saves and more CPU work, but smaller files
Defines how many region files can be in the cache. A value between 128-512 is likely best, though it all depends on the server. Must be a whole number between 8 and 1024.
- Default value =
256 - Lower value = constant disk reads, which may cause worse performance
- Higher value = more RAM usage, but may improve performance if many regions are accessed
Defines the baseline save budget used by the adaptive flush policy. LinearReader may temporarily raise or lower the effective flush budget depending on backlog pressure, server activity, and runtime conditions. Must be a whole number between 1 and 64.
- Default value =
4 - Lower value = reduces per-tick load but may cause backlogs
- Higher value = reduces backlogs but increases per-tick load
Defines the baseline dirty-region pressure range used by the adaptive flush system. Together, these values control when LinearReader forces regions to be saved, and they prevent too many unsaved regions from building up in memory. LinearReader may dynamically adjust flushing aggressiveness depending on runtime pressure and maintenance state.
- Default value (
pressureFlushMinDirtyRegions) =4 - Default value (
pressureFlushMaxDirtyRegions) =16 - Lower values = more aggressive flushing
- Higher values = allows for more batching before flushing
Defines whether backups should be created and maintained. If enabled, backups are automatically created after a region is first flushed and later refreshed over time based on region activity. Must be either true or false.
- Default value =
true
Defines the minimum number of unique chunk changes before a backup refresh can occur.
- Default value = 32
- Lower values = generally more recent backups, but more disk writes
- Higher values = generally less disk writes, but older backups
Defines the minimum amount of changed data (in KB) required before a backup refresh can occur.
- Default value = 2048
- Lower values = generally more recent backups, but more disk writes
- Higher values = generally less disk writes, but older backups
Defines the maximum time (in minutes) a backup can wait before being refreshed if changes exist.
- Default value = 30
- Lower values = fresher backups, but more disk writes
- Higher values = less disk writes, but older backups
Defines the minimum amount of time (in seconds) since last region activity before a backup refresh can occur. Set to 0 to disable.
- Default value = 60
Defines how long (in milliseconds) a read/write must take for it to be logged. Can help detect lag or disk issues. Set to -1 to disable.
- Default value =
500
Defines how much free disk space (in gigabytes) needs to be left to warn in the logs that disk space is low. Can help prevent unexpected disk-full crashes. Set to -1 to disable.
- Default value =
1
Defines whether auto-recompression is enabled. Auto-recompression runs in the background during sufficiently quiet periods and is additionally gated by runtime pressure, maintenance budgets, and overall server load. Must be either true or false.
- Default value =
true
Defines how long (in minutes) chunk I/O must be idle for before auto-recompression is engaged. This contributes to LinearReader’s quietness evaluation used to determine when background recompression may begin. Must be a whole number between 5 and 1440.
- Default value =
20 - Lower value = starts sooner
- Higher value = waits longer
Defines the minimum percent of free memory required in order for recompression to continue, otherwise recompression will be paused. This is to prevent recompression from using too much memory. Must be a whole number between 5 and 50.
- Default value =
15 - Lower value = recompression can use more RAM
- Higher value = recompression can't use as much RAM
Defines when LinearReader should convert all .mca files found in the region folders to .linear. If set to true then the bulk conversion will occur during world loading. If set to false then the bulk conversion will occur once the world has loaded. This should really only be set to false if world loading must be completed quickly, (such as if a server provider will terminate the world loading if it takes too long). Must be either true or false.
- Default value =
true
Defines how long (in seconds) LinearReader will wait for confirmation after running the prune-chunks or sync-backups commands. Must be a whole number between 10 and 3600.
- Default value =
60