# Advanced configuration file for Nukkit
# Some of these settings are safe, others can break your server if modified incorrectly
# New settings/defaults won't appear automatically on this file when upgrading

settings:
 #Multi-language setting
 #Available: eng, chs, cht, jpn, rus, spa, pol, bra, kor, ukr, deu
 language: "eng"
 #Whether to send all strings translated to server locale or let the device handle them
 force-language: false
 shutdown-message: "Server closed"
 #Allow listing plugins via Query
 query-plugins: true
 #Show a console message when a plugin uses deprecated API methods
 deprecated-verbose: true
 #Number of AsyncTask workers
 #If set to auto, it'll try to detect the number of cores (and at least 4)
 async-workers: auto

network:
 #Threshold for batching packets, in bytes. Only these packets will be compressed
 #Set to 0 to compress everything, -1 to disable
 batch-threshold: 256
 #Compression level used of Zlib when sending batched packets. Higher = more CPU, less bandwidth usage
 compression-level: 7
 #Use AsyncTasks for compression. Adds half/one tick delay, less CPU load on main thread
 async-compression: false

debug:
 #If > 1, it will show debug messages in the console
 level: 1
 #Enables commands: /status /gc
 commands: false

timings:
 #Enable core and plugin timings by default
 enabled: false
 #Enable monitoring at verbose level, include high-frequency timings
 verbose: false
 #Interval between history frames in ticks
 #Default is 5 minutes (6000 ticks)
 history-interval: 6000
 #Length of the whole timing history in ticks
 #Default is 1 hour (72000 ticks)
 #This value is capped at a maximum of history-interval * 12
 history-length: 72000
 #For special cases of servers with special permission to bypass the max
 #This max helps keep data file sizes reasonable for processing on Aikar's Timing parser side
 #Setting this will not help you bypass the max unless Aikar has added an exception on the API side
 bypass-max: false
 #If set to true, name of your server won't be sent
 privacy: false
 #Settings sections to ignore. These sections won't be sent to Aikar's Timing parser
 #For example: [all] or [settings, timings]
 ignore: []

level-settings:
 #The default format that levels will use when created
 default-format: mcregion
 #Automatically change levels tick rate to maintain 20 ticks per second
 auto-tick-rate: true
 auto-tick-rate-limit: 20
 #Sets the base tick rate (1 = 20 ticks per second, 2 = 10 ticks per second, etc.)
 base-tick-rate: 1
 #Tick all players each tick even when other settings disallow this
 always-tick-players: false

chunk-sending:
 #Amount of chunks sent to players per tick
 per-tick: 4
 #Amount of chunks sent around each player
 max-chunks: 192
 #Amount of chunks that need to be sent before spawning the player
 spawn-threshold: 56
 #Save a serialized copy of the chunk in memory for faster sending
 #Useful in mostly-static worlds where lots of players join at the same time
 cache-chunks: false

chunk-ticking:
 #Max amount of chunks processed each tick
 per-tick: 40
 #Radius of chunks around a player to tick
 tick-radius: 3
 light-updates: false
 clear-tick-list: false

chunk-generation:
 #Max. amount of chunks in the waiting queue to be generated
 queue-size: 8
 #Max. amount of chunks in the waiting queue to be populated
 population-queue-size: 8

ticks-per:
 animal-spawns: 400
 monster-spawns: 1
 autosave: 6000
 cache-cleanup: 900

spawn-limits:
 #Max amount of these entities
 monsters: 70
 animals: 15
 water-animals: 5
 ambient: 15
 
player:
 #If true, player data will be saved as players/playername.dat
 #If false, nukkit won't save player data as "dat" files, in order that plugins can do something on it.
 save-player-data: true
 
aliases:
 #Aliases for commands
 #Examples:
 #showtheversion: version
 #savestop: [save-all, stop]

worlds:
 #These settings will override the generator set in server.properties and allows loading multiple levels
 #Example:
 #world:
 # seed: 404
 # generator: FLAT:2;7,59x1,3x3,2;1;decoration(treecount=80 grasscount=45)