# Main configuration file for PocketMine-MP # These settings are the ones that cannot be included in server.properties # Some of these settings are safe, others can break your server if modified incorrectly # New settings/defaults won't appear automatically in this file when upgrading. settings: #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 #Enable plugin and core profiling by default enable-profiling: false #Will only add results when tick measurement is below or equal to given value (default 20) profile-report-trigger: 20 #Number of AsyncTask workers. #Used for plugin asynchronous tasks, world generation, compression and web communication. #Set this approximately to your number of cores. #If set to auto, it'll try to detect the number of cores (or use 2) async-workers: auto #Whether to allow running development builds. Dev builds might crash, break your plugins, corrupt your world and more. #It is recommended to avoid using development builds where possible. enable-dev-builds: false memory: #Global soft memory limit in megabytes. Set to 0 to disable #This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this global-limit: 0 #Main thread soft memory limit in megabytes. Set to 0 to disable #This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this main-limit: 0 #Main thread hard memory limit in megabytes. Set to 0 to disable #This will stop the server when the limit is surpassed main-hard-limit: 1024 #AsyncWorker threads' hard memory limit in megabytes. Set to 0 to disable #This will crash the task currently executing on the worker if the task exceeds the limit #NOTE: THIS LIMIT APPLIES PER WORKER, NOT TO THE WHOLE PROCESS. async-worker-hard-limit: 256 #Period in ticks to check memory (default 1 second) check-rate: 20 #Continue firing low-memory-triggers and event while on low memory continuous-trigger: true #Only if memory.continuous-trigger is enabled. Specifies the rate in memory.check-rate steps (default 30 seconds) continuous-trigger-rate: 30 garbage-collection: #Period in ticks to fire the garbage collector manually (default 30 minutes), set to 0 to disable #This only affects the main thread. Other threads should fire their own collections period: 36000 #Fire asynchronous tasks to collect garbage from workers collect-async-worker: true #Trigger on low memory low-memory-trigger: true #Settings controlling memory dump handling. memory-dump: #Dump memory from async workers as well as the main thread. If you have issues with segfaults when dumping memory, disable this setting. dump-async-worker: true max-chunks: #Cap maximum render distance per player when low memory is triggered. Set to 0 to disable cap. chunk-radius: 4 #Do chunk garbage collection on trigger trigger-chunk-collect: true world-caches: #Disallow adding to world chunk-packet caches when memory is low disable-chunk-cache: true #Clear world caches when memory is low low-memory-trigger: true 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 when sending batched packets. Higher = more CPU, less bandwidth usage compression-level: 6 #Use AsyncTasks for compression during the main game session. Increases latency, but may reduce main thread load async-compression: false #Threshold for async compression, in bytes. Only packets larger than this will be compressed asynchronously #Due to large overhead of AsyncTask, async compression isn't worth it except for large packets async-compression-threshold: 10000 #Experimental. Use UPnP to automatically port forward upnp-forwarding: false #Maximum size in bytes of packets sent over the network (default 1492 bytes). Packets larger than this will be #fragmented or split into smaller parts. Clients can request MTU sizes up to but not more than this number. max-mtu-size: 1492 #Enable encryption of Minecraft network traffic. This has an impact on performance, but prevents hackers from stealing sessions and pretending to be other players. #DO NOT DISABLE THIS unless you understand the risks involved. enable-encryption: true debug: #If > 1, it will show debug messages in the console level: 1 player: #Choose whether to enable player data saving. save-player-data: true #If true, checks that joining players' Xbox user ID (XUID) match what was previously recorded. #This also prevents non-XBL players using XBL players' usernames to steal their data on servers with xbox-auth=off. verify-xuid: true level-settings: #The default format that worlds will use when created default-format: leveldb chunk-sending: #To change server normal render distance, change view-distance in server.properties. #Amount of chunks sent to players per tick per-tick: 4 #Radius of chunks that need to be sent before spawning the player spawn-radius: 4 chunk-ticking: #Radius of chunks around a player to tick tick-radius: 3 #Number of blocks inside ticking areas' subchunks that get ticked every tick. Higher values will accelerate events #like tree and plant growth, but at a higher performance cost. blocks-per-subchunk-per-tick: 3 #IDs of blocks not to perform random ticking on. disable-block-ticking: #- grass #- ice #- fire chunk-generation: #Max. amount of chunks in the waiting queue to be populated population-queue-size: 32 ticks-per: autosave: 6000 auto-report: #Send crash reports for processing enabled: true send-code: true send-settings: true send-phpinfo: false use-https: true host: crash.pmmp.io anonymous-statistics: #Sends anonymous statistics for data aggregation, plugin usage tracking enabled: false #TODO: re-enable this when we have a new stats host host: stats.pocketmine.net auto-updater: enabled: true on-update: warn-console: true #Can be development, alpha, beta or stable. preferred-channel: stable #If using a development version, it will suggest changing the channel suggest-channels: true host: update.pmmp.io timings: #Choose the host to use for viewing your timings results. host: timings.pmmp.io console: #Whether to accept commands via the console. If disabled, anything typed on the console will be ignored. #Useful to save resources on headless servers where the console is never used (e.g. hosted server, Docker, etc.) enable-input: true #Choose whether to enable server stats reporting on the console title. #NOTE: The title ticker will be disabled regardless if console colours are not enabled. title-tick: true aliases: ##This section allows you to add, remove or remap command aliases. ##A single alias can call one or more other commands (or aliases). ##Aliases defined here will override any command aliases declared by plugins or PocketMine-MP itself. ##To remove an alias, set it to [], like so (note that prefixed aliases like "pocketmine:stop" will remain and can't ##be removed): #stop: [] ##Commands are not removed, only their aliases. You can still refer to a command using its full (prefixed) ##name, even if all its aliases are overwritten. The full name is usually something like "pocketmine:commandname" or ##"pluginname:commandname". #abort: [pocketmine:stop] ##To add an alias, list the command(s) that it calls: #showtheversion: [version] #savestop: [save-all, stop] ##To invoke another command with arguments, use $1 to pass the first argument, $2 for the second etc: #giveadmin: [op $1] ## `giveadmin alex` -> `op alex` #kill: [suicide, say "I tried to kill $1"] ## `kill alex` -> `suicide` + `say "I tried to kill alex"` #giverandom: [give $1 $2, say "Someone has just received a $2!"] ## `giverandom alex diamond` -> `give alex diamond` + `say "Someone has just received a diamond!"` ##To make arguments mandatory (so that the command fails if they are not provided), use $$, e.g. $$1, $$2: #makeadmin: [op $$1] ## `makeadmin alex` -> `op alex`, `makeadmin` with no arguments = error ##To pass through a range of arguments, put a - (hyphen) after the index: #tpalias: [tp $1-] ## `tpalias 256 70 256` -> `tp 256 70 256` - this passes arguments 1 and everything after it to the `tp` command ##To change an existing command alias and make it do something else: #tp: [suicide] worlds: #These settings will override the generator set in server.properties and allows loading multiple worlds #Example: #world: # seed: 404 # generator: FLAT # preset: 2;bedrock,59xstone,3xdirt,grass;1 plugins: #Setting this to true will cause the legacy structure to be used where plugin data is placed inside the --plugins dir. #False will place plugin data under plugin_data under --data. #This option exists for backwards compatibility with existing installations. legacy-data-dir: false