# to the program, eg. "minetest.exe --config ../minetest.conf.example".
# Further documentation:
-# http://wiki.minetest.net/
+# https://wiki.minetest.net/
#
# Controls
#
+## General
+
# If enabled, you can place blocks at the position (feet + eye level) where you stand.
# This is helpful when working with nodeboxes in small areas.
# type: bool
# enable_build_where_you_stand = false
-# Player is able to fly without being affected by gravity.
-# This requires the "fly" privilege on the server.
-# type: bool
-# free_move = false
-
-# If enabled, makes move directions relative to the player's pitch when flying or swimming.
-# type: bool
-# pitch_move = false
-
-# Fast movement (via the "special" key).
-# This requires the "fast" privilege on the server.
-# type: bool
-# fast_move = false
-
-# If enabled together with fly mode, player is able to fly through solid nodes.
-# This requires the "noclip" privilege on the server.
-# type: bool
-# noclip = false
-
# Smooths camera when looking around. Also called look or mouse smoothing.
# Useful for recording videos.
# type: bool
# type: float min: 0 max: 0.99
# cinematic_camera_smoothing = 0.7
-# Invert vertical mouse movement.
-# type: bool
-# invert_mouse = false
-
-# Mouse sensitivity multiplier.
-# type: float
-# mouse_sensitivity = 0.2
-
-# If enabled, "special" key instead of "sneak" key is used for climbing down and
+# If enabled, "Aux1" key instead of "Sneak" key is used for climbing down and
# descending.
# type: bool
# aux1_descends = false
# type: bool
# doubletap_jump = false
-# If disabled, "special" key is used to fly fast if both fly and fast mode are
+# If disabled, "Aux1" key is used to fly fast if both fly and fast mode are
# enabled.
# type: bool
# always_fly_fast = true
-# The time in seconds it takes between repeated right clicks when holding the right
-# mouse button.
-# type: float min: 0.001
-# repeat_rightclick_time = 0.25
+# The time in seconds it takes between repeated node placements when holding
+# the place button.
+# type: float min: 0.25 max: 2
+# repeat_place_time = 0.25
# Automatically jump up single-node obstacles.
# type: bool
# type: bool
# safe_dig_and_place = false
-# Enable random user input (only used for testing).
-# type: bool
-# random_input = false
+## Keyboard and Mouse
-# Continuous forward movement, toggled by autoforward key.
-# Press the autoforward key again or the backwards movement to disable.
+# Invert vertical mouse movement.
# type: bool
-# continuous_forward = false
+# invert_mouse = false
+
+# Mouse sensitivity multiplier.
+# type: float min: 0.001 max: 10
+# mouse_sensitivity = 0.2
+
+## Touchscreen
# The length in pixels it takes for touch screen interaction to start.
# type: int min: 0 max: 100
# touchscreen_threshold = 20
+# Use crosshair to select object instead of whole screen.
+# If enabled, a crosshair will be shown and will be used for selecting object.
+# type: bool
+# touch_use_crosshair = false
+
# (Android) Fixes the position of virtual joystick.
# If disabled, virtual joystick will center to first-touch's position.
# type: bool
# fixed_virtual_joystick = false
-# (Android) Use virtual joystick to trigger "aux" button.
-# If enabled, virtual joystick will also tap "aux" button when out of main circle.
+# (Android) Use virtual joystick to trigger "Aux1" button.
+# If enabled, virtual joystick will also tap "Aux1" button when out of main circle.
# type: bool
-# virtual_joystick_triggers_aux = false
+# virtual_joystick_triggers_aux1 = false
-# Enable joysticks
-# type: bool
-# enable_joysticks = false
+#
+# Graphics and Audio
+#
-# The identifier of the joystick to use
-# type: int
-# joystick_id = 0
+## Graphics
-# The type of joystick
-# type: enum values: auto, generic, xbox
-# joystick_type = auto
+### Screen
-# The time in seconds it takes between repeated events
-# when holding down a joystick button combination.
-# type: float min: 0.001
-# repeat_joystick_button_time = 0.17
+# Width component of the initial window size. Ignored in fullscreen mode.
+# type: int min: 1 max: 65535
+# screen_w = 1024
-# The sensitivity of the joystick axes for moving the
-# ingame view frustum around.
-# type: float
-# joystick_frustum_sensitivity = 170
+# Height component of the initial window size. Ignored in fullscreen mode.
+# type: int min: 1 max: 65535
+# screen_h = 600
-# Key for moving the player forward.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_forward = KEY_KEY_W
+# Save window size automatically when modified.
+# type: bool
+# autosave_screensize = true
-# Key for moving the player backward.
-# Will also disable autoforward, when active.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_backward = KEY_KEY_S
+# Fullscreen mode.
+# type: bool
+# fullscreen = false
-# Key for moving the player left.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_left = KEY_KEY_A
+# Open the pause menu when the window's focus is lost. Does not pause if a formspec is
+# open.
+# type: bool
+# pause_on_lost_focus = false
-# Key for moving the player right.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_right = KEY_KEY_D
+### FPS
-# Key for jumping.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_jump = KEY_SPACE
+# If FPS would go higher than this, limit it by sleeping
+# to not waste CPU power for no benefit.
+# type: int min: 1 max: 4294967295
+# fps_max = 60
-# Key for sneaking.
-# Also used for climbing down and descending in water if aux1_descends is disabled.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_sneak = KEY_LSHIFT
+# Vertical screen synchronization.
+# type: bool
+# vsync = false
-# Key for opening the inventory.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_inventory = KEY_KEY_I
+# Maximum FPS when the window is not focused, or when the game is paused.
+# type: int min: 1 max: 4294967295
+# fps_max_unfocused = 20
-# Key for moving fast in fast mode.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_special1 = KEY_KEY_E
+# View distance in nodes.
+# type: int min: 20 max: 4000
+# viewing_range = 190
-# Key for opening the chat window.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_chat = KEY_KEY_T
+# Undersampling is similar to using a lower screen resolution, but it applies
+# to the game world only, keeping the GUI intact.
+# It should give a significant performance boost at the cost of less detailed image.
+# Higher values result in a less detailed image.
+# type: int min: 1 max: 8
+# undersampling = 1
-# Key for opening the chat window to type commands.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_cmd = /
+### Graphics Effects
-# Key for opening the chat window to type local commands.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_cmd_local = .
+# Makes all liquids opaque
+# type: bool
+# opaque_water = false
-# Key for toggling unlimited view range.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_rangeselect = KEY_KEY_R
+# Leaves style:
+# - Fancy: all faces visible
+# - Simple: only outer faces, if defined special_tiles are used
+# - Opaque: disable transparency
+# type: enum values: fancy, simple, opaque
+# leaves_style = fancy
-# Key for toggling flying.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_freemove = KEY_KEY_K
+# Connects glass if supported by node.
+# type: bool
+# connected_glass = false
-# Key for toggling pitch move mode.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_pitchmove = KEY_KEY_P
+# Enable smooth lighting with simple ambient occlusion.
+# Disable for speed or for different looks.
+# type: bool
+# smooth_lighting = true
-# Key for toggling fast mode.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_fastmove = KEY_KEY_J
+# Enables tradeoffs that reduce CPU load or increase rendering performance
+# at the expense of minor visual glitches that do not impact game playability.
+# type: bool
+# performance_tradeoffs = false
-# Key for toggling noclip mode.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_noclip = KEY_KEY_H
+# Adds particles when digging a node.
+# type: bool
+# enable_particles = true
-# Key for selecting the next item in the hotbar.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_hotbar_next = KEY_KEY_N
+### 3d
-# Key for selecting the previous item in the hotbar.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_hotbar_previous = KEY_KEY_B
+# 3D support.
+# Currently supported:
+# - none: no 3d output.
+# - anaglyph: cyan/magenta color 3d.
+# - interlaced: odd/even line based polarisation screen support.
+# - topbottom: split screen top/bottom.
+# - sidebyside: split screen side by side.
+# - crossview: Cross-eyed 3d
+# - pageflip: quadbuffer based 3d.
+# Note that the interlaced mode requires shaders to be enabled.
+# type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, crossview, pageflip
+# 3d_mode = none
-# Key for muting the game.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_mute = KEY_KEY_M
+# Strength of 3D mode parallax.
+# type: float min: -0.087 max: 0.087
+# 3d_paralax_strength = 0.025
-# Key for increasing the volume.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_increase_volume =
+### Bobbing
-# Key for decreasing the volume.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_decrease_volume =
+# Arm inertia, gives a more realistic movement of
+# the arm when the camera moves.
+# type: bool
+# arm_inertia = true
-# Key for toggling autoforward.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_autoforward =
+# Enable view bobbing and amount of view bobbing.
+# For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
+# type: float min: 0 max: 7.9
+# view_bobbing_amount = 1.0
-# Key for toggling cinematic mode.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_cinematic =
+# Multiplier for fall bobbing.
+# For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
+# type: float min: 0 max: 100
+# fall_bobbing_amount = 0.03
-# Key for toggling display of minimap.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_minimap = KEY_F9
+### Camera
-# Key for taking screenshots.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_screenshot = KEY_F12
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.25
+# Only works on GLES platforms. Most users will not need to change this.
+# Increasing can reduce artifacting on weaker GPUs.
+# 0.1 = Default, 0.25 = Good value for weaker tablets.
+# type: float min: 0 max: 0.25
+# near_plane = 0.1
-# Key for dropping the currently selected item.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_drop = KEY_KEY_Q
+# Field of view in degrees.
+# type: int min: 45 max: 160
+# fov = 72
-# Key to use view zoom when possible.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_zoom = KEY_KEY_Z
+# Alters the light curve by applying 'gamma correction' to it.
+# Higher values make middle and lower light levels brighter.
+# Value '1.0' leaves the light curve unaltered.
+# This only has significant effect on daylight and artificial
+# light, it has very little effect on natural night light.
+# type: float min: 0.33 max: 3
+# display_gamma = 1.0
-# Key for selecting the first hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot1 = KEY_KEY_1
+# The strength (darkness) of node ambient-occlusion shading.
+# Lower is darker, Higher is lighter. The valid range of values for this
+# setting is 0.25 to 4.0 inclusive. If the value is out of range it will be
+# set to the nearest valid value.
+# type: float min: 0.25 max: 4
+# ambient_occlusion_gamma = 2.2
-# Key for selecting the second hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot2 = KEY_KEY_2
+### Screenshots
-# Key for selecting the third hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot3 = KEY_KEY_3
+# Path to save screenshots at. Can be an absolute or relative path.
+# The folder will be created if it doesn't already exist.
+# type: path
+# screenshot_path = screenshots
-# Key for selecting the fourth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot4 = KEY_KEY_4
+# Format of screenshots.
+# type: enum values: png, jpg
+# screenshot_format = png
-# Key for selecting the fifth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot5 = KEY_KEY_5
+# Screenshot quality. Only used for JPEG format.
+# 1 means worst quality; 100 means best quality.
+# Use 0 for default quality.
+# type: int min: 0 max: 100
+# screenshot_quality = 0
-# Key for selecting the sixth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot6 = KEY_KEY_6
+### Node and Entity Highlighting
-# Key for selecting the seventh hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot7 = KEY_KEY_7
+# Method used to highlight selected object.
+# type: enum values: box, halo, none
+# node_highlighting = box
-# Key for selecting the eighth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot8 = KEY_KEY_8
-
-# Key for selecting the ninth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot9 = KEY_KEY_9
-
-# Key for selecting the tenth hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot10 = KEY_KEY_0
-
-# Key for selecting the 11th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot11 =
-
-# Key for selecting the 12th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot12 =
-
-# Key for selecting the 13th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot13 =
-
-# Key for selecting the 14th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot14 =
-
-# Key for selecting the 15th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot15 =
-
-# Key for selecting the 16th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot16 =
-
-# Key for selecting the 17th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot17 =
-
-# Key for selecting the 18th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot18 =
-
-# Key for selecting the 19th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot19 =
-
-# Key for selecting the 20th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot20 =
-
-# Key for selecting the 21st hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot21 =
-
-# Key for selecting the 22nd hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot22 =
-
-# Key for selecting the 23rd hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot23 =
-
-# Key for selecting the 24th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot24 =
-
-# Key for selecting the 25th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot25 =
-
-# Key for selecting the 26th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot26 =
-
-# Key for selecting the 27th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot27 =
-
-# Key for selecting the 28th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot28 =
-
-# Key for selecting the 29th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot29 =
-
-# Key for selecting the 30th hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot30 =
-
-# Key for selecting the 31st hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot31 =
-
-# Key for selecting the 32nd hotbar slot.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_slot32 =
-
-# Key for toggling the display of the HUD.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_hud = KEY_F1
-
-# Key for toggling the display of chat.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_chat = KEY_F2
-
-# Key for toggling the display of the large chat console.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_console = KEY_F10
-
-# Key for toggling the display of fog.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_force_fog_off = KEY_F3
-
-# Key for toggling the camera update. Only used for development
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_update_camera =
-
-# Key for toggling the display of debug info.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_debug = KEY_F5
-
-# Key for toggling the display of the profiler. Used for development.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_toggle_profiler = KEY_F6
-
-# Key for switching between first- and third-person camera.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_camera_mode = KEY_F7
-
-# Key for increasing the viewing range.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_increase_viewing_range_min = +
+# Show entity selection boxes
+# A restart is required after changing this.
+# type: bool
+# show_entity_selectionbox = false
-# Key for decreasing the viewing range.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-# type: key
-# keymap_decrease_viewing_range_min = -
+# Selection box border color (R,G,B).
+# type: string
+# selectionbox_color = (0,0,0)
-#
-# Graphics
-#
+# Width of the selection box lines around nodes.
+# type: int min: 1 max: 5
+# selectionbox_width = 2
-## In-Game
+# Crosshair color (R,G,B).
+# Also controls the object crosshair color
+# type: string
+# crosshair_color = (255,255,255)
-### Basic
+# Crosshair alpha (opaqueness, between 0 and 255).
+# This also applies to the object crosshair.
+# type: int min: 0 max: 255
+# crosshair_alpha = 255
-# Enable VBO
-# type: bool
-# enable_vbo = true
+### Fog
# Whether to fog out the end of the visible area.
# type: bool
# enable_fog = true
-# Leaves style:
-# - Fancy: all faces visible
-# - Simple: only outer faces, if defined special_tiles are used
-# - Opaque: disable transparency
-# type: enum values: fancy, simple, opaque
-# leaves_style = fancy
-
-# Connects glass if supported by node.
+# Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
# type: bool
-# connected_glass = false
+# directional_colored_fog = true
-# Enable smooth lighting with simple ambient occlusion.
-# Disable for speed or for different looks.
-# type: bool
-# smooth_lighting = true
+# Fraction of the visible distance at which fog starts to be rendered
+# type: float min: 0 max: 0.99
+# fog_start = 0.4
+
+### Clouds
# Clouds are a client side effect.
# type: bool
# type: bool
# enable_3d_clouds = true
-# Method used to highlight selected object.
-# type: enum values: box, halo, none
-# node_highlighting = box
-
-# Adds particles when digging a node.
-# type: bool
-# enable_particles = true
-
-### Filtering
+### Filtering and Antialiasing
-# Use mip mapping to scale textures. May slightly increase performance,
+# Use mipmapping to scale textures. May slightly increase performance,
# especially when using a high resolution texture pack.
# Gamma correct downscaling is not supported.
# type: bool
# trilinear_filter = false
# Filtered textures can blend RGB values with fully-transparent neighbors,
-# which PNG optimizers usually discard, sometimes resulting in a dark or
-# light edge to transparent textures. Apply this filter to clean that up
-# at texture load time.
+# which PNG optimizers usually discard, often resulting in dark or
+# light edges to transparent textures. Apply a filter to clean that up
+# at texture load time. This is automatically enabled if mipmapping is enabled.
# type: bool
# texture_clean_transparent = false
# can be blurred, so automatically upscale them with nearest-neighbor
# interpolation to preserve crisp pixels. This sets the minimum texture size
# for the upscaled textures; higher values look sharper, but require more
-# memory. Powers of 2 are recommended. Setting this higher than 1 may not
-# have a visible effect unless bilinear/trilinear/anisotropic filtering is
-# enabled.
+# memory. Powers of 2 are recommended. This setting is ONLY applied if
+# bilinear/trilinear/anisotropic filtering is enabled.
# This is also used as the base node texture size for world-aligned
# texture autoscaling.
-# type: int
+# type: int min: 1 max: 32768
# texture_min_size = 64
-# Experimental option, might cause visible spaces between blocks
-# when set to higher number than 0.
+# Use multi-sample antialiasing (MSAA) to smooth out block edges.
+# This algorithm smooths out the 3D viewport while keeping the image sharp,
+# but it doesn't affect the insides of textures
+# (which is especially noticeable with transparent textures).
+# Visible spaces appear between nodes when shaders are disabled.
+# If set to 0, MSAA is disabled.
+# A restart is required after changing this option.
# type: enum values: 0, 1, 2, 4, 8, 16
# fsaa = 0
-# Undersampling is similar to using a lower screen resolution, but it applies
-# to the game world only, keeping the GUI intact.
-# It should give a significant performance boost at the cost of less detailed image.
-# Higher values result in a less detailed image.
-# type: int min: 1 max: 8
-# undersampling = 1
-
-### Shaders
+## Shaders
# Shaders allow advanced visual effects and may increase performance on some video
# cards.
# type: bool
# enable_shaders = true
-# Path to shader directory. If no path is defined, default location will be used.
-# type: path
-# shader_path =
-
-#### Tone Mapping
+### Tone Mapping
-# Enables filmic tone mapping
+# Enables Hable's 'Uncharted 2' filmic tone mapping.
+# Simulates the tone curve of photographic film and how this approximates the
+# appearance of high dynamic range images. Mid-range contrast is slightly
+# enhanced, highlights and shadows are gradually compressed.
# type: bool
# tone_mapping = false
-#### Bumpmapping
+# Adjust the saturation (or vividness) of the scene
+# Values
+# < 1.0 decrease saturation
+# > 1.0 increase saturation
+# 1.0 = unchanged saturation
+# 0.0 = black and white
+# (Tone mapping needs to be enabled.)
+# type: float min: 0 max: 5
+# saturation = 1.0
-# Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack
-# or need to be auto-generated.
-# Requires shaders to be enabled.
-# type: bool
-# enable_bumpmapping = false
+### Waving Nodes
-# Enables on the fly normalmap generation (Emboss effect).
-# Requires bumpmapping to be enabled.
+# Set to true to enable waving leaves.
+# Requires shaders to be enabled.
# type: bool
-# generate_normalmaps = false
-
-# Strength of generated normalmaps.
-# type: float
-# normalmaps_strength = 0.6
-
-# Defines sampling step of texture.
-# A higher value results in smoother normal maps.
-# type: int min: 0 max: 2
-# normalmaps_smooth = 0
-
-#### Parallax Occlusion
+# enable_waving_leaves = false
-# Enables parallax occlusion mapping.
+# Set to true to enable waving plants.
# Requires shaders to be enabled.
# type: bool
-# enable_parallax_occlusion = false
-
-# 0 = parallax occlusion with slope information (faster).
-# 1 = relief mapping (slower, more accurate).
-# type: int min: 0 max: 1
-# parallax_occlusion_mode = 1
-
-# Strength of parallax.
-# type: float
-# 3d_paralax_strength = 0.025
-
-# Number of parallax occlusion iterations.
-# type: int
-# parallax_occlusion_iterations = 4
-
-# Overall scale of parallax occlusion effect.
-# type: float
-# parallax_occlusion_scale = 0.08
-
-# Overall bias of parallax occlusion effect, usually scale/2.
-# type: float
-# parallax_occlusion_bias = 0.04
-
-#### Waving Nodes
+# enable_waving_plants = false
-# Set to true enables waving water.
+# Set to true to enable waving liquids (like water).
# Requires shaders to be enabled.
# type: bool
# enable_waving_water = false
-# type: float
+# The maximum height of the surface of waving liquids.
+# 4.0 = Wave height is two nodes.
+# 0.0 = Wave doesn't move at all.
+# Default is 1.0 (1/2 node).
+# Requires waving liquids to be enabled.
+# type: float min: 0 max: 4
# water_wave_height = 1.0
-# type: float
+# Length of liquid waves.
+# Requires waving liquids to be enabled.
+# type: float min: 0.1
# water_wave_length = 20.0
+# How fast liquid waves will move. Higher = faster.
+# If negative, liquid waves will move backwards.
+# Requires waving liquids to be enabled.
# type: float
# water_wave_speed = 5.0
-# Set to true enables waving leaves.
-# Requires shaders to be enabled.
-# type: bool
-# enable_waving_leaves = false
+### Dynamic shadows
-# Set to true enables waving plants.
+# Set to true to enable Shadow Mapping.
# Requires shaders to be enabled.
# type: bool
-# enable_waving_plants = false
+# enable_dynamic_shadows = false
-### Advanced
+# Set the shadow strength gamma.
+# Adjusts the intensity of in-game dynamic shadows.
+# Lower value means lighter shadows, higher value means darker shadows.
+# type: float min: 0.1 max: 10
+# shadow_strength_gamma = 1.0
-# Arm inertia, gives a more realistic movement of
-# the arm when the camera moves.
+# Maximum distance to render shadows.
+# type: float min: 10 max: 1000
+# shadow_map_max_distance = 120.0
+
+# Texture size to render the shadow map on.
+# This must be a power of two.
+# Bigger numbers create better shadows but it is also more expensive.
+# type: int min: 128 max: 8192
+# shadow_map_texture_size = 1024
+
+# Sets shadow texture quality to 32 bits.
+# On false, 16 bits texture will be used.
+# This can cause much more artifacts in the shadow.
# type: bool
-# arm_inertia = true
+# shadow_map_texture_32bit = true
-# If FPS would go higher than this, limit it by sleeping
-# to not waste CPU power for no benefit.
-# type: int min: 1
-# fps_max = 60
+# Enable Poisson disk filtering.
+# On true uses Poisson disk to make "soft shadows". Otherwise uses PCF filtering.
+# type: bool
+# shadow_poisson_filter = true
-# Maximum FPS when game is paused.
-# type: int min: 1
-# pause_fps_max = 20
+# Define shadow filtering quality.
+# This simulates the soft shadows effect by applying a PCF or Poisson disk
+# but also uses more resources.
+# type: enum values: 0, 1, 2
+# shadow_filters = 1
-# Open the pause menu when the window's focus is lost. Does not pause if a formspec is
-# open.
+# Enable colored shadows.
+# On true translucent nodes cast colored shadows. This is expensive.
# type: bool
-# pause_on_lost_focus = false
+# shadow_map_color = false
-# View distance in nodes.
-# type: int min: 20 max: 4000
-# viewing_range = 100
+# Spread a complete update of shadow map over given amount of frames.
+# Higher values might make shadows laggy, lower values
+# will consume more resources.
+# Minimum value: 1; maximum value: 16
+# type: int min: 1 max: 16
+# shadow_update_frames = 8
-# Camera 'near clipping plane' distance in nodes, between 0 and 0.5.
-# Most users will not need to change this.
-# Increasing can reduce artifacting on weaker GPUs.
-# 0.1 = Default, 0.25 = Good value for weaker tablets.
-# type: float min: 0 max: 0.5
-# near_plane = 0.1
+# Set the soft shadow radius size.
+# Lower values mean sharper shadows, bigger values mean softer shadows.
+# Minimum value: 1.0; maximum value: 15.0
+# type: float min: 1 max: 15
+# shadow_soft_radius = 5.0
-# Width component of the initial window size.
-# type: int min: 1
-# screen_w = 1024
+### Post processing
-# Height component of the initial window size.
-# type: int min: 1
-# screen_h = 600
+# Set the exposure compensation factor.
+# This factor is applied to linear color value
+# before all other post-processing effects.
+# Value of 1.0 (default) means no exposure compensation.
+# Range: from 0.1 to 10.0
+# type: float min: 0.1 max: 10
+# exposure_factor = 1.0
-# Save window size automatically when modified.
+### Bloom
+
+# Set to true to enable bloom effect.
+# Bright colors will bleed over the neighboring objects.
# type: bool
-# autosave_screensize = true
+# enable_bloom = false
-# Fullscreen mode.
+# Set to true to render debugging breakdown of the bloom effect.
+# In debug mode, the screen is split into 4 quadrants:
+# top-left - processed base image, top-right - final image
+# bottom-left - raw base image, bottom-right - bloom texture.
# type: bool
-# fullscreen = false
+# enable_bloom_debug = false
-# Bits per pixel (aka color depth) in fullscreen mode.
-# type: int
-# fullscreen_bpp = 24
+# Defines how much bloom is applied to the rendered image
+# Smaller values make bloom more subtle
+# Range: from 0.01 to 1.0, default: 0.05
+# type: float min: 0.01 max: 1
+# bloom_intensity = 0.05
-# Vertical screen synchronization.
-# type: bool
-# vsync = false
+# Defines the magnitude of bloom overexposure.
+# Range: from 0.1 to 10.0, default: 1.0
+# type: float min: 0.1 max: 10
+# bloom_strength_factor = 1.0
-# Field of view in degrees.
-# type: int min: 45 max: 160
-# fov = 72
+# Logical value that controls how far the bloom effect spreads
+# from the bright objects.
+# Range: from 0.1 to 8, default: 1
+# type: float min: 0.1 max: 8
+# bloom_radius = 1
-# Adjust the gamma encoding for the light tables. Higher numbers are brighter.
-# This setting is for the client only and is ignored by the server.
-# type: float min: 0.5 max: 10
-# display_gamma = 1.0
-
-# Gradient of light curve at minimum light level.
-# type: float min: 0 max: 4
-# lighting_alpha = 0.0
-
-# Gradient of light curve at maximum light level.
-# type: float min: 0 max: 4
-# lighting_beta = 1.5
-
-# Strength of light curve mid-boost.
-# type: float min: 0 max: 1
-# lighting_boost = 0.2
+## Audio
-# Center of light curve mid-boost.
+# Volume of all sounds.
+# Requires the sound system to be enabled.
# type: float min: 0 max: 1
-# lighting_boost_center = 0.5
+# sound_volume = 0.7
-# Spread of light curve mid-boost.
-# Standard deviation of the mid-boost gaussian.
-# type: float min: 0 max: 1
-# lighting_boost_spread = 0.2
+# Whether to mute sounds. You can unmute sounds at any time, unless the
+# sound system is disabled (enable_sound=false).
+# In-game, you can toggle the mute state with the mute key or by using the
+# pause menu.
+# type: bool
+# mute_sound = false
-# Path to texture directory. All textures are first searched from here.
-# type: path
-# texture_path =
+## User Interfaces
-# The rendering back-end for Irrlicht.
+# Set the language. Leave empty to use the system language.
# A restart is required after changing this.
-# Note: On Android, stick with OGLES1 if unsure! App may fail to start otherwise.
-# On other platforms, OpenGL is recommended, and it’s the only driver with
-# shader support currently.
-# type: enum values: null, software, burningsvideo, direct3d8, direct3d9, opengl, ogles1, ogles2
-# video_driver = opengl
-
-# Radius of cloud area stated in number of 64 node cloud squares.
-# Values larger than 26 will start to produce sharp cutoffs at cloud area corners.
-# type: int
-# cloud_radius = 12
-
-# Enable view bobbing and amount of view bobbing.
-# For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
-# type: float
-# view_bobbing_amount = 1.0
-
-# Multiplier for fall bobbing.
-# For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
-# type: float
-# fall_bobbing_amount = 0.03
-
-# 3D support.
-# Currently supported:
-# - none: no 3d output.
-# - anaglyph: cyan/magenta color 3d.
-# - interlaced: odd/even line based polarisation screen support.
-# - topbottom: split screen top/bottom.
-# - sidebyside: split screen side by side.
-# - crossview: Cross-eyed 3d
-# - pageflip: quadbuffer based 3d.
-# Note that the interlaced mode requires shaders to be enabled.
-# type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, crossview, pageflip
-# 3d_mode = none
+# type: enum values: , be, bg, ca, cs, da, de, el, en, eo, es, et, eu, fi, fr, gd, gl, hu, id, it, ja, jbo, kk, ko, lt, lv, ms, nb, nl, nn, pl, pt, pt_BR, ro, ru, sk, sl, sr_Cyrl, sr_Latn, sv, sw, tr, uk, vi, zh_CN, zh_TW
+# language =
-# In-game chat console height, between 0.1 (10%) and 1.0 (100%).
-# type: float min: 0.1 max: 1
-# console_height = 0.6
+### GUIs
-# In-game chat console background color (R,G,B).
-# type: string
-# console_color = (0,0,0)
+# Scale GUI by a user specified value.
+# Use a nearest-neighbor-anti-alias filter to scale the GUI.
+# This will smooth over some of the rough edges, and blend
+# pixels when scaling down, at the cost of blurring some
+# edge pixels when images are scaled by non-integer sizes.
+# type: float min: 0.5 max: 20
+# gui_scaling = 1.0
-# In-game chat console background alpha (opaqueness, between 0 and 255).
-# type: int min: 0 max: 255
-# console_alpha = 200
+# Enables animation of inventory items.
+# type: bool
+# inventory_items_animations = false
# Formspec full-screen background opacity (between 0 and 255).
# type: int min: 0 max: 255
# type: string
# formspec_fullscreen_bg_color = (0,0,0)
-# Formspec default background opacity (between 0 and 255).
-# type: int min: 0 max: 255
-# formspec_default_bg_opacity = 140
+# When gui_scaling_filter is true, all GUI images need to be
+# filtered in software, but some images are generated directly
+# to hardware (e.g. render-to-texture for nodes in inventory).
+# type: bool
+# gui_scaling_filter = false
-# Formspec default background color (R,G,B).
-# type: string
-# formspec_default_bg_color = (0,0,0)
+# When gui_scaling_filter_txr2img is true, copy those images
+# from hardware to software for scaling. When false, fall back
+# to the old scaling method, for video drivers that don't
+# properly support downloading textures back from hardware.
+# type: bool
+# gui_scaling_filter_txr2img = true
-# Selection box border color (R,G,B).
-# type: string
-# selectionbox_color = (0,0,0)
+# Delay showing tooltips, stated in milliseconds.
+# type: int min: 0 max: 1.844674407371e+19
+# tooltip_show_delay = 400
-# Width of the selection box lines around nodes.
-# type: int min: 1 max: 5
-# selectionbox_width = 2
+# Append item name to tooltip.
+# type: bool
+# tooltip_append_itemname = false
-# Crosshair color (R,G,B).
-# type: string
-# crosshair_color = (255,255,255)
+# Use a cloud animation for the main menu background.
+# type: bool
+# menu_clouds = true
-# Crosshair alpha (opaqueness, between 0 and 255).
-# type: int min: 0 max: 255
-# crosshair_alpha = 255
+### HUD
+
+# Modifies the size of the HUD elements.
+# type: float min: 0.5 max: 20
+# hud_scaling = 1.0
+
+# Whether name tag backgrounds should be shown by default.
+# Mods may still set a background.
+# type: bool
+# show_nametag_backgrounds = true
+
+### Chat
# Maximum number of recent chat messages to show
# type: int min: 2 max: 20
# recent_chat_messages = 6
-# Whether node texture animations should be desynchronized per mapblock.
-# type: bool
-# desynchronize_mapblock_texture_animation = true
+# In-game chat console height, between 0.1 (10%) and 1.0 (100%).
+# type: float min: 0.1 max: 1
+# console_height = 0.6
+
+# In-game chat console background color (R,G,B).
+# type: string
+# console_color = (0,0,0)
+
+# In-game chat console background alpha (opaqueness, between 0 and 255).
+# type: int min: 0 max: 255
+# console_alpha = 200
# Maximum proportion of current window to be used for hotbar.
# Useful if there's something to be displayed right or left of hotbar.
-# type: float
+# type: float min: 0.001 max: 1
# hud_hotbar_max_width = 1.0
-# Modifies the size of the hudbar elements.
-# type: float
-# hud_scaling = 1.0
-
-# Enables caching of facedir rotated meshes.
+# Clickable weblinks (middle-click or Ctrl+left-click) enabled in chat console output.
# type: bool
-# enable_mesh_cache = false
-
-# Delay between mesh updates on the client in ms. Increasing this will slow
-# down the rate of mesh updates, thus reducing jitter on slower clients.
-# type: int min: 0 max: 50
-# mesh_generation_interval = 0
+# clickable_chat_weblinks = true
-# Size of the MapBlock cache of the mesh generator. Increasing this will
-# increase the cache hit %, reducing the data being copied from the main
-# thread, thus reducing jitter.
-# type: int min: 0 max: 1000
-# meshgen_block_cache_size = 20
+# Optional override for chat weblink color.
+# type: string
+# chat_weblink_color =
-# Enables minimap.
-# type: bool
-# enable_minimap = true
+# Font size of the recent chat text and chat prompt in point (pt).
+# Value 0 will use the default font size.
+# type: int min: 0 max: 72
+# chat_font_size = 0
-# Shape of the minimap. Enabled = round, disabled = square.
-# type: bool
-# minimap_shape_round = true
+### Content Repository
-# True = 256
-# False = 128
-# Useable to make minimap smoother on slower machines.
-# type: bool
-# minimap_double_scan_height = true
+# The URL for the content repository
+# type: string
+# contentdb_url = https://content.minetest.net
-# Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
-# type: bool
-# directional_colored_fog = true
+# Comma-separated list of flags to hide in the content repository.
+# "nonfree" can be used to hide packages which do not qualify as 'free software',
+# as defined by the Free Software Foundation.
+# You can also specify content ratings.
+# These flags are independent from Minetest versions,
+# so see a full list at https://content.minetest.net/help/content_flags/
+# type: string
+# contentdb_flag_blacklist = nonfree, desktop_default
-# The strength (darkness) of node ambient-occlusion shading.
-# Lower is darker, Higher is lighter. The valid range of values for this
-# setting is 0.25 to 4.0 inclusive. If the value is out of range it will be
-# set to the nearest valid value.
-# type: float min: 0.25 max: 4
-# ambient_occlusion_gamma = 2.2
+# Maximum number of concurrent downloads. Downloads exceeding this limit will be queued.
+# This should be lower than curl_parallel_limit.
+# type: int min: 1
+# contentdb_max_concurrent_downloads = 3
-# Enables animation of inventory items.
-# type: bool
-# inventory_items_animations = false
+#
+# Client and Server
+#
-# Fraction of the visible distance at which fog starts to be rendered
-# type: float min: 0 max: 0.99
-# fog_start = 0.4
+## Client
-# Makes all liquids opaque
+# Save the map received by the client on disk.
# type: bool
-# opaque_water = false
-
-# Textures on a node may be aligned either to the node or to the world.
-# The former mode suits better things like machines, furniture, etc., while
-# the latter makes stairs and microblocks fit surroundings better.
-# However, as this possibility is new, thus may not be used by older servers,
-# this option allows enforcing it for certain node types. Note though that
-# that is considered EXPERIMENTAL and may not work properly.
-# type: enum values: disable, enable, force_solid, force_nodebox
-# world_aligned_mode = enable
+# enable_local_map_saving = false
-# World-aligned textures may be scaled to span several nodes. However,
-# the server may not send the scale you want, especially if you use
-# a specially-designed texture pack; with this option, the client tries
-# to determine the scale automatically basing on the texture size.
-# See also texture_min_size.
-# Warning: This option is EXPERIMENTAL!
-# type: enum values: disable, enable, force
-# autoscale_mode = disable
+# URL to the server list displayed in the Multiplayer Tab.
+# type: string
+# serverlist_url = servers.minetest.net
-# Show entity selection boxes
+# If enabled, account registration is separate from login in the UI.
+# If disabled, new accounts will be registered automatically when logging in.
# type: bool
-# show_entity_selectionbox = true
+# enable_split_login_register = true
-## Menus
+# URL to JSON file which provides information about the newest Minetest release
+# type: string
+# update_information_url = https://www.minetest.net/release_info.json
-# Use a cloud animation for the main menu background.
-# type: bool
-# menu_clouds = true
+# Unix timestamp (integer) of when the client last checked for an update
+# Set this value to "disabled" to never check for updates.
+# type: string
+# update_last_checked =
-# Scale GUI by a user specified value.
-# Use a nearest-neighbor-anti-alias filter to scale the GUI.
-# This will smooth over some of the rough edges, and blend
-# pixels when scaling down, at the cost of blurring some
-# edge pixels when images are scaled by non-integer sizes.
-# type: float min: 0.001
-# gui_scaling = 1.0
+# Version number which was last seen during an update check.
+#
+# Representation: MMMIIIPPP, where M=Major, I=Minor, P=Patch
+# Ex: 5.5.0 is 005005000
+# type: int
+# update_last_known = 0
-# When gui_scaling_filter is true, all GUI images need to be
-# filtered in software, but some images are generated directly
-# to hardware (e.g. render-to-texture for nodes in inventory).
-# type: bool
-# gui_scaling_filter = false
+## Server
-# When gui_scaling_filter_txr2img is true, copy those images
-# from hardware to software for scaling. When false, fall back
-# to the old scaling method, for video drivers that don't
-# properly support downloading textures back from hardware.
-# type: bool
-# gui_scaling_filter_txr2img = true
+# Name of the player.
+# When running a server, clients connecting with this name are admins.
+# When starting from the main menu, this is overridden.
+# type: string
+# name =
-# Delay showing tooltips, stated in milliseconds.
-# type: int
-# tooltip_show_delay = 400
+### Serverlist and MOTD
-# Append item name to tooltip.
-# type: bool
-# tooltip_append_itemname = false
+# Name of the server, to be displayed when players join and in the serverlist.
+# type: string
+# server_name = Minetest server
-# Whether FreeType fonts are used, requires FreeType support to be compiled in.
-# type: bool
-# freetype = true
+# Description of server, to be displayed when players join and in the serverlist.
+# type: string
+# server_description = mine here
-# Path to TrueTypeFont or bitmap.
-# type: filepath
-# font_path = fonts/liberationsans.ttf
-
-# type: int min: 1
-# font_size = 16
-
-# Font shadow offset, if 0 then shadow will not be drawn.
-# type: int
-# font_shadow = 1
-
-# Font shadow alpha (opaqueness, between 0 and 255).
-# type: int min: 0 max: 255
-# font_shadow_alpha = 127
-
-# type: filepath
-# mono_font_path = fonts/liberationmono.ttf
-
-# type: int min: 1
-# mono_font_size = 15
-
-# This font will be used for certain languages.
-# type: filepath
-# fallback_font_path = fonts/DroidSansFallbackFull.ttf
-
-# type: int min: 1
-# fallback_font_size = 15
-
-# type: int
-# fallback_font_shadow = 1
-
-# type: int min: 0 max: 255
-# fallback_font_shadow_alpha = 128
-
-# Path to save screenshots at.
-# type: path
-# screenshot_path =
-
-# Format of screenshots.
-# type: enum values: png, jpg, bmp, pcx, ppm, tga
-# screenshot_format = png
-
-# Screenshot quality. Only used for JPEG format.
-# 1 means worst quality; 100 means best quality.
-# Use 0 for default quality.
-# type: int min: 0 max: 100
-# screenshot_quality = 0
-
-## Advanced
-
-# Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
-# type: int min: 1
-# screen_dpi = 72
-
-# Windows systems only: Start Minetest with the command line window in the background.
-# Contains the same information as the file debug.txt (default name).
-# type: bool
-# enable_console = false
-
-#
-# Sound
-#
-
-# type: bool
-# enable_sound = true
-
-# type: float min: 0 max: 1
-# sound_volume = 0.7
-
-# type: bool
-# mute_sound = false
-
-#
-# Client
-#
-
-## Network
-
-# Address to connect to.
-# Leave this blank to start a local server.
-# Note that the address field in the main menu overrides this setting.
-# type: string
-# address =
-
-# Port to connect to (UDP).
-# Note that the port field in the main menu overrides this setting.
-# type: int min: 1 max: 65535
-# remote_port = 30000
-
-# Save the map received by the client on disk.
-# type: bool
-# enable_local_map_saving = false
-
-# Enable usage of remote media server (if provided by server).
-# Remote servers offer a significantly faster way to download media (e.g. textures)
-# when connecting to the server.
-# type: bool
-# enable_remote_media_server = true
-
-# Enable Lua modding support on client.
-# This support is experimental and API can change.
-# type: bool
-# enable_client_modding = false
-
-# URL to the server list displayed in the Multiplayer Tab.
-# type: string
-# serverlist_url = servers.minetest.net
-
-# File in client/serverlist/ that contains your favorite servers displayed in the
-# Multiplayer Tab.
-# type: string
-# serverlist_file = favoriteservers.txt
-
-# Maximum size of the out chat queue.
-# 0 to disable queueing and -1 to make the queue size unlimited.
-# type: int
-# max_out_chat_queue_size = 20
-
-# Enable register confirmation when connecting to server.
-# If disabled, new account will be registered automatically.
-# type: bool
-# enable_register_confirmation = true
-
-## Advanced
-
-# Timeout for client to remove unused map data from memory.
-# type: int
-# client_unload_unused_data_timeout = 600
-
-# Maximum number of mapblocks for client to be kept in memory.
-# Set to -1 for unlimited amount.
-# type: int
-# client_mapblock_limit = 5000
-
-# Whether to show the client debug info (has the same effect as hitting F5).
-# type: bool
-# show_debug = false
-
-#
-# Server / Singleplayer
-#
-
-# Name of the server, to be displayed when players join and in the serverlist.
-# type: string
-# server_name = Minetest server
-
-# Description of server, to be displayed when players join and in the serverlist.
-# type: string
-# server_description = mine here
-
-# Domain name of server, to be displayed in the serverlist.
-# type: string
-# server_address = game.minetest.net
+# Domain name of server, to be displayed in the serverlist.
+# type: string
+# server_address = game.minetest.net
# Homepage of server, to be displayed in the serverlist.
# type: string
# type: string
# serverlist_url = servers.minetest.net
-# Remove color codes from incoming chat messages
-# Use this to stop players from being able to use color in their messages
-# type: bool
-# strip_color_codes = false
+# Message of the day displayed to players connecting.
+# type: string
+# motd =
+
+# Maximum number of players that can be connected simultaneously.
+# type: int min: 0 max: 65535
+# max_users = 15
+
+# If this is set, players will always (re)spawn at the given position.
+# type: string
+# static_spawnpoint =
-## Network
+### Networking
# Network port to listen (UDP).
# This value will be overridden when starting from the main menu.
-# type: int
+# type: int min: 1 max: 65535
# port = 30000
# The network interface that the server listens on.
# Enable/disable running an IPv6 server.
# Ignored if bind_address is set.
+# Needs enable_ipv6 to be enabled.
# type: bool
# ipv6_server = false
-### Advanced
-
-# Maximum number of blocks that are simultaneously sent per client.
-# The maximum total count is calculated dynamically:
-# max_total = ceil((#clients + max_users) * per_client / 4)
-# type: int
-# max_simultaneous_block_sends_per_client = 40
-
-# To reduce lag, block transfers are slowed down when a player is building something.
-# This determines how long they are slowed down after placing or removing a node.
-# type: float
-# full_block_send_enable_min_time_from_building = 2.0
-
-# Maximum number of packets sent per send step, if you have a slow connection
-# try reducing it, but don't reduce it to a number below double of targeted
-# client number.
-# type: int
-# max_packets_per_iteration = 1024
-
-## Game
-
-# Default game when creating a new world.
-# This will be overridden when creating a world from the main menu.
-# type: string
-# default_game = minetest
-
-# Message of the day displayed to players connecting.
-# type: string
-# motd =
-
-# Maximum number of players that can be connected simultaneously.
-# type: int
-# max_users = 15
-
-# World directory (everything in the world is stored here).
-# Not needed if starting from the main menu.
-# type: path
-# map-dir =
-
-# Time in seconds for item entity (dropped items) to live.
-# Setting it to -1 disables the feature.
-# type: int
-# item_entity_ttl = 900
-
-# Enable players getting damage and dying.
-# type: bool
-# enable_damage = false
-
-# Enable creative mode for new created maps.
-# type: bool
-# creative_mode = false
-
-# A chosen map seed for a new map, leave empty for random.
-# Will be overridden when creating a new world in the main menu.
-# type: string
-# fixed_map_seed =
+## Server Security
# New users need to input this password.
# type: string
# default_password =
+# If enabled, players cannot join without a password or change theirs to an empty password.
+# type: bool
+# disallow_empty_password = false
+
# The privileges that new users automatically get.
# See /privs in game for a full list on your server and mod configuration.
# type: string
# type: string
# basic_privs = interact, shout
-# Whether players are shown to clients without any range limit.
-# Deprecated, use the setting player_transfer_distance instead.
-# type: bool
-# unlimited_player_transfer_distance = true
-
-# Defines the maximal player transfer distance in blocks (0 = unlimited).
-# type: int
-# player_transfer_distance = 0
-
-# Whether to allow players to damage and kill each other.
-# type: bool
-# enable_pvp = true
-
-# Enable mod channels support.
-# type: bool
-# enable_mod_channels = false
-
-# If this is set, players will always (re)spawn at the given position.
-# type: string
-# static_spawnpoint =
-
-# If enabled, new players cannot join with an empty password.
-# type: bool
-# disallow_empty_password = false
-
# If enabled, disable cheat prevention in multiplayer.
# type: bool
# disable_anticheat = false
# type: bool
# enable_rollback_recording = false
-# Format of player chat messages. The following strings are valid placeholders:
-# @name, @message, @timestamp (optional)
-# type: string
-# chat_message_format = <@name> @message
+### Client-side Modding
-# A message to be displayed to all clients when the server shuts down.
-# type: string
-# kick_msg_shutdown = Server shutting down.
+# Restricts the access of certain client-side functions on servers.
+# Combine the byteflags below to restrict client-side features, or set to 0
+# for no restrictions:
+# LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)
+# CHAT_MESSAGES: 2 (disable send_chat_message call client-side)
+# READ_ITEMDEFS: 4 (disable get_item_def call client-side)
+# READ_NODEDEFS: 8 (disable get_node_def call client-side)
+# LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to
+# csm_restriction_noderange)
+# READ_PLAYERINFO: 32 (disable get_player_names call client-side)
+# type: int min: 0 max: 63
+# csm_restriction_flags = 62
-# A message to be displayed to all clients when the server crashes.
-# type: string
-# kick_msg_crash = This server has experienced an internal error. You will now be disconnected.
+# If the CSM restriction for node range is enabled, get_node calls are limited
+# to this distance from the player to the node.
+# type: int min: 0 max: 4294967295
+# csm_restriction_noderange = 0
-# Whether to ask clients to reconnect after a (Lua) crash.
-# Set this to true if your server is set up to restart automatically.
+### Chat
+
+# Remove color codes from incoming chat messages
+# Use this to stop players from being able to use color in their messages
# type: bool
-# ask_reconnect_on_crash = false
+# strip_color_codes = false
-# From how far clients know about objects, stated in mapblocks (16 nodes).
-#
-# Setting this larger than active_block_range will also cause the server
-# to maintain active objects up to this distance in the direction the
-# player is looking. (This can avoid mobs suddenly disappearing from view)
-# type: int
-# active_object_send_range_blocks = 4
-
-# The radius of the volume of blocks around every player that is subject to the
-# active block stuff, stated in mapblocks (16 nodes).
-# In active blocks objects are loaded and ABMs run.
-# This is also the minimum range in which active objects (mobs) are maintained.
-# This should be configured together with active_object_range.
-# type: int
-# active_block_range = 3
+# Set the maximum length of a chat message (in characters) sent by clients.
+# type: int min: 10 max: 65535
+# chat_message_max_size = 500
-# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
-# type: int
-# max_block_send_distance = 10
+# Amount of messages a player may send per 10 seconds.
+# type: float min: 1
+# chat_message_limit_per_10sec = 10.0
-# Maximum number of forceloaded mapblocks.
-# type: int
-# max_forceloaded_blocks = 16
+# Kick players who sent more than X messages per 10 seconds.
+# type: int min: 1 max: 65535
+# chat_message_limit_trigger_kick = 50
-# Interval of sending time of day to clients.
-# type: int
-# time_send_interval = 5
+## Server Gameplay
# Controls length of day/night cycle.
# Examples:
# 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged.
-# type: int
+# type: int min: 0
# time_speed = 72
# Time of day when a new world is started, in millihours (0-23999).
# type: int min: 0 max: 23999
# world_start_time = 6125
-# Interval of saving important changes in the world, stated in seconds.
-# type: float
-# server_map_save_interval = 5.3
-
-# Set the maximum character length of a chat message sent by clients.
-# type: int
-# chat_message_max_size = 500
-
-# Amount of messages a player may send per 10 seconds.
-# type: float
-# chat_message_limit_per_10sec = 10.0
+# Time in seconds for item entity (dropped items) to live.
+# Setting it to -1 disables the feature.
+# type: int min: -1
+# item_entity_ttl = 900
-# Kick players who sent more than X messages per 10 seconds.
-# type: int
-# chat_message_limit_trigger_kick = 50
+# Specifies the default stack size of nodes, items and tools.
+# Note that mods or games may explicitly set a stack for certain (or all) items.
+# type: int min: 1 max: 65535
+# default_stack_max = 99
### Physics
# Horizontal and vertical acceleration on ground or when climbing,
# in nodes per second per second.
-# type: float
-# movement_acceleration_default = 3
+# type: float min: 0
+# movement_acceleration_default = 3.0
# Horizontal acceleration in air when jumping or falling,
# in nodes per second per second.
-# type: float
-# movement_acceleration_air = 2
+# type: float min: 0
+# movement_acceleration_air = 2.0
# Horizontal and vertical acceleration in fast mode,
# in nodes per second per second.
-# type: float
-# movement_acceleration_fast = 10
+# type: float min: 0
+# movement_acceleration_fast = 10.0
# Walking and flying speed, in nodes per second.
-# type: float
-# movement_speed_walk = 4
+# type: float min: 0
+# movement_speed_walk = 4.0
# Sneaking speed, in nodes per second.
-# type: float
+# type: float min: 0
# movement_speed_crouch = 1.35
# Walking, flying and climbing speed in fast mode, in nodes per second.
-# type: float
-# movement_speed_fast = 20
+# type: float min: 0
+# movement_speed_fast = 20.0
# Vertical climbing speed, in nodes per second.
-# type: float
-# movement_speed_climb = 3
+# type: float min: 0
+# movement_speed_climb = 3.0
# Initial vertical speed when jumping, in nodes per second.
-# type: float
+# type: float min: 0
# movement_speed_jump = 6.5
-# Decrease this to increase liquid resistence to movement.
-# type: float
-# movement_liquid_fluidity = 1
+# How much you are slowed down when moving inside a liquid.
+# Decrease this to increase liquid resistance to movement.
+# type: float min: 0.001
+# movement_liquid_fluidity = 1.0
-# Maximum liquid resistence. Controls deceleration when entering liquid at
+# Maximum liquid resistance. Controls deceleration when entering liquid at
# high speed.
# type: float
# movement_liquid_fluidity_smooth = 0.5
-# Controls sinking speed in liquid.
+# Controls sinking speed in liquid when idling. Negative values will cause
+# you to rise instead.
# type: float
-# movement_liquid_sink = 10
+# movement_liquid_sink = 10.0
# Acceleration of gravity, in nodes per second per second.
# type: float
# movement_gravity = 9.81
-### Advanced
+#
+# Mapgen
+#
-# Handling for deprecated lua api calls:
-# - legacy: (try to) mimic old behaviour (default for release).
-# - log: mimic and log backtrace of deprecated call (default for debug).
-# - error: abort on usage of deprecated call (suggested for mod developers).
-# type: enum values: legacy, log, error
-# deprecated_lua_api_handling = legacy
+# A chosen map seed for a new map, leave empty for random.
+# Will be overridden when creating a new world in the main menu.
+# type: string
+# fixed_map_seed =
-# Number of extra blocks that can be loaded by /clearobjects at once.
-# This is a trade-off between sqlite transaction overhead and
-# memory consumption (4096=100MB, as a rule of thumb).
-# type: int
-# max_clearobjects_extra_loaded_blocks = 4096
+# Name of map generator to be used when creating a new world.
+# Creating a world in the main menu will override this.
+# Current mapgens in a highly unstable state:
+# - The optional floatlands of v7 (disabled by default).
+# type: enum values: v7, valleys, carpathian, v5, flat, fractal, singlenode, v6
+# mg_name = v7
-# How much the server will wait before unloading unused mapblocks.
-# Higher value is smoother, but will use more RAM.
-# type: int
-# server_unload_unused_data_timeout = 29
+# Water surface level of the world.
+# type: int min: -31000 max: 31000
+# water_level = 1
-# Maximum number of statically stored objects in a block.
-# type: int
-# max_objects_per_block = 64
+# From how far blocks are generated for clients, stated in mapblocks (16 nodes).
+# type: int min: 1 max: 32767
+# max_block_generate_distance = 10
-# See https://www.sqlite.org/pragma.html#pragma_synchronous
-# type: enum values: 0, 1, 2
-# sqlite_synchronous = 2
+# Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).
+# Only mapchunks completely within the mapgen limit are generated.
+# Value is stored per-world.
+# type: int min: 0 max: 31007
+# mapgen_limit = 31007
-# Length of a server tick and the interval at which objects are generally updated over
-# network.
-# type: float
-# dedicated_server_step = 0.09
+# Global map generation attributes.
+# In Mapgen v6 the 'decorations' flag controls all decorations except trees
+# and jungle grass, in all other mapgens this flag controls all decorations.
+# type: flags possible values: caves, dungeons, light, decorations, biomes, ores, nocaves, nodungeons, nolight, nodecorations, nobiomes, noores
+# mg_flags = caves,dungeons,light,decorations,biomes,ores
-# Length of time between active block management cycles
-# type: float
-# active_block_mgmt_interval = 2.0
+## Biome API noise parameters
-# Length of time between Active Block Modifier (ABM) execution cycles
-# type: float
-# abm_interval = 1.0
+# Temperature variation for biomes.
+# type: noise_params_2d
+# mg_biome_np_heat = {
+# offset = 50,
+# scale = 50,
+# spread = (1000, 1000, 1000),
+# seed = 5349,
+# octaves = 3,
+# persistence = 0.5,
+# lacunarity = 2.0,
+# flags = eased
+# }
-# Length of time between NodeTimer execution cycles
-# type: float
-# nodetimer_interval = 0.2
+# Small-scale temperature variation for blending biomes on borders.
+# type: noise_params_2d
+# mg_biome_np_heat_blend = {
+# offset = 0,
+# scale = 1.5,
+# spread = (8, 8, 8),
+# seed = 13,
+# octaves = 2,
+# persistence = 1.0,
+# lacunarity = 2.0,
+# flags = eased
+# }
-# If enabled, invalid world data won't cause the server to shut down.
-# Only enable this if you know what you are doing.
-# type: bool
-# ignore_world_load_errors = false
+# Humidity variation for biomes.
+# type: noise_params_2d
+# mg_biome_np_humidity = {
+# offset = 50,
+# scale = 50,
+# spread = (1000, 1000, 1000),
+# seed = 842,
+# octaves = 3,
+# persistence = 0.5,
+# lacunarity = 2.0,
+# flags = eased
+# }
-# Max liquids processed per step.
-# type: int
-# liquid_loop_max = 100000
+# Small-scale humidity variation for blending biomes on borders.
+# type: noise_params_2d
+# mg_biome_np_humidity_blend = {
+# offset = 0,
+# scale = 1.5,
+# spread = (8, 8, 8),
+# seed = 90003,
+# octaves = 2,
+# persistence = 1.0,
+# lacunarity = 2.0,
+# flags = eased
+# }
-# The time (in seconds) that the liquids queue may grow beyond processing
-# capacity until an attempt is made to decrease its size by dumping old queue
-# items. A value of 0 disables the functionality.
-# type: int
-# liquid_queue_purge_time = 0
+## Mapgen V5
-# Liquid update interval in seconds.
+# Map generation attributes specific to Mapgen v5.
+# type: flags possible values: caverns, nocaverns
+# mgv5_spflags = caverns
+
+# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
-# liquid_update = 1.0
+# mgv5_cave_width = 0.09
-# At this distance the server will aggressively optimize which blocks are sent to
-# clients.
-# Small values potentially improve performance a lot, at the expense of visible
-# rendering glitches (some blocks will not be rendered under water and in caves,
-# as well as sometimes on land).
-# Setting this to a value greater than max_block_send_distance disables this
-# optimization.
-# Stated in mapblocks (16 nodes).
-# type: int min: 2
-# block_send_optimize_distance = 4
+# Y of upper limit of large caves.
+# type: int min: -31000 max: 31000
+# mgv5_large_cave_depth = -256
-# If enabled the server will perform map block occlusion culling based on
-# on the eye position of the player. This can reduce the number of blocks
-# sent to the client 50-80%. The client will not longer receive most invisible
-# so that the utility of noclip mode is reduced.
-# type: bool
-# server_side_occlusion_culling = true
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_min = 0
-# Restricts the access of certain client-side functions on servers.
-# Combine the byteflags below to restrict client-side features, or set to 0
-# for no restrictions:
-# LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)
-# CHAT_MESSAGES: 2 (disable send_chat_message call client-side)
-# READ_ITEMDEFS: 4 (disable get_item_def call client-side)
-# READ_NODEDEFS: 8 (disable get_node_def call client-side)
-# LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to
-# csm_restriction_noderange)
-# READ_PLAYERINFO: 32 (disable get_player_names call client-side)
-# type: int
-# csm_restriction_flags = 62
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv5_small_cave_num_max = 0
-# If the CSM restriction for node range is enabled, get_node calls are limited
-# to this distance from the player to the node.
-# type: int
-# csm_restriction_noderange = 0
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_min = 0
-## Security
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv5_large_cave_num_max = 2
-# Prevent mods from doing insecure things like running shell commands.
-# type: bool
-# secure.enable_security = true
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv5_large_cave_flooded = 0.5
-# Comma-separated list of trusted mods that are allowed to access insecure
-# functions even when mod security is on (via request_insecure_environment()).
-# type: string
-# secure.trusted_mods =
+# Y-level of cavern upper limit.
+# type: int min: -31000 max: 31000
+# mgv5_cavern_limit = -256
-# Comma-separated list of mods that are allowed to access HTTP APIs, which
-# allow them to upload and download data to/from the internet.
-# type: string
-# secure.http_mods =
+# Y-distance over which caverns expand to full size.
+# type: int min: 0 max: 32767
+# mgv5_cavern_taper = 256
-## Advanced
+# Defines full size of caverns, smaller values create larger caverns.
+# type: float
+# mgv5_cavern_threshold = 0.7
-### Profiling
+# Lower Y limit of dungeons.
+# type: int min: -31000 max: 31000
+# mgv5_dungeon_ymin = -31000
-# Load the game profiler to collect game profiling data.
-# Provides a /profiler command to access the compiled profile.
-# Useful for mod developers and server operators.
-# type: bool
-# profiler.load = false
+# Upper Y limit of dungeons.
+# type: int min: -31000 max: 31000
+# mgv5_dungeon_ymax = 31000
-# The default format in which profiles are being saved,
-# when calling `/profiler save [format]` without format.
-# type: enum values: txt, csv, lua, json, json_pretty
-# profiler.default_report_format = txt
+### Noises
-# The file path relative to your worldpath in which profiles will be saved to.
-# type: string
-# profiler.report_path = ""
+# Variation of biome filler depth.
+# type: noise_params_2d
+# mgv5_np_filler_depth = {
+# offset = 0,
+# scale = 1,
+# spread = (150, 150, 150),
+# seed = 261,
+# octaves = 4,
+# persistence = 0.7,
+# lacunarity = 2.0,
+# flags = eased
+# }
-#### Instrumentation
-
-# Instrument the methods of entities on registration.
-# type: bool
-# instrument.entity = true
-
-# Instrument the action function of Active Block Modifiers on registration.
-# type: bool
-# instrument.abm = true
-
-# Instrument the action function of Loading Block Modifiers on registration.
-# type: bool
-# instrument.lbm = true
-
-# Instrument chatcommands on registration.
-# type: bool
-# instrument.chatcommand = true
-
-# Instrument global callback functions on registration.
-# (anything you pass to a minetest.register_*() function)
-# type: bool
-# instrument.global_callback = true
-
-##### Advanced
-
-# Instrument builtin.
-# This is usually only needed by core/builtin contributors
-# type: bool
-# instrument.builtin = false
-
-# Have the profiler instrument itself:
-# * Instrument an empty function.
-# This estimates the overhead, that instrumentation is adding (+1 function call).
-# * Instrument the sampler being used to update the statistics.
-# type: bool
-# instrument.profiler = false
-
-#
-# Client and Server
-#
-
-# Name of the player.
-# When running a server, clients connecting with this name are admins.
-# When starting from the main menu, this is overridden.
-# type: string
-# name =
-
-# Set the language. Leave empty to use the system language.
-# A restart is required after changing this.
-# type: enum values: , be, ca, cs, da, de, dv, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, ms, nb, nl, pl, pt, pt_BR, ro, ru, sl, sr_Cyrl, sv, sw, tr, uk, zh_CN, zh_TW
-# language =
-
-# Level of logging to be written to debug.txt:
-# - <nothing> (no logging)
-# - none (messages with no level)
-# - error
-# - warning
-# - action
-# - info
-# - verbose
-# type: enum values: , none, error, warning, action, info, verbose
-# debug_log_level = action
-
-# If the file size of debug.txt exceeds the number of megabytes specified in
-# this setting when it is opened, the file is moved to debug.txt.1,
-# deleting an older debug.txt.1 if it exists.
-# debug.txt is only moved if this setting is positive.
-# type: int
-# debug_log_size_max = 50
-
-# IPv6 support.
-# type: bool
-# enable_ipv6 = true
-
-## Advanced
-
-# Default timeout for cURL, stated in milliseconds.
-# Only has an effect if compiled with cURL.
-# type: int
-# curl_timeout = 5000
-
-# Limits number of parallel HTTP requests. Affects:
-# - Media fetch if server uses remote_media setting.
-# - Serverlist download and server announcement.
-# - Downloads performed by main menu (e.g. mod manager).
-# Only has an effect if compiled with cURL.
-# type: int
-# curl_parallel_limit = 8
-
-# Maximum time in ms a file download (e.g. a mod download) may take.
-# type: int
-# curl_file_download_timeout = 300000
-
-# Makes DirectX work with LuaJIT. Disable if it causes troubles.
-# type: bool
-# high_precision_fpu = true
-
-# Changes the main menu UI:
-# - Full: Multiple singleplayer worlds, game choice, texture pack chooser, etc.
-# - Simple: One singleplayer world, no game or texture pack choosers. May be
-# necessary for smaller screens.
-# type: enum values: full, simple
-# main_menu_style = full
-
-# Replaces the default main menu with a custom one.
-# type: string
-# main_menu_script =
-
-# Print the engine's profiling data in regular intervals (in seconds).
-# 0 = disable. Useful for developers.
-# type: int
-# profiler_print_interval = 0
-
-#
-# Mapgen
-#
-
-# Name of map generator to be used when creating a new world.
-# Creating a world in the main menu will override this.
-# Current mapgens in a highly unstable state:
-# - The optional floatlands of v7 (disabled by default).
-# type: enum values: v7, valleys, carpathian, v5, flat, fractal, singlenode, v6
-# mg_name = v7
-
-# Water surface level of the world.
-# type: int
-# water_level = 1
-
-# From how far blocks are generated for clients, stated in mapblocks (16 nodes).
-# type: int
-# max_block_generate_distance = 8
-
-# Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).
-# Only mapchunks completely within the mapgen limit are generated.
-# Value is stored per-world.
-# type: int min: 0 max: 31000
-# mapgen_limit = 31000
-
-# Global map generation attributes.
-# In Mapgen v6 the 'decorations' flag controls all decorations except trees
-# and junglegrass, in all other mapgens this flag controls all decorations.
-# type: flags possible values: caves, dungeons, light, decorations, biomes, nocaves, nodungeons, nolight, nodecorations, nobiomes
-# mg_flags = caves,dungeons,light,decorations,biomes
-
-## Biome API temperature and humidity noise parameters
-
-# Temperature variation for biomes.
-# type: noise_params_2d
-# mg_biome_np_heat = {
-# offset = 50,
-# scale = 50,
-# spread = (1000, 1000, 1000),
-# seed = 5349,
-# octaves = 3,
-# persistence = 0.5,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Small-scale temperature variation for blending biomes on borders.
-# type: noise_params_2d
-# mg_biome_np_heat_blend = {
-# offset = 0,
-# scale = 1.5,
-# spread = (8, 8, 8),
-# seed = 13,
-# octaves = 2,
-# persistence = 1.0,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Humidity variation for biomes.
-# type: noise_params_2d
-# mg_biome_np_humidity = {
-# offset = 50,
-# scale = 50,
-# spread = (1000, 1000, 1000),
-# seed = 842,
-# octaves = 3,
-# persistence = 0.5,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Small-scale humidity variation for blending biomes on borders.
-# type: noise_params_2d
-# mg_biome_np_humidity_blend = {
-# offset = 0,
-# scale = 1.5,
-# spread = (8, 8, 8),
-# seed = 90003,
-# octaves = 2,
-# persistence = 1.0,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-## Mapgen V5
-
-# Map generation attributes specific to Mapgen v5.
-# type: flags possible values: caverns, nocaverns
-# mgv5_spflags = caverns
-
-# Controls width of tunnels, a smaller value creates wider tunnels.
-# type: float
-# mgv5_cave_width = 0.09
-
-# Y of upper limit of large caves.
-# type: int
-# mgv5_large_cave_depth = -256
-
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgv5_lava_depth = -256
-
-# Y-level of cavern upper limit.
-# type: int
-# mgv5_cavern_limit = -256
-
-# Y-distance over which caverns expand to full size.
-# type: int
-# mgv5_cavern_taper = 256
-
-# Defines full size of caverns, smaller values create larger caverns.
-# type: float
-# mgv5_cavern_threshold = 0.7
-
-# Lower Y limit of dungeons.
-# type: int
-# mgv5_dungeon_ymin = -31000
-
-# Upper Y limit of dungeons.
-# type: int
-# mgv5_dungeon_ymax = 31000
-
-### Noises
-
-# Variation of biome filler depth.
-# type: noise_params_2d
-# mgv5_np_filler_depth = {
-# offset = 0,
-# scale = 1,
-# spread = (150, 150, 150),
-# seed = 261,
-# octaves = 4,
-# persistence = 0.7,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Variation of terrain vertical scale.
-# When noise is < -0.55 terrain is near-flat.
-# type: noise_params_2d
-# mgv5_np_factor = {
-# offset = 0,
-# scale = 1,
-# spread = (250, 250, 250),
-# seed = 920381,
-# octaves = 3,
-# persistence = 0.45,
-# lacunarity = 2.0,
-# flags = eased
-# }
+# Variation of terrain vertical scale.
+# When noise is < -0.55 terrain is near-flat.
+# type: noise_params_2d
+# mgv5_np_factor = {
+# offset = 0,
+# scale = 1,
+# spread = (250, 250, 250),
+# seed = 920381,
+# octaves = 3,
+# persistence = 0.45,
+# lacunarity = 2.0,
+# flags = eased
+# }
# Y-level of average terrain surface.
# type: noise_params_2d
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise defining terrain.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
## Mapgen V6
# mgv6_freq_beach = 0.15
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgv6_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgv6_dungeon_ymax = 31000
### Noises
## Mapgen V7
# Map generation attributes specific to Mapgen v7.
-# 'ridges' enables the rivers.
+# 'ridges': Rivers.
+# 'floatlands': Floating land masses in the atmosphere.
+# 'caverns': Giant caves deep underground.
# type: flags possible values: mountains, ridges, floatlands, caverns, nomountains, noridges, nofloatlands, nocaverns
# mgv7_spflags = mountains,ridges,nofloatlands,caverns
# Y of mountain density gradient zero level. Used to shift mountains vertically.
-# type: int
+# type: int min: -31000 max: 31000
# mgv7_mount_zero_level = 0
+# Lower Y limit of floatlands.
+# type: int min: -31000 max: 31000
+# mgv7_floatland_ymin = 1024
+
+# Upper Y limit of floatlands.
+# type: int min: -31000 max: 31000
+# mgv7_floatland_ymax = 4096
+
+# Y-distance over which floatlands taper from full density to nothing.
+# Tapering starts at this distance from the Y limit.
+# For a solid floatland layer, this controls the height of hills/mountains.
+# Must be less than or equal to half the distance between the Y limits.
+# type: int min: 0 max: 32767
+# mgv7_floatland_taper = 256
+
+# Exponent of the floatland tapering. Alters the tapering behavior.
+# Value = 1.0 creates a uniform, linear tapering.
+# Values > 1.0 create a smooth tapering suitable for the default separated
+# floatlands.
+# Values < 1.0 (for example 0.25) create a more defined surface level with
+# flatter lowlands, suitable for a solid floatland layer.
+# type: float
+# mgv7_float_taper_exp = 2.0
+
+# Adjusts the density of the floatland layer.
+# Increase value to increase density. Can be positive or negative.
+# Value = 0.0: 50% of volume is floatland.
+# Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test
+# to be sure) creates a solid floatland layer.
+# type: float
+# mgv7_floatland_density = -0.6
+
+# Surface level of optional water placed on a solid floatland layer.
+# Water is disabled by default and will only be placed if this value is set
+# to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the
+# upper tapering).
+# ***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:
+# When enabling water placement the floatlands must be configured and tested
+# to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other
+# required value depending on 'mgv7_np_floatland'), to avoid
+# server-intensive extreme water flow and to avoid vast flooding of the
+# world surface below.
+# type: int min: -31000 max: 31000
+# mgv7_floatland_ywater = -31000
+
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgv7_cave_width = 0.09
# Y of upper limit of large caves.
-# type: int
+# type: int min: -31000 max: 31000
# mgv7_large_cave_depth = -33
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgv7_lava_depth = -256
-
-# Controls the density of mountain-type floatlands.
-# Is a noise offset added to the 'mgv7_np_mountain' noise value.
-# type: float
-# mgv7_float_mount_density = 0.6
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_min = 0
-# Typical maximum height, above and below midpoint, of floatland mountains.
-# type: float
-# mgv7_float_mount_height = 128.0
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgv7_small_cave_num_max = 0
-# Alters how mountain-type floatlands taper above and below midpoint.
-# type: float
-# mgv7_float_mount_exponent = 0.75
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_min = 0
-# Y-level of floatland midpoint and lake surface.
-# type: int
-# mgv7_floatland_level = 1280
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgv7_large_cave_num_max = 2
-# Y-level to which floatland shadows extend.
-# type: int
-# mgv7_shadow_limit = 1024
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgv7_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
-# type: int
+# type: int min: -31000 max: 31000
# mgv7_cavern_limit = -256
# Y-distance over which caverns expand to full size.
-# type: int
+# type: int min: 0 max: 32767
# mgv7_cavern_taper = 256
# Defines full size of caverns, smaller values create larger caverns.
# mgv7_cavern_threshold = 0.7
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgv7_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgv7_dungeon_ymax = 31000
### Noises
# flags = eased
# }
-# Defines areas of floatland smooth terrain.
-# Smooth floatlands occur when noise > 0.
-# type: noise_params_2d
-# mgv7_np_floatland_base = {
-# offset = -0.6,
-# scale = 1.5,
-# spread = (600, 600, 600),
-# seed = 114,
-# octaves = 5,
-# persistence = 0.6,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
-# Variation of hill height and lake depth on floatland smooth terrain.
-# type: noise_params_2d
-# mgv7_np_float_base_height = {
-# offset = 48,
-# scale = 24,
-# spread = (300, 300, 300),
-# seed = 907,
-# octaves = 4,
-# persistence = 0.7,
-# lacunarity = 2.0,
-# flags = eased
-# }
-
# 3D noise defining mountain structure and height.
# Also defines structure of floatland mountain terrain.
# type: noise_params_3d
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise defining structure of river canyon walls.
# octaves = 4,
# persistence = 0.75,
# lacunarity = 2.0,
-# flags =
+# flags =
+# }
+
+# 3D noise defining structure of floatlands.
+# If altered from the default, the noise 'scale' (0.7 by default) may need
+# to be adjusted, as floatland tapering functions best when this noise has
+# a value range of approximately -2.0 to 2.0.
+# type: noise_params_3d
+# mgv7_np_floatland = {
+# offset = 0,
+# scale = 0.7,
+# spread = (384, 96, 384),
+# seed = 1009,
+# octaves = 4,
+# persistence = 0.75,
+# lacunarity = 1.618,
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# First of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise that determines number of dungeons per mapchunk.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
## Mapgen Carpathian
# mgcarpathian_valley_width = 0.25
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgcarpathian_cave_width = 0.09
# Y of upper limit of large caves.
-# type: int
+# type: int min: -31000 max: 31000
# mgcarpathian_large_cave_depth = -33
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgcarpathian_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgcarpathian_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgcarpathian_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgcarpathian_large_cave_flooded = 0.5
# Y-level of cavern upper limit.
-# type: int
+# type: int min: -31000 max: 31000
# mgcarpathian_cavern_limit = -256
# Y-distance over which caverns expand to full size.
-# type: int
+# type: int min: 0 max: 32767
# mgcarpathian_cavern_taper = 256
# Defines full size of caverns, smaller values create larger caverns.
# mgcarpathian_cavern_threshold = 0.7
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgcarpathian_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgcarpathian_dungeon_ymax = 31000
### Noises
# octaves = 5,
# persistence = 0.55,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# First of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise defining giant caverns.
# octaves = 5,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise that determines number of dungeons per mapchunk.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
## Mapgen Flat
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Flat.
# Occasional lakes and hills can be added to the flat world.
-# type: flags possible values: lakes, hills, nolakes, nohills
-# mgflat_spflags = nolakes,nohills
+# type: flags possible values: lakes, hills, caverns, nolakes, nohills, nocaverns
+# mgflat_spflags = nolakes,nohills,nocaverns
# Y of flat ground.
-# type: int
+# type: int min: -31000 max: 31000
# mgflat_ground_level = 8
# Y of upper limit of large caves.
-# type: int
+# type: int min: -31000 max: 31000
# mgflat_large_cave_depth = -33
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgflat_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgflat_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgflat_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgflat_large_cave_flooded = 0.5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgflat_cave_width = 0.09
# type: float
# mgflat_hill_steepness = 64.0
+# Y-level of cavern upper limit.
+# type: int min: -31000 max: 31000
+# mgflat_cavern_limit = -256
+
+# Y-distance over which caverns expand to full size.
+# type: int min: 0 max: 32767
+# mgflat_cavern_taper = 256
+
+# Defines full size of caverns, smaller values create larger caverns.
+# type: float
+# mgflat_cavern_threshold = 0.7
+
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgflat_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgflat_dungeon_ymax = 31000
### Noises
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
+# }
+
+# 3D noise defining giant caverns.
+# type: noise_params_3d
+# mgflat_np_cavern = {
+# offset = 0,
+# scale = 1,
+# spread = (384, 128, 384),
+# seed = 723,
+# octaves = 5,
+# persistence = 0.63,
+# lacunarity = 2.0,
+# flags =
# }
# 3D noise that determines number of dungeons per mapchunk.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
## Mapgen Fractal
-# Map generation attributes specific to Mapgen flat.
+# Map generation attributes specific to Mapgen Fractal.
# 'terrain' enables the generation of non-fractal terrain:
# ocean, islands and underground.
# type: flags possible values: terrain, noterrain
# mgfractal_spflags = terrain
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgfractal_cave_width = 0.09
# Y of upper limit of large caves.
-# type: int
+# type: int min: -31000 max: 31000
# mgfractal_large_cave_depth = -33
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgfractal_lava_depth = -256
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgfractal_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgfractal_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgfractal_large_cave_flooded = 0.5
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgfractal_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgfractal_dungeon_ymax = 31000
# Selects one of 18 fractal types.
-# 1 = 4D "Roundy" mandelbrot set.
-# 2 = 4D "Roundy" julia set.
-# 3 = 4D "Squarry" mandelbrot set.
-# 4 = 4D "Squarry" julia set.
-# 5 = 4D "Mandy Cousin" mandelbrot set.
-# 6 = 4D "Mandy Cousin" julia set.
-# 7 = 4D "Variation" mandelbrot set.
-# 8 = 4D "Variation" julia set.
-# 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
-# 10 = 3D "Mandelbrot/Mandelbar" julia set.
-# 11 = 3D "Christmas Tree" mandelbrot set.
-# 12 = 3D "Christmas Tree" julia set.
-# 13 = 3D "Mandelbulb" mandelbrot set.
-# 14 = 3D "Mandelbulb" julia set.
-# 15 = 3D "Cosine Mandelbulb" mandelbrot set.
-# 16 = 3D "Cosine Mandelbulb" julia set.
-# 17 = 4D "Mandelbulb" mandelbrot set.
-# 18 = 4D "Mandelbulb" julia set.
+# 1 = 4D "Roundy" Mandelbrot set.
+# 2 = 4D "Roundy" Julia set.
+# 3 = 4D "Squarry" Mandelbrot set.
+# 4 = 4D "Squarry" Julia set.
+# 5 = 4D "Mandy Cousin" Mandelbrot set.
+# 6 = 4D "Mandy Cousin" Julia set.
+# 7 = 4D "Variation" Mandelbrot set.
+# 8 = 4D "Variation" Julia set.
+# 9 = 3D "Mandelbrot/Mandelbar" Mandelbrot set.
+# 10 = 3D "Mandelbrot/Mandelbar" Julia set.
+# 11 = 3D "Christmas Tree" Mandelbrot set.
+# 12 = 3D "Christmas Tree" Julia set.
+# 13 = 3D "Mandelbulb" Mandelbrot set.
+# 14 = 3D "Mandelbulb" Julia set.
+# 15 = 3D "Cosine Mandelbulb" Mandelbrot set.
+# 16 = 3D "Cosine Mandelbulb" Julia set.
+# 17 = 4D "Mandelbulb" Mandelbrot set.
+# 18 = 4D "Mandelbulb" Julia set.
# type: int min: 1 max: 18
# mgfractal_fractal = 1
# Increasing this increases the amount of fine detail, but also
# increases processing load.
# At iterations = 20 this mapgen has a similar load to mapgen V7.
-# type: int
+# type: int min: 1 max: 65535
# mgfractal_iterations = 11
# (X,Y,Z) scale of fractal in nodes.
# Can be used to move a desired point to (0, 0) to create a
# suitable spawn point, or to allow 'zooming in' on a desired
# point by increasing 'scale'.
-# The default is tuned for a suitable spawn point for mandelbrot
+# The default is tuned for a suitable spawn point for Mandelbrot
# sets with default parameters, it may need altering in other
# situations.
# Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# 3D noise that determines number of dungeons per mapchunk.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
## Mapgen Valleys
# The vertical distance over which heat drops by 20 if 'altitude_chill' is
# enabled. Also the vertical distance over which humidity drops by 10 if
# 'altitude_dry' is enabled.
-# type: int
+# type: int min: 0 max: 65535
# mgvalleys_altitude_chill = 90
# Depth below which you'll find large caves.
-# type: int
+# type: int min: -31000 max: 31000
# mgvalleys_large_cave_depth = -33
-# Deprecated, define and locate cave liquids using biome definitions instead.
-# Y of upper limit of lava in large caves.
-# type: int
-# mgvalleys_lava_depth = 1
+# Minimum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_min = 0
+
+# Maximum limit of random number of small caves per mapchunk.
+# type: int min: 0 max: 256
+# mgvalleys_small_cave_num_max = 0
+
+# Minimum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_min = 0
+
+# Maximum limit of random number of large caves per mapchunk.
+# type: int min: 0 max: 64
+# mgvalleys_large_cave_num_max = 2
+
+# Proportion of large caves that contain liquid.
+# type: float min: 0 max: 1
+# mgvalleys_large_cave_flooded = 0.5
# Depth below which you'll find giant caverns.
-# type: int
+# type: int min: -31000 max: 31000
# mgvalleys_cavern_limit = -256
# Y-distance over which caverns expand to full size.
-# type: int
+# type: int min: 0 max: 32767
# mgvalleys_cavern_taper = 192
# Defines full size of caverns, smaller values create larger caverns.
# mgvalleys_cavern_threshold = 0.6
# How deep to make rivers.
-# type: int
+# type: int min: 0 max: 65535
# mgvalleys_river_depth = 4
# How wide to make rivers.
-# type: int
+# type: int min: 0 max: 65535
# mgvalleys_river_size = 5
# Controls width of tunnels, a smaller value creates wider tunnels.
+# Value >= 10.0 completely disables generation of tunnels and avoids the
+# intensive noise calculations.
# type: float
# mgvalleys_cave_width = 0.09
# Lower Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgvalleys_dungeon_ymin = -31000
# Upper Y limit of dungeons.
-# type: int
+# type: int min: -31000 max: 31000
# mgvalleys_dungeon_ymax = 63
### Noises
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Second of two 3D noises that together define tunnels.
# octaves = 3,
# persistence = 0.5,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# The depth of dirt or other biome filler node.
# octaves = 6,
# persistence = 0.63,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Defines large-scale river channel structure.
# octaves = 6,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
# Amplifies the valleys.
# octaves = 2,
# persistence = 0.8,
# lacunarity = 2.0,
-# flags =
+# flags =
# }
-## Advanced
+#
+# Advanced
+#
-# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
-# WARNING!: There is no benefit, and there are several dangers, in
-# increasing this value above 5.
-# Reducing this value increases cave and dungeon density.
-# Altering this value is for special usage, leaving it unchanged is
-# recommended.
-# type: int
-# chunksize = 5
+## Developer Options
-# Dump the mapgen debug information.
+# Enable Lua modding support on client.
+# This support is experimental and API can change.
# type: bool
-# enable_mapgen_debug_info = false
-
-# Maximum number of blocks that can be queued for loading.
-# type: int
-# emergequeue_limit_total = 512
+# enable_client_modding = false
-# Maximum number of blocks to be queued that are to be loaded from file.
-# Set to blank for an appropriate amount to be chosen automatically.
-# type: int
-# emergequeue_limit_diskonly = 64
+# Replaces the default main menu with a custom one.
+# type: string
+# main_menu_script =
-# Maximum number of blocks to be queued that are to be generated.
-# Set to blank for an appropriate amount to be chosen automatically.
-# type: int
-# emergequeue_limit_generate = 64
+### Mod Security
-# Number of emerge threads to use.
-# WARNING: Currently there are multiple bugs that may cause crashes when
-# 'num_emerge_threads' is larger than 1. Until this warning is removed it is
-# strongly recommended this value is set to the default '1'.
-# Value 0:
-# - Automatic selection. The number of emerge threads will be
-# - 'number of processors - 2', with a lower limit of 1.
-# Any other value:
-# - Specifies the number of emerge threads, with a lower limit of 1.
-# WARNING: Increasing the number of emerge threads increases engine mapgen
-# speed, but this may harm game performance by interfering with other
-# processes, especially in singleplayer and/or when running Lua code in
-# 'on_generated'. For many users the optimum setting may be '1'.
-# type: int
-# num_emerge_threads = 1
+# Prevent mods from doing insecure things like running shell commands.
+# type: bool
+# secure.enable_security = true
-#
-# Online Content Repository
-#
+# Comma-separated list of trusted mods that are allowed to access insecure
+# functions even when mod security is on (via request_insecure_environment()).
+# type: string
+# secure.trusted_mods =
-# The URL for the content repository
+# Comma-separated list of mods that are allowed to access HTTP APIs, which
+# allow them to upload and download data to/from the internet.
# type: string
-# contentdb_url = https://content.minetest.net
+# secure.http_mods =
-# Comma-separated list of flags to hide in the content repository.
-# "nonfree" can be used to hide packages which do not qualify as 'free software',
-# as defined by the Free Software Foundation.
-# You can also specify content ratings.
-# These flags are independent from Minetest versions,
-# so see a full list at https://content.minetest.net/help/content_flags/
+### Debugging
+
+# Level of logging to be written to debug.txt:
+# - <nothing> (no logging)
+# - none (messages with no level)
+# - error
+# - warning
+# - action
+# - info
+# - verbose
+# - trace
+# type: enum values: , none, error, warning, action, info, verbose, trace
+# debug_log_level = action
+
+# If the file size of debug.txt exceeds the number of megabytes specified in
+# this setting when it is opened, the file is moved to debug.txt.1,
+# deleting an older debug.txt.1 if it exists.
+# debug.txt is only moved if this setting is positive.
+# type: int min: 1
+# debug_log_size_max = 50
+
+# Minimal level of logging to be written to chat.
+# type: enum values: , none, error, warning, action, info, verbose, trace
+# chat_log_level = error
+
+# Handling for deprecated Lua API calls:
+# - none: Do not log deprecated calls
+# - log: mimic and log backtrace of deprecated call (default).
+# - error: abort on usage of deprecated call (suggested for mod developers).
+# type: enum values: none, log, error
+# deprecated_lua_api_handling = log
+
+# Enable random user input (only used for testing).
+# type: bool
+# random_input = false
+
+# Enable mod channels support.
+# type: bool
+# enable_mod_channels = false
+
+### Mod Profiler
+
+# Load the game profiler to collect game profiling data.
+# Provides a /profiler command to access the compiled profile.
+# Useful for mod developers and server operators.
+# type: bool
+# profiler.load = false
+
+# The default format in which profiles are being saved,
+# when calling `/profiler save [format]` without format.
+# type: enum values: txt, csv, lua, json, json_pretty
+# profiler.default_report_format = txt
+
+# The file path relative to your worldpath in which profiles will be saved to.
# type: string
-# contentdb_flag_blacklist = nonfree, desktop_default
+# profiler.report_path = ""
+
+# Instrument the methods of entities on registration.
+# type: bool
+# instrument.entity = true
+
+# Instrument the action function of Active Block Modifiers on registration.
+# type: bool
+# instrument.abm = true
+
+# Instrument the action function of Loading Block Modifiers on registration.
+# type: bool
+# instrument.lbm = true
+
+# Instrument chat commands on registration.
+# type: bool
+# instrument.chatcommand = true
+
+# Instrument global callback functions on registration.
+# (anything you pass to a minetest.register_*() function)
+# type: bool
+# instrument.global_callback = true
+
+# Instrument builtin.
+# This is usually only needed by core/builtin contributors
+# type: bool
+# instrument.builtin = false
+
+# Have the profiler instrument itself:
+# * Instrument an empty function.
+# This estimates the overhead, that instrumentation is adding (+1 function call).
+# * Instrument the sampler being used to update the statistics.
+# type: bool
+# instrument.profiler = false
+
+### Engine profiler
+
+# Print the engine's profiling data in regular intervals (in seconds).
+# 0 = disable. Useful for developers.
+# type: int min: 0
+# profiler_print_interval = 0
+
+## Advanced
+
+# Enable IPv6 support (for both client and server).
+# Required for IPv6 connections to work at all.
+# type: bool
+# enable_ipv6 = true
+
+# If enabled, invalid world data won't cause the server to shut down.
+# Only enable this if you know what you are doing.
+# type: bool
+# ignore_world_load_errors = false
+
+### Graphics
+
+# Path to shader directory. If no path is defined, default location will be used.
+# type: path
+# shader_path =
+
+# The rendering back-end.
+# A restart is required after changing this.
+# Note: On Android, stick with OGLES1 if unsure! App may fail to start otherwise.
+# On other platforms, OpenGL is recommended.
+# Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)
+# type: enum values: opengl, ogles1, ogles2
+# video_driver = opengl
+
+# Distance in nodes at which transparency depth sorting is enabled
+# Use this to limit the performance impact of transparency depth sorting
+# type: int min: 0 max: 128
+# transparency_sorting_distance = 16
+
+# Enable vertex buffer objects.
+# This should greatly improve graphics performance.
+# type: bool
+# enable_vbo = true
+
+# Radius of cloud area stated in number of 64 node cloud squares.
+# Values larger than 26 will start to produce sharp cutoffs at cloud area corners.
+# type: int min: 1 max: 62
+# cloud_radius = 12
+
+# Whether node texture animations should be desynchronized per mapblock.
+# type: bool
+# desynchronize_mapblock_texture_animation = true
+
+# Enables caching of facedir rotated meshes.
+# type: bool
+# enable_mesh_cache = false
+
+# Delay between mesh updates on the client in ms. Increasing this will slow
+# down the rate of mesh updates, thus reducing jitter on slower clients.
+# type: int min: 0 max: 50
+# mesh_generation_interval = 0
+
+# Size of the MapBlock cache of the mesh generator. Increasing this will
+# increase the cache hit %, reducing the data being copied from the main
+# thread, thus reducing jitter.
+# type: int min: 0 max: 1000
+# meshgen_block_cache_size = 20
+
+# True = 256
+# False = 128
+# Usable to make minimap smoother on slower machines.
+# type: bool
+# minimap_double_scan_height = true
+
+# Textures on a node may be aligned either to the node or to the world.
+# The former mode suits better things like machines, furniture, etc., while
+# the latter makes stairs and microblocks fit surroundings better.
+# However, as this possibility is new, thus may not be used by older servers,
+# this option allows enforcing it for certain node types. Note though that
+# that is considered EXPERIMENTAL and may not work properly.
+# type: enum values: disable, enable, force_solid, force_nodebox
+# world_aligned_mode = enable
+
+# World-aligned textures may be scaled to span several nodes. However,
+# the server may not send the scale you want, especially if you use
+# a specially-designed texture pack; with this option, the client tries
+# to determine the scale automatically basing on the texture size.
+# See also texture_min_size.
+# Warning: This option is EXPERIMENTAL!
+# type: enum values: disable, enable, force
+# autoscale_mode = disable
+
+### Font
+
+# type: bool
+# font_bold = false
+
+# type: bool
+# font_italic = false
+
+# Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.
+# type: int min: 0 max: 65535
+# font_shadow = 1
+
+# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
+# type: int min: 0 max: 255
+# font_shadow_alpha = 127
+
+# Font size of the default font where 1 unit = 1 pixel at 96 DPI
+# type: int min: 5 max: 72
+# font_size = 16
+
+# For pixel-style fonts that do not scale well, this ensures that font sizes used
+# with this font will always be divisible by this value, in pixels. For instance,
+# a pixel font 16 pixels tall should have this set to 16, so it will only ever be
+# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
+# type: int min: 1
+# font_size_divisible_by = 1
+
+# Path to the default font. Must be a TrueType font.
+# The fallback font will be used if the font cannot be loaded.
+# type: filepath
+# font_path = fonts/Arimo-Regular.ttf
+
+# type: filepath
+# font_path_bold = fonts/Arimo-Bold.ttf
+
+# type: filepath
+# font_path_italic = fonts/Arimo-Italic.ttf
+
+# type: filepath
+# font_path_bold_italic = fonts/Arimo-BoldItalic.ttf
+
+# Font size of the monospace font where 1 unit = 1 pixel at 96 DPI
+# type: int min: 5 max: 72
+# mono_font_size = 16
+
+# For pixel-style fonts that do not scale well, this ensures that font sizes used
+# with this font will always be divisible by this value, in pixels. For instance,
+# a pixel font 16 pixels tall should have this set to 16, so it will only ever be
+# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
+# type: int min: 1
+# mono_font_size_divisible_by = 1
+
+# Path to the monospace font. Must be a TrueType font.
+# This font is used for e.g. the console and profiler screen.
+# type: filepath
+# mono_font_path = fonts/Cousine-Regular.ttf
+
+# type: filepath
+# mono_font_path_bold = fonts/Cousine-Bold.ttf
+
+# type: filepath
+# mono_font_path_italic = fonts/Cousine-Italic.ttf
+
+# type: filepath
+# mono_font_path_bold_italic = fonts/Cousine-BoldItalic.ttf
+
+# Path of the fallback font. Must be a TrueType font.
+# This font will be used for certain languages or if the default font is unavailable.
+# type: filepath
+# fallback_font_path = fonts/DroidSansFallbackFull.ttf
+
+### Lighting
+
+# Gradient of light curve at minimum light level.
+# Controls the contrast of the lowest light levels.
+# type: float min: 0 max: 3
+# lighting_alpha = 0.0
+
+# Gradient of light curve at maximum light level.
+# Controls the contrast of the highest light levels.
+# type: float min: 0 max: 3
+# lighting_beta = 1.5
+
+# Strength of light curve boost.
+# The 3 'boost' parameters define a range of the light
+# curve that is boosted in brightness.
+# type: float min: 0 max: 0.4
+# lighting_boost = 0.2
+
+# Center of light curve boost range.
+# Where 0.0 is minimum light level, 1.0 is maximum light level.
+# type: float min: 0 max: 1
+# lighting_boost_center = 0.5
+
+# Spread of light curve boost range.
+# Controls the width of the range to be boosted.
+# Standard deviation of the light curve boost Gaussian.
+# type: float min: 0 max: 0.4
+# lighting_boost_spread = 0.2
+
+### Networking
+
+# Prometheus listener address.
+# If Minetest is compiled with ENABLE_PROMETHEUS option enabled,
+# enable metrics listener for Prometheus on that address.
+# Metrics can be fetched on http://127.0.0.1:30000/metrics
+# type: string
+# prometheus_listener_address = 127.0.0.1:30000
+
+# Maximum size of the out chat queue.
+# 0 to disable queueing and -1 to make the queue size unlimited.
+# type: int min: -1 max: 32767
+# max_out_chat_queue_size = 20
+
+# Timeout for client to remove unused map data from memory, in seconds.
+# type: float min: 0
+# client_unload_unused_data_timeout = 600.0
+
+# Maximum number of mapblocks for client to be kept in memory.
+# Set to -1 for unlimited amount.
+# type: int min: -1 max: 2147483647
+# client_mapblock_limit = 7500
+
+# Whether to show the client debug info (has the same effect as hitting F5).
+# type: bool
+# show_debug = false
+
+# Maximum number of blocks that are simultaneously sent per client.
+# The maximum total count is calculated dynamically:
+# max_total = ceil((#clients + max_users) * per_client / 4)
+# type: int min: 1 max: 4294967295
+# max_simultaneous_block_sends_per_client = 40
+
+# To reduce lag, block transfers are slowed down when a player is building something.
+# This determines how long they are slowed down after placing or removing a node.
+# type: float min: 0
+# full_block_send_enable_min_time_from_building = 2.0
+
+# Maximum number of packets sent per send step, if you have a slow connection
+# try reducing it, but don't reduce it to a number below double of targeted
+# client number.
+# type: int min: 1 max: 65535
+# max_packets_per_iteration = 1024
+
+# Compression level to use when sending mapblocks to the client.
+# -1 - use default compression level
+# 0 - least compression, fastest
+# 9 - best compression, slowest
+# type: int min: -1 max: 9
+# map_compression_level_net = -1
+
+### Server
+
+# Format of player chat messages. The following strings are valid placeholders:
+# @name, @message, @timestamp (optional)
+# type: string
+# chat_message_format = <@name> @message
+
+# If the execution of a chat command takes longer than this specified time in
+# seconds, add the time information to the chat command message
+# type: float min: 0
+# chatcommand_msg_time_threshold = 0.1
+
+# A message to be displayed to all clients when the server shuts down.
+# type: string
+# kick_msg_shutdown = Server shutting down.
+
+# A message to be displayed to all clients when the server crashes.
+# type: string
+# kick_msg_crash = This server has experienced an internal error. You will now be disconnected.
+
+# Whether to ask clients to reconnect after a (Lua) crash.
+# Set this to true if your server is set up to restart automatically.
+# type: bool
+# ask_reconnect_on_crash = false
+
+### Server/Env Performance
+
+# Length of a server tick and the interval at which objects are generally updated over
+# network, stated in seconds.
+# type: float min: 0
+# dedicated_server_step = 0.09
+
+# Whether players are shown to clients without any range limit.
+# Deprecated, use the setting player_transfer_distance instead.
+# type: bool
+# unlimited_player_transfer_distance = true
+
+# Defines the maximal player transfer distance in blocks (0 = unlimited).
+# type: int min: 0 max: 65535
+# player_transfer_distance = 0
+
+# From how far clients know about objects, stated in mapblocks (16 nodes).
+#
+# Setting this larger than active_block_range will also cause the server
+# to maintain active objects up to this distance in the direction the
+# player is looking. (This can avoid mobs suddenly disappearing from view)
+# type: int min: 1 max: 65535
+# active_object_send_range_blocks = 8
+
+# The radius of the volume of blocks around every player that is subject to the
+# active block stuff, stated in mapblocks (16 nodes).
+# In active blocks objects are loaded and ABMs run.
+# This is also the minimum range in which active objects (mobs) are maintained.
+# This should be configured together with active_object_send_range_blocks.
+# type: int min: 1 max: 65535
+# active_block_range = 4
+
+# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
+# type: int min: 1 max: 65535
+# max_block_send_distance = 12
+
+# Default maximum number of forceloaded mapblocks.
+# Set this to -1 to disable the limit.
+# type: int min: -1
+# max_forceloaded_blocks = 16
+
+# Interval of sending time of day to clients, stated in seconds.
+# type: float min: 0.001
+# time_send_interval = 5.0
+
+# Interval of saving important changes in the world, stated in seconds.
+# type: float min: 0.001
+# server_map_save_interval = 5.3
+
+# How long the server will wait before unloading unused mapblocks, stated in seconds.
+# Higher value is smoother, but will use more RAM.
+# type: int min: 0 max: 4294967295
+# server_unload_unused_data_timeout = 29
+
+# Maximum number of statically stored objects in a block.
+# type: int min: 1 max: 65535
+# max_objects_per_block = 256
+
+# Length of time between active block management cycles, stated in seconds.
+# type: float min: 0
+# active_block_mgmt_interval = 2.0
+
+# Length of time between Active Block Modifier (ABM) execution cycles, stated in seconds.
+# type: float min: 0
+# abm_interval = 1.0
+
+# The time budget allowed for ABMs to execute on each step
+# (as a fraction of the ABM Interval)
+# type: float min: 0.1 max: 0.9
+# abm_time_budget = 0.2
+
+# Length of time between NodeTimer execution cycles, stated in seconds.
+# type: float min: 0
+# nodetimer_interval = 0.2
+
+# Max liquids processed per step.
+# type: int min: 1 max: 4294967295
+# liquid_loop_max = 100000
+
+# The time (in seconds) that the liquids queue may grow beyond processing
+# capacity until an attempt is made to decrease its size by dumping old queue
+# items. A value of 0 disables the functionality.
+# type: int min: 0 max: 65535
+# liquid_queue_purge_time = 0
+
+# Liquid update interval in seconds.
+# type: float min: 0.001
+# liquid_update = 1.0
+
+# At this distance the server will aggressively optimize which blocks are sent to
+# clients.
+# Small values potentially improve performance a lot, at the expense of visible
+# rendering glitches (some blocks will not be rendered under water and in caves,
+# as well as sometimes on land).
+# Setting this to a value greater than max_block_send_distance disables this
+# optimization.
+# Stated in mapblocks (16 nodes).
+# type: int min: 2 max: 32767
+# block_send_optimize_distance = 4
+
+# If enabled the server will perform map block occlusion culling based on
+# on the eye position of the player. This can reduce the number of blocks
+# sent to the client 50-80%. The client will not longer receive most invisible
+# so that the utility of noclip mode is reduced.
+# type: bool
+# server_side_occlusion_culling = true
+
+### Mapgen
+
+# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
+# WARNING!: There is no benefit, and there are several dangers, in
+# increasing this value above 5.
+# Reducing this value increases cave and dungeon density.
+# Altering this value is for special usage, leaving it unchanged is
+# recommended.
+# type: int min: 1 max: 10
+# chunksize = 5
+
+# Dump the mapgen debug information.
+# type: bool
+# enable_mapgen_debug_info = false
+
+# Maximum number of blocks that can be queued for loading.
+# type: int min: 1 max: 1000000
+# emergequeue_limit_total = 1024
+
+# Maximum number of blocks to be queued that are to be loaded from file.
+# This limit is enforced per player.
+# type: int min: 1 max: 1000000
+# emergequeue_limit_diskonly = 128
+
+# Maximum number of blocks to be queued that are to be generated.
+# This limit is enforced per player.
+# type: int min: 1 max: 1000000
+# emergequeue_limit_generate = 128
+
+# Number of emerge threads to use.
+# Value 0:
+# - Automatic selection. The number of emerge threads will be
+# - 'number of processors - 2', with a lower limit of 1.
+# Any other value:
+# - Specifies the number of emerge threads, with a lower limit of 1.
+# WARNING: Increasing the number of emerge threads increases engine mapgen
+# speed, but this may harm game performance by interfering with other
+# processes, especially in singleplayer and/or when running Lua code in
+# 'on_generated'. For many users the optimum setting may be '1'.
+# type: int min: 0 max: 32767
+# num_emerge_threads = 1
+
+### cURL
+
+# Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds.
+# type: int min: 100 max: 2147483647
+# curl_timeout = 20000
+
+# Limits number of parallel HTTP requests. Affects:
+# - Media fetch if server uses remote_media setting.
+# - Serverlist download and server announcement.
+# - Downloads performed by main menu (e.g. mod manager).
+# Only has an effect if compiled with cURL.
+# type: int min: 1 max: 2147483647
+# curl_parallel_limit = 8
+
+# Maximum time a file download (e.g. a mod download) may take, stated in milliseconds.
+# type: int min: 100 max: 2147483647
+# curl_file_download_timeout = 300000
+
+### Misc
+
+# Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
+# type: int min: 1
+# screen_dpi = 72
+
+# Adjust the detected display density, used for scaling UI elements.
+# type: float min: 0.5 max: 5
+# display_density_factor = 1
+
+# Windows systems only: Start Minetest with the command line window in the background.
+# Contains the same information as the file debug.txt (default name).
+# type: bool
+# enable_console = false
+
+# Number of extra blocks that can be loaded by /clearobjects at once.
+# This is a trade-off between SQLite transaction overhead and
+# memory consumption (4096=100MB, as a rule of thumb).
+# type: int min: 0 max: 4294967295
+# max_clearobjects_extra_loaded_blocks = 4096
+
+# World directory (everything in the world is stored here).
+# Not needed if starting from the main menu.
+# type: path
+# map-dir =
+
+# See https://www.sqlite.org/pragma.html#pragma_synchronous
+# type: enum values: 0, 1, 2
+# sqlite_synchronous = 2
+
+# Compression level to use when saving mapblocks to disk.
+# -1 - use default compression level
+# 0 - least compression, fastest
+# 9 - best compression, slowest
+# type: int min: -1 max: 9
+# map_compression_level_disk = -1
+
+# Enable usage of remote media server (if provided by server).
+# Remote servers offer a significantly faster way to download media (e.g. textures)
+# when connecting to the server.
+# type: bool
+# enable_remote_media_server = true
+
+# File in client/serverlist/ that contains your favorite servers displayed in the
+# Multiplayer Tab.
+# type: string
+# serverlist_file = favoriteservers.json
+
+## Gamepads
+
+# Enable joysticks. Requires a restart to take effect
+# type: bool
+# enable_joysticks = false
+
+# The identifier of the joystick to use
+# type: int min: 0 max: 255
+# joystick_id = 0
+
+# The type of joystick
+# type: enum values: auto, generic, xbox, dragonrise_gamecube
+# joystick_type = auto
+
+# The time in seconds it takes between repeated events
+# when holding down a joystick button combination.
+# type: float min: 0.001
+# repeat_joystick_button_time = 0.17
+
+# The dead zone of the joystick
+# type: int min: 0 max: 65535
+# joystick_deadzone = 2048
+
+# The sensitivity of the joystick axes for moving the
+# in-game view frustum around.
+# type: float min: 0.001
+# joystick_frustum_sensitivity = 170.0
+
+## Temporary Settings
+
+# Path to texture directory. All textures are first searched from here.
+# type: path
+# texture_path =
+
+# Enables minimap.
+# type: bool
+# enable_minimap = true
+
+# Shape of the minimap. Enabled = round, disabled = square.
+# type: bool
+# minimap_shape_round = true
+
+# Address to connect to.
+# Leave this blank to start a local server.
+# Note that the address field in the main menu overrides this setting.
+# type: string
+# address =
+
+# Port to connect to (UDP).
+# Note that the port field in the main menu overrides this setting.
+# type: int min: 1 max: 65535
+# remote_port = 30000
+
+# Default game when creating a new world.
+# This will be overridden when creating a world from the main menu.
+# type: string
+# default_game = minetest
+
+# Enable players getting damage and dying.
+# type: bool
+# enable_damage = false
+
+# Enable creative mode for all players
+# type: bool
+# creative_mode = false
+
+# Whether to allow players to damage and kill each other.
+# type: bool
+# enable_pvp = true
+
+# Player is able to fly without being affected by gravity.
+# This requires the "fly" privilege on the server.
+# type: bool
+# free_move = false
+
+# If enabled, makes move directions relative to the player's pitch when flying or swimming.
+# type: bool
+# pitch_move = false
+
+# Fast movement (via the "Aux1" key).
+# This requires the "fast" privilege on the server.
+# type: bool
+# fast_move = false
+
+# If enabled together with fly mode, player is able to fly through solid nodes.
+# This requires the "noclip" privilege on the server.
+# type: bool
+# noclip = false
+
+# Continuous forward movement, toggled by autoforward key.
+# Press the autoforward key again or the backwards movement to disable.
+# type: bool
+# continuous_forward = false
+
+# Formspec default background opacity (between 0 and 255).
+# type: int min: 0 max: 255
+# formspec_default_bg_opacity = 140
+
+# Formspec default background color (R,G,B).
+# type: string
+# formspec_default_bg_color = (0,0,0)
+
+# Whether to show technical names.
+# Affects mods and texture packs in the Content and Select Mods menus, as well as
+# setting names in All Settings.
+# Controlled by the checkbox in the "All settings" menu.
+# type: bool
+# show_technical_names = false
+
+# Enables the sound system.
+# If disabled, this completely disables all sounds everywhere and the in-game
+# sound controls will be non-functional.
+# Changing this setting requires a restart.
+# type: bool
+# enable_sound = true
+
+# Key for moving the player forward.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_forward = KEY_KEY_W
+
+# Key for moving the player backward.
+# Will also disable autoforward, when active.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_backward = KEY_KEY_S
+
+# Key for moving the player left.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_left = KEY_KEY_A
+
+# Key for moving the player right.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_right = KEY_KEY_D
+
+# Key for jumping.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_jump = KEY_SPACE
+
+# Key for sneaking.
+# Also used for climbing down and descending in water if aux1_descends is disabled.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_sneak = KEY_LSHIFT
+
+# Key for digging.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_dig = KEY_LBUTTON
+
+# Key for placing.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_place = KEY_RBUTTON
+
+# Key for opening the inventory.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_inventory = KEY_KEY_I
+
+# Key for moving fast in fast mode.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_aux1 = KEY_KEY_E
+
+# Key for opening the chat window.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_chat = KEY_KEY_T
+
+# Key for opening the chat window to type commands.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_cmd = /
+
+# Key for opening the chat window to type local commands.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_cmd_local = .
+
+# Key for toggling unlimited view range.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_rangeselect =
+
+# Key for toggling flying.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_freemove = KEY_KEY_K
+
+# Key for toggling pitch move mode.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_pitchmove = KEY_KEY_P
+
+# Key for toggling fast mode.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_fastmove = KEY_KEY_J
+
+# Key for toggling noclip mode.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_noclip = KEY_KEY_H
+
+# Key for selecting the next item in the hotbar.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_hotbar_next = KEY_KEY_N
+
+# Key for selecting the previous item in the hotbar.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_hotbar_previous = KEY_KEY_B
+
+# Key for muting the game.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_mute = KEY_KEY_M
+
+# Key for increasing the volume.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_increase_volume =
+
+# Key for decreasing the volume.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_decrease_volume =
+
+# Key for toggling autoforward.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_autoforward =
+
+# Key for toggling cinematic mode.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_cinematic =
+
+# Key for toggling display of minimap.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_minimap = KEY_KEY_V
+
+# Key for taking screenshots.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_screenshot = KEY_F12
+
+# Key for dropping the currently selected item.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_drop = KEY_KEY_Q
+
+# Key to use view zoom when possible.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_zoom = KEY_KEY_Z
+
+# Key for selecting the first hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot1 = KEY_KEY_1
+
+# Key for selecting the second hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot2 = KEY_KEY_2
+
+# Key for selecting the third hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot3 = KEY_KEY_3
+
+# Key for selecting the fourth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot4 = KEY_KEY_4
+
+# Key for selecting the fifth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot5 = KEY_KEY_5
+
+# Key for selecting the sixth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot6 = KEY_KEY_6
+
+# Key for selecting the seventh hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot7 = KEY_KEY_7
+
+# Key for selecting the eighth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot8 = KEY_KEY_8
+
+# Key for selecting the ninth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot9 = KEY_KEY_9
+
+# Key for selecting the tenth hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot10 = KEY_KEY_0
+
+# Key for selecting the 11th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot11 =
+
+# Key for selecting the 12th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot12 =
+
+# Key for selecting the 13th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot13 =
+
+# Key for selecting the 14th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot14 =
+
+# Key for selecting the 15th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot15 =
+
+# Key for selecting the 16th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot16 =
+
+# Key for selecting the 17th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot17 =
+
+# Key for selecting the 18th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot18 =
+
+# Key for selecting the 19th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot19 =
+
+# Key for selecting the 20th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot20 =
+
+# Key for selecting the 21st hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot21 =
+
+# Key for selecting the 22nd hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot22 =
+
+# Key for selecting the 23rd hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot23 =
+
+# Key for selecting the 24th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot24 =
+
+# Key for selecting the 25th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot25 =
+
+# Key for selecting the 26th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot26 =
+
+# Key for selecting the 27th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot27 =
+
+# Key for selecting the 28th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot28 =
+
+# Key for selecting the 29th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot29 =
+
+# Key for selecting the 30th hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot30 =
+
+# Key for selecting the 31st hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot31 =
+
+# Key for selecting the 32nd hotbar slot.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_slot32 =
+
+# Key for toggling the display of the HUD.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_hud = KEY_F1
+
+# Key for toggling the display of chat.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_chat = KEY_F2
+
+# Key for toggling the display of the large chat console.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_console = KEY_F10
+
+# Key for toggling the display of fog.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_force_fog_off = KEY_F3
+
+# Key for toggling the camera update. Only used for development
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_update_camera =
+
+# Key for toggling the display of debug info.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_debug = KEY_F5
+
+# Key for toggling the display of the profiler. Used for development.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_toggle_profiler = KEY_F6
+
+# Key for switching between first- and third-person camera.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_camera_mode = KEY_KEY_C
+
+# Key for increasing the viewing range.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_increase_viewing_range_min = +
+
+# Key for decreasing the viewing range.
+# See https://github.com/minetest/irrlicht/blob/master/include/Keycodes.h
+# type: key
+# keymap_decrease_viewing_range_min = -