Occlusion: Check for light_propagates and do mapblock bounds checks
[oweals/minetest.git] / minetest.conf.example
index 8128c9b82f31a98fa171c5ab7c3234648ef88694..fc02e70cf9e2e5a222e87c42a55368c4662005eb 100644 (file)
 #    http://wiki.minetest.net/
 
 #
-# Client
+# Controls
 #
 
-## Controls
-
 #    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
 #    type: bool
 # free_move = false
 
-#    Fast movement (via use key).
+#    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
@@ -59,7 +61,8 @@
 #    type: float
 # mouse_sensitivity = 0.2
 
-#    If enabled, "use" key instead of "sneak" key is used for climbing down and descending.
+#    If enabled, "special" key instead of "sneak" key is used for climbing down and
+#    descending.
 #    type: bool
 # aux1_descends = false
 
 #    type: bool
 # doubletap_jump = false
 
-#    If disabled "use" key is used to fly fast if both fly and fast mode are enabled.
+#    If disabled, "special" 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.
+#    The time in seconds it takes between repeated right clicks when holding the right
+#    mouse button.
 #    type: float
 # repeat_rightclick_time = 0.25
 
+#    Automatically jump up single-node obstacles.
+#    type: bool
+# autojump = false
+
+#    Prevent digging and placing from repeating when holding the mouse buttons.
+#    Enable this when you dig or place too often by accident.
+#    type: bool
+# safe_dig_and_place = false
+
 #    Enable random user input (only used for testing).
 #    type: bool
 # random_input = false
 
 #    Continuous forward movement, toggled by autoforward key.
+#    Press the autoforward key again or the backwards movement to disable.
 #    type: bool
 # continuous_forward = false
 
-#    Enable Joysticks
+#    The length in pixels it takes for touch screen interaction to start.
+#    type: int min: 0 max: 100
+# touchscreen_threshold = 20
+
+#    (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.
+#    type: bool
+# virtual_joystick_triggers_aux = false
+
+#    Enable joysticks
 #    type: bool
 # enable_joysticks = false
 
 # keymap_forward = KEY_KEY_W
 
 #    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
 #    type: key
 # keymap_cmd_local = .
 
-#    Key for opening the chat console.
-#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-#    type: key
-# keyman_console = KEY_F10
-
 #    Key for toggling unlimited view range.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
 #    type: key
 #    type: key
 # keymap_freemove = KEY_KEY_K
 
+#    Key for toggling pitch move mode.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_pitchmove = KEY_KEY_P
+
 #    Key for toggling fast mode.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
 #    type: key
 #    type: key
 # keymap_zoom = KEY_KEY_Z
 
-#    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 the 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 the 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 = +
-
-#    Key for decreasing the viewing range.
-#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-#    type: key
-# keymap_decrease_viewing_range_min = -
-
-#    Key for printing debug stacks. Used for development.
-#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-#    type: key
-# keymap_print_debug_stacks = KEY_KEY_P
-
 #    Key for selecting the first hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot1 = KEY_KEY_1
 
 #    Key for selecting the second hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot2 = KEY_KEY_2
 
 #    Key for selecting the third hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot3 = KEY_KEY_3
 
 #    Key for selecting the fourth hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot4 = KEY_KEY_4
 
 #    Key for selecting the fifth hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot5 = KEY_KEY_5
 
 #    Key for selecting the sixth hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot6 = KEY_KEY_6
 
 #    Key for selecting the seventh hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot7 = KEY_KEY_7
 
 #    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 21th hotbar slot.
+#    Key for selecting the 21st hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot21 =
 
-#    Key for selecting the 22th hotbar slot.
+#    Key for selecting the 22nd hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot22 =
 
-#    Key for selecting the 23th hotbar slot.
+#    Key for selecting the 23rd hotbar slot.
 #    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
 # keymap_slot23 =
 
-## Network
+#    Key for selecting the 24th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot24 =
 
-#    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 =
+#    Key for selecting the 25th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot25 =
 
-#    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
+#    Key for selecting the 26th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot26 =
 
-#    Whether to support older servers before protocol version 25.
-#    Enable if you want to connect to 0.4.12 servers and before.
-#    Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.
-#    Disabling this option will protect your password better.
-#    type: bool
-# send_pre_v25_init = false
+#    Key for selecting the 27th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot27 =
 
-#    Save the map received by the client on disk.
-#    type: bool
-# enable_local_map_saving = false
+#    Key for selecting the 28th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot28 =
 
-#    Show entity selection boxes
-#    type: bool
-# show_entity_selectionbox = true
+#    Key for selecting the 29th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot29 =
 
-#    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
+#    Key for selecting the 30th hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot30 =
 
-#    Enable Lua modding support on client.
-#    This support is experimental and API can change.
-#    type: bool
-# enable_client_modding = false
+#    Key for selecting the 31st hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot31 =
 
-#    URL to the server list displayed in the Multiplayer Tab.
-#    type: string
-# serverlist_url = servers.minetest.net
+#    Key for selecting the 32nd hotbar slot.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_slot32 =
 
-#    File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab.
-#    type: string
-# serverlist_file = favoriteservers.txt
+#    Key for toggling the display of the HUD.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_toggle_hud = KEY_F1
 
-#    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
+#    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 = +
+
+#    Key for decreasing the viewing range.
+#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
+#    type: key
+# keymap_decrease_viewing_range_min = -
 
-## Graphics
+#
+# Graphics
+#
 
-### In-Game
+## In-Game
 
-#### Basic
+### Basic
 
 #    Enable VBO
 #    type: bool
 #    type: bool
 # enable_particles = true
 
-#### Filtering
+### Filtering
 
-#    Use mip mapping to scale textures. May slightly increase performance.
+#    Use mip mapping to scale textures. May slightly increase performance,
+#    especially when using a high resolution texture pack.
+#    Gamma correct downscaling is not supported.
 #    type: bool
 # mip_map = 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
+#    light edge to transparent textures. Apply this filter to clean that up
 #    at texture load time.
 #    type: bool
 # texture_clean_transparent = false
 
 #    When using bilinear/trilinear/anisotropic filters, low-resolution textures
 #    can be blurred, so automatically upscale them with nearest-neighbor
-#    interpolation to preserve crisp pixels.  This sets the minimum texture size
+#    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
+#    memory.  Powers of 2 are recommended. Setting this higher than 1 may not
 #    have a visible effect unless bilinear/trilinear/anisotropic filtering is
 #    enabled.
+#    This is also used as the base node texture size for world-aligned
+#    texture autoscaling.
 #    type: int
 # texture_min_size = 64
 
 #    type: enum values: 0, 2, 3, 4
 # undersampling = 0
 
-#### Shaders
+### Shaders
 
-#    Shaders allow advanced visual effects and may increase performance on some video cards.
+#    Shaders allow advanced visual effects and may increase performance on some video
+#    cards.
 #    This only works with the OpenGL video backend.
 #    type: bool
 # enable_shaders = true
 #    type: path
 # shader_path =
 
-##### Tone Mapping
+#### Tone Mapping
 
 #    Enables filmic tone mapping
 #    type: bool
 # tone_mapping = false
 
-##### Bumpmapping
+#### Bumpmapping
 
 #    Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack
 #    or need to be auto-generated.
 #    type: int min: 0 max: 2
 # normalmaps_smooth = 0
 
-##### Parallax Occlusion
+#### Parallax Occlusion
 
 #    Enables parallax occlusion mapping.
 #    Requires shaders to be enabled.
 #    type: float
 # parallax_occlusion_bias = 0.04
 
-##### Waving Nodes
+#### Waving Nodes
 
 #    Set to true enables waving water.
 #    Requires shaders to be enabled.
 #    type: bool
 # enable_waving_plants = false
 
-#### Advanced
+### Advanced
 
 #    Arm inertia, gives a more realistic movement of
 #    the arm when the camera moves.
 #    type: int
 # pause_fps_max = 20
 
+#    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
+
 #    View distance in nodes.
 #    type: int min: 20 max: 4000
 # viewing_range = 100
 
+#    Camera near 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
+
 #    Width component of the initial window size.
 #    type: int
 # screen_w = 1024
 # vsync = false
 
 #    Field of view in degrees.
-#    type: int min: 30 max: 160
+#    type: int min: 45 max: 160
 # fov = 72
 
-#    Field of view while zooming in degrees.
-#    This requires the "zoom" privilege on the server.
-#    type: int min: 7 max: 160
-# zoom_fov = 15
-
 #    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: 1 max: 3
-# display_gamma = 2.2
+#    type: float min: 0.5 max: 3
+# 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
+
+#    Center of light curve mid-boost.
+#    type: float min: 0 max: 1
+# lighting_boost_center = 0.5
+
+#    Spread of light curve mid-boost.
+#    Standard deviation of the mid-boost gaussian.
+#    type: float min: 0 max: 1
+# lighting_boost_spread = 0.2
 
 #    Path to texture directory. All textures are first searched from here.
 #    type: path
 # texture_path =
 
 #    The rendering back-end for Irrlicht.
-#    type: enum values: null, software, burningsvideo, direct3d8, direct3d9, opengl
+#    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.
 #    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.0
+# fall_bobbing_amount = 0.03
 
 #    3D support.
 #    Currently supported:
 #    -    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.
-#    type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, pageflip
+#    Note that the interlaced mode requires shaders to be enabled.
+#    type: enum values: none, anaglyph, interlaced, topbottom, sidebyside, crossview, pageflip
 # 3d_mode = none
 
 #    In-game chat console height, between 0.1 (10%) and 1.0 (100%).
 #    type: float min: 0.1 max: 1
-# console_height = 1.0
+# console_height = 0.6
 
 #    In-game chat console background color (R,G,B).
 #    type: string
 #    type: int min: 0 max: 255
 # console_alpha = 200
 
+#    Formspec full-screen background opacity (between 0 and 255).
+#    type: int min: 0 max: 255
+# formspec_fullscreen_bg_opacity = 140
+
+#    Formspec full-screen background color (R,G,B).
+#    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
+
+#    Formspec default background color (R,G,B).
+#    type: string
+# formspec_default_bg_color = (0,0,0)
+
 #    Selection box border color (R,G,B).
 #    type: string
 # selectionbox_color = (0,0,0)
 
-#    Width of the selectionbox's lines around nodes.
+#    Width of the selection box lines around nodes.
 #    type: int min: 1 max: 5
 # selectionbox_width = 2
 
 #    type: int min: 0 max: 255
 # crosshair_alpha = 255
 
+#    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
 #    type: bool
 # inventory_items_animations = false
 
-#    Android systems only: Tries to create inventory textures from meshes
-#    when no supported render was found.
-#    type: bool
-# inventory_image_hack = false
-
 #    Fraction of the visible distance at which fog starts to be rendered
 #    type: float min: 0 max: 0.99
 # fog_start = 0.4
 #    type: bool
 # opaque_water = false
 
-### Menus
+#    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
+
+#    Show entity selection boxes
+#    type: bool
+# show_entity_selectionbox = true
+
+## Menus
 
 #    Use a cloud animation for the main menu background.
 #    type: bool
 # menu_clouds = true
 
-#    Scale gui by a user specified value.
+#    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
 #    type: int
 # tooltip_show_delay = 400
 
-#    Whether freetype fonts are used, requires freetype support to be compiled in.
+#    Append item name to tooltip.
+#    type: bool
+# tooltip_append_itemname = false
+
+#    Whether FreeType fonts are used, requires FreeType support to be compiled in.
 #    type: bool
 # freetype = true
 
 #    type: int min: 0 max: 100
 # screenshot_quality = 0
 
-### Advanced
+## Advanced
 
 #    Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
 #    type: int
 #    type: bool
 # enable_console = false
 
-## Sound
+#
+# Sound
+#
 
 #    type: bool
 # enable_sound = true
 #    type: float min: 0 max: 1
 # sound_volume = 0.7
 
-## 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
+# mute_sound = false
 
 #
-# Server / Singleplayer
+# Client
 #
 
-#    Name of the server, to be displayed when players join and in the serverlist.
-#    type: string
-# server_name = Minetest server
+## Network
 
-#    Description of server, to be displayed when players join and in the serverlist.
+#    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
-# server_description = mine here
+# address =
 
-#    Domain name of server, to be displayed in the serverlist.
+#    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
 
 #    Homepage of server, to be displayed in the serverlist.
 #    type: string
-# server_url = http://minetest.net
+# server_url = https://minetest.net
 
-#    Automaticaly report to the serverlist.
+#    Automatically report to the serverlist.
 #    type: bool
 # server_announce = false
 
 #    Announce to this serverlist.
-#    If you want to announce your ipv6 address, use  serverlist_url = v6.servers.minetest.net.
 #    type: string
 # serverlist_url = servers.minetest.net
 
 #    type: string
 # remote_media =
 
-#    Enable/disable running an IPv6 server.  An IPv6 server may be restricted
-#    to IPv6 clients, depending on system configuration.
+#    Enable/disable running an IPv6 server.
 #    Ignored if bind_address is set.
 #    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 = 10
-
-#    Maximum number of blocks that are simultaneously sent in total.
-#    type: int
-# max_simultaneous_block_sends_server_total = 40
+# 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: string
 # motd =
 
-#    Maximum number of players that can connect simultaneously.
+#    Maximum number of players that can be connected simultaneously.
 #    type: int
 # max_users = 15
 
 #    type: int
 # item_entity_ttl = 900
 
-#    If enabled, show the server status message on player connection.
-#    type: bool
-# show_statusline_on_connect = true
-
 #    Enable players getting damage and dying.
 #    type: bool
 # enable_damage = false
 #    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 =
 #    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
+
 #    A message to be displayed to all clients when the server shuts down.
 #    type: string
 # kick_msg_shutdown = Server shutting down.
 # ask_reconnect_on_crash = 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 = 3
+# active_object_send_range_blocks = 4
 
-#    How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
+#    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
 
 # time_send_interval = 5
 
 #    Controls length of day/night cycle.
-#    Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged.
+#    Examples:
+#    72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged.
 #    type: int
 # 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 = 5250
+
 #    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
+
+#    Kick players who sent more than X messages per 10 seconds.
+#    type: int
+# chat_message_limit_trigger_kick = 50
+
 ### Physics
 
 #    type: float
 #    type: int
 # max_objects_per_block = 64
 
-#    See http://www.sqlite.org/pragma.html#pragma_synchronous
+#    See https://www.sqlite.org/pragma.html#pragma_synchronous
 #    type: enum values: 0, 1, 2
 # sqlite_synchronous = 2
 
-#    Length of a server tick and the interval at which objects are generally updated over network.
+#    Length of a server tick and the interval at which objects are generally updated over
+#    network.
 #    type: float
-# dedicated_server_step = 0.1
+# dedicated_server_step = 0.09
 
-#    Time in between active block management cycles
+#    Length of time between active block management cycles
 #    type: float
 # active_block_mgmt_interval = 2.0
 
-#    Length of time between ABM execution cycles
+#    Length of time between Active Block Modifier (ABM) execution cycles
 #    type: float
 # abm_interval = 1.0
 
 #    type: float
 # 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)
+#    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
 
 #    type: bool
 # server_side_occlusion_culling = true
 
-#    Restricts the access of certain client-side functions on servers
-#    Combine these byteflags below to restrict more client-side features:
-#    LOOKUP_NODES_LIMIT: 1 (limits get_node call client-side to csm_flavour_noderange_limit)
+#    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
+
+#    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
+
+## Security
+
+#    Prevent mods from doing insecure things like running shell commands.
+#    type: bool
+# secure.enable_security = true
+
+#    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 =
+
+#    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 =
+
+## Advanced
+
+### Profiling
+
+#    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
+# profiler.report_path = ""
+
+#### 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
+
+#    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
-# csm_flavour_limits = 3
+# 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
 
-#   If the CSM flavour for node range is enabled, get_node is limited to
-#   this many nodes from the player.
-# csm_flavour_noderange_limit 8
+#    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
 
-## Mapgen
+#    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.
-#    type: enum values: v5, v6, v7, flat, valleys, fractal, singlenode
+#    Current stable mapgens:
+#    v5, v6, v7 (except floatlands), singlenode.
+#    'stable' means the terrain shape in an existing world will not be changed
+#    in the future. Note that biomes are defined by games and may still change.
+#    type: enum values: v5, v6, v7, valleys, carpathian, fractal, flat, singlenode
 # mg_name = v7
 
 #    Water surface level of the world.
 
 #    From how far blocks are generated for clients, stated in mapblocks (16 nodes).
 #    type: int
-# max_block_generate_distance = 6
+# 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.
 #    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.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
-#    type: flags possible values: caves, dungeons, light, decorations, nocaves, nodungeons, nolight, nodecorations
-# mg_flags = caves,dungeons,light,decorations
+#    type: flags possible values: caves, dungeons, light, decorations, biomes, nocaves, nodungeons, nolight, nodecorations, nobiomes
+# mg_flags = caves,dungeons,light,decorations,biomes
 
 #    Whether dungeons occasionally project from the terrain.
 #    type: bool
 # projecting_dungeons = true
 
-### Advanced
-
-#    Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes).
-#    type: int
-# chunksize = 5
-
-#    Dump the mapgen debug infos.
-#    type: bool
-# enable_mapgen_debug_info = false
-
-#    Maximum number of blocks that can be queued for loading.
-#    type: int
-# emergequeue_limit_total = 256
-
-#    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 = 32
-
-#    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 = 32
-
-#    Number of emerge threads to use. Make this field blank, or increase this number
-#    to use multiple threads. On multiprocessor systems, this will improve mapgen speed greatly
-#    at the cost of slightly buggy caves.
-#    type: int
-# num_emerge_threads = 1
-
-#### Biome API temperature and humidity noise parameters
+## Biome API temperature and humidity noise parameters
 
 #    Temperature variation for biomes.
-#    type: noise_params
-# mg_biome_np_heat = 50, 50, (1000, 1000, 1000), 5349, 3, 0.5, 2.0
+#    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
-# mg_biome_np_heat_blend = 0, 1.5, (8, 8, 8), 13, 2, 1.0, 2.0
+#    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
-# mg_biome_np_humidity = 50, 50, (1000, 1000, 1000), 842, 3, 0.5, 2.0
+#    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
-# mg_biome_np_humidity_blend = 0, 1.5, (8, 8, 8), 90003, 2, 1.0, 2.0
-
-#### Mapgen v5
+#    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.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
 #    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.125
+# mgv5_cave_width = 0.09
 
 #    Y of upper limit of large caves.
 #    type: int
 #    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
-# mgv5_np_filler_depth = 0, 1, (150, 150, 150), 261, 4, 0.7, 2.0
+#    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
-# mgv5_np_factor = 0, 1, (250, 250, 250), 920381, 3, 0.45, 2.0
+#    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
-# mgv5_np_height = 0, 10, (250, 250, 250), 84174, 4, 0.5, 2.0
-
-#    First of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgv5_np_cave1 = 0, 12, (50, 50, 50), 52534, 4, 0.5, 2.0
-
-#    Second of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgv5_np_cave2 = 0, 12, (50, 50, 50), 10325, 4, 0.5, 2.0
+#    type: noise_params_2d
+# mgv5_np_height = {
+#    offset      = 0,
+#    scale       = 10,
+#    spread      = (250, 250, 250),
+#    seed        = 84174,
+#    octaves     = 4,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgv5_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgv5_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
 
 #    3D noise defining giant caverns.
-#    type: noise_params
-# mgv5_np_cavern = 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
-
-#### Mapgen v6
+#    type: noise_params_3d
+# mgv5_np_cavern = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (384, 128, 384),
+#    seed        = 723,
+#    octaves     = 5,
+#    persistence = 0.63,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    3D noise defining terrain.
+#    type: noise_params_3d
+# mgv5_np_ground = {
+#    offset      = 0,
+#    scale       = 40,
+#    spread      = (80, 80, 80),
+#    seed        = 983240,
+#    octaves     = 4,
+#    persistence = 0.55,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+## Mapgen V6
 
 #    Map generation attributes specific to Mapgen v6.
 #    The 'snowbiomes' flag enables the new 5 biome system.
 #    When the new biome system is enabled jungles are automatically enabled and
 #    the 'jungles' flag is ignored.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
 #    type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, flat, trees, nojungles, nobiomeblend, nomudflow, nosnowbiomes, noflat, notrees
 # mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,trees
 
 #    type: float
 # mgv6_freq_beach = 0.15
 
-#    Y-level of lower terrain and lakebeds.
-#    type: noise_params
-# mgv6_np_terrain_base = -4, 20, (250, 250, 250), 82341, 5, 0.6, 2.0
-
-#    Y-level of higher (cliff-top) terrain.
-#    type: noise_params
-# mgv6_np_terrain_higher = 20, 16, (500, 500, 500), 85039, 5, 0.6, 2.0
+#    Lower Y limit of dungeons.
+#    type: int
+# mgv6_dungeon_ymin = -31000
+
+#    Upper Y limit of dungeons.
+#    type: int
+# mgv6_dungeon_ymax = 31000
+
+### Noises
+
+#    Y-level of lower terrain and seabed.
+#    type: noise_params_2d
+# mgv6_np_terrain_base = {
+#    offset      = -4,
+#    scale       = 20,
+#    spread      = (250, 250, 250),
+#    seed        = 82341,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Y-level of higher terrain that creates cliffs.
+#    type: noise_params_2d
+# mgv6_np_terrain_higher = {
+#    offset      = 20,
+#    scale       = 16,
+#    spread      = (500, 500, 500),
+#    seed        = 85039,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Varies steepness of cliffs.
-#    type: noise_params
-# mgv6_np_steepness = 0.85, 0.5, (125, 125, 125), -932, 5, 0.7, 2.0
-
-#    Defines areas of 'terrain_higher' (cliff-top terrain).
-#    type: noise_params
-# mgv6_np_height_select = 0.5, 1, (250, 250, 250), 4213, 5, 0.69, 2.0
+#    type: noise_params_2d
+# mgv6_np_steepness = {
+#    offset      = 0.85,
+#    scale       = 0.5,
+#    spread      = (125, 125, 125),
+#    seed        = -932,
+#    octaves     = 5,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Defines distribution of higher terrain.
+#    type: noise_params_2d
+# mgv6_np_height_select = {
+#    offset      = 0.5,
+#    scale       = 1,
+#    spread      = (250, 250, 250),
+#    seed        = 4213,
+#    octaves     = 5,
+#    persistence = 0.69,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Varies depth of biome surface nodes.
-#    type: noise_params
-# mgv6_np_mud = 4, 2, (200, 200, 200), 91013, 3, 0.55, 2.0
+#    type: noise_params_2d
+# mgv6_np_mud = {
+#    offset      = 4,
+#    scale       = 2,
+#    spread      = (200, 200, 200),
+#    seed        = 91013,
+#    octaves     = 3,
+#    persistence = 0.55,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Defines areas with sandy beaches.
-#    type: noise_params
-# mgv6_np_beach = 0, 1, (250, 250, 250), 59420, 3, 0.50, 2.0
+#    type: noise_params_2d
+# mgv6_np_beach = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (250, 250, 250),
+#    seed        = 59420,
+#    octaves     = 3,
+#    persistence = 0.50,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Temperature variation for biomes.
-#    type: noise_params
-# mgv6_np_biome = 0, 1, (500, 500, 500), 9130, 3, 0.50, 2.0
+#    type: noise_params_2d
+# mgv6_np_biome = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (500, 500, 500),
+#    seed        = 9130,
+#    octaves     = 3,
+#    persistence = 0.50,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Variation of number of caves.
-#    type: noise_params
-# mgv6_np_cave = 6, 6, (250, 250, 250), 34329, 3, 0.50, 2.0
+#    type: noise_params_2d
+# mgv6_np_cave = {
+#    offset      = 6,
+#    scale       = 6,
+#    spread      = (250, 250, 250),
+#    seed        = 34329,
+#    octaves     = 3,
+#    persistence = 0.50,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Humidity variation for biomes.
-#    type: noise_params
-# mgv6_np_humidity = 0.5, 0.5, (500, 500, 500), 72384, 3, 0.50, 2.0
+#    type: noise_params_2d
+# mgv6_np_humidity = {
+#    offset      = 0.5,
+#    scale       = 0.5,
+#    spread      = (500, 500, 500),
+#    seed        = 72384,
+#    octaves     = 3,
+#    persistence = 0.50,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Defines tree areas and tree density.
-#    type: noise_params
-# mgv6_np_trees = 0, 1, (125, 125, 125), 2, 4, 0.66, 2.0
+#    type: noise_params_2d
+# mgv6_np_trees = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (125, 125, 125),
+#    seed        = 2,
+#    octaves     = 4,
+#    persistence = 0.66,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Defines areas where trees have apples.
-#    type: noise_params
-# mgv6_np_apple_trees = 0, 1, (100, 100, 100), 342902, 3, 0.45, 2.0
-
-#### Mapgen v7
+#    type: noise_params_2d
+# mgv6_np_apple_trees = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (100, 100, 100),
+#    seed        = 342902,
+#    octaves     = 3,
+#    persistence = 0.45,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+## Mapgen V7
 
 #    Map generation attributes specific to Mapgen v7.
 #    'ridges' enables the rivers.
-#    'biomerepeat' causes surface biomes to repeat in the floatlands.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
-#    type: flags possible values: mountains, ridges, floatlands, caverns, biomerepeat, nomountains, noridges, nofloatlands, nocaverns, nobiomerepeat
-# mgv7_spflags = mountains,ridges,nofloatlands,caverns,biomerepeat
+#    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
 # mgv7_lava_depth = -256
 
-#    Controls the density of floatland mountain terrain.
-#    Is an offset added to the 'np_mountain' noise value.
+#    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
 
-#    Typical maximum height, above and below midpoint, of floatland mountain terrain.
+#    Typical maximum height, above and below midpoint, of floatland mountains.
 #    type: float
 # mgv7_float_mount_height = 128.0
 
+#    Alters how mountain-type floatlands taper above and below midpoint.
+#    type: float
+# mgv7_float_mount_exponent = 0.75
+
 #    Y-level of floatland midpoint and lake surface.
 #    type: int
 # mgv7_floatland_level = 1280
 #    type: float
 # mgv7_cavern_threshold = 0.7
 
-#    Y-level of higher (cliff-top) terrain.
-#    type: noise_params
-# mgv7_np_terrain_base = 4, 70, (600, 600, 600), 82341, 5, 0.6, 2.0
-
-#    Y-level of lower terrain and lakebeds.
-#    type: noise_params
-# mgv7_np_terrain_alt = 4, 25, (600, 600, 600), 5934, 5, 0.6, 2.0
+#    Lower Y limit of dungeons.
+#    type: int
+# mgv7_dungeon_ymin = -31000
+
+#    Upper Y limit of dungeons.
+#    type: int
+# mgv7_dungeon_ymax = 31000
+
+### Noises
+
+#    Y-level of higher terrain that creates cliffs.
+#    type: noise_params_2d
+# mgv7_np_terrain_base = {
+#    offset      = 4,
+#    scale       = 70,
+#    spread      = (600, 600, 600),
+#    seed        = 82341,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Y-level of lower terrain and seabed.
+#    type: noise_params_2d
+# mgv7_np_terrain_alt = {
+#    offset      = 4,
+#    scale       = 25,
+#    spread      = (600, 600, 600),
+#    seed        = 5934,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Varies roughness of terrain.
 #    Defines the 'persistence' value for terrain_base and terrain_alt noises.
-#    type: noise_params
-# mgv7_np_terrain_persist = 0.6, 0.1, (2000, 2000, 2000), 539, 3, 0.6, 2.0
-
-#    Defines areas of higher (cliff-top) terrain and affects steepness of cliffs.
-#    type: noise_params
-# mgv7_np_height_select = -8, 16, (500, 500, 500), 4213, 6, 0.7, 2.0
+#    type: noise_params_2d
+# mgv7_np_terrain_persist = {
+#    offset      = 0.6,
+#    scale       = 0.1,
+#    spread      = (2000, 2000, 2000),
+#    seed        = 539,
+#    octaves     = 3,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Defines distribution of higher terrain and steepness of cliffs.
+#    type: noise_params_2d
+# mgv7_np_height_select = {
+#    offset      = -8,
+#    scale       = 16,
+#    spread      = (500, 500, 500),
+#    seed        = 4213,
+#    octaves     = 6,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Variation of biome filler depth.
-#    type: noise_params
-# mgv7_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
+#    type: noise_params_2d
+# mgv7_np_filler_depth = {
+#    offset      = 0,
+#    scale       = 1.2,
+#    spread      = (150, 150, 150),
+#    seed        = 261,
+#    octaves     = 3,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Variation of maximum mountain height (in nodes).
-#    type: noise_params
-# mgv7_np_mount_height = 256, 112, (1000, 1000, 1000), 72449, 3, 0.6, 2.0
+#    type: noise_params_2d
+# mgv7_np_mount_height = {
+#    offset      = 256,
+#    scale       = 112,
+#    spread      = (1000, 1000, 1000),
+#    seed        = 72449,
+#    octaves     = 3,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Defines large-scale river channel structure.
-#    type: noise_params
-# mgv7_np_ridge_uwater = 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0
+#    type: noise_params_2d
+# mgv7_np_ridge_uwater = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (1000, 1000, 1000),
+#    seed        = 85039,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Defines areas of floatland smooth terrain.
 #    Smooth floatlands occur when noise > 0.
-#    type: noise_params
-# mgv7_np_floatland_base = -0.6, 1.5, (600, 600, 600), 114, 5, 0.6, 2.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
-# mgv7_np_float_base_height = 48, 24, (300, 300, 300), 907, 4, 0.7, 2.0
+#    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
-# mgv7_np_mountain = -0.6, 1, (250, 350, 250), 5333, 5, 0.63, 2.0
+#    type: noise_params_3d
+# mgv7_np_mountain = {
+#    offset      = -0.6,
+#    scale       = 1,
+#    spread      = (250, 350, 250),
+#    seed        = 5333,
+#    octaves     = 5,
+#    persistence = 0.63,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
 
 #    3D noise defining structure of river canyon walls.
-#    type: noise_params
-# mgv7_np_ridge = 0, 1, (100, 100, 100), 6467, 4, 0.75, 2.0
+#    type: noise_params_3d
+# mgv7_np_ridge = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (100, 100, 100),
+#    seed        = 6467,
+#    octaves     = 4,
+#    persistence = 0.75,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
 
 #    3D noise defining giant caverns.
-#    type: noise_params
-# mgv7_np_cavern = 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
-
-#    First of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgv7_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
-
-#    Second of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgv7_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
-
-#### Mapgen carpathian
+#    type: noise_params_3d
+# mgv7_np_cavern = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (384, 128, 384),
+#    seed        = 723,
+#    octaves     = 5,
+#    persistence = 0.63,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgv7_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgv7_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+## Mapgen Carpathian
 
 #    Map generation attributes specific to Mapgen Carpathian.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
 #    type: flags possible values: caverns, nocaverns
 # mgcarpathian_spflags = caverns
 
+#    Defines the base ground level.
+#    type: float
+# mgcarpathian_base_level = 12.0
+
 #    Controls width of tunnels, a smaller value creates wider tunnels.
 #    type: float
 # mgcarpathian_cave_width = 0.09
 #    type: float
 # mgcarpathian_cavern_threshold = 0.7
 
-#    2D noise that defines the base ground level.
-#    type: noise_params
-# mgcarpathian_np_base = 12, 1, (2557, 2557, 2557), 6538, 4, 0.8, 0.5
-
-#    Variation of biome filler depth.
-#    type: noise_params
-# mgcarpathian_np_filler_depth = 0, 1, (128, 128, 128), 261, 3, 0.7, 2.0
-
-#    First of 4 3D noises that together define hill/mountain range height.
-#    type: noise_params
-# mgcarpathian_np_height1 = 0, 5, (251, 251, 251), 9613, 5, 0.5, 2.0
-
-#    Second of 4 3D noises that together define hill/mountain range height.
-#    type: noise_params
-# mgcarpathian_np_height2 = 0, 5, (383, 383, 383), 1949, 5, 0.5, 2.0
-
-#    Third of 4 3D noises that together definehill/mountain range height.
-#    type: noise_params
-# mgcarpathian_np_height3 = 0, 5, (509, 509, 509), 3211, 5, 0.5, 2.0
-
-#    Fourth of 4 3D noises that together define hill/mountain range height.
-#    type: noise_params
-# mgcarpathian_np_height4 = 0, 5, (631, 631, 631), 1583, 5, 0.5, 2.0
+#    Lower Y limit of dungeons.
+#    type: int
+# mgcarpathian_dungeon_ymin = -31000
 
-#    2D noise that controls the size/occurance of rolling hills.
-#    type: noise_params
-# mgcarpathian_np_hills_terrain = 1, 1, (1301, 1301, 1301), 1692, 3, 0.5, 2.0
+#    Upper Y limit of dungeons.
+#    type: int
+# mgcarpathian_dungeon_ymax = 31000
 
-#    2D noise that controls the size/occurance of ridged mountain ranges.
-#    type: noise_params
-# mgcarpathian_np_ridge_terrain = 1, 1, (1889, 1889, 1889), 3568, 3, 0.5, 2.0
+### Noises
 
-#    2D noise that controls the size/occurance of step mountain ranges.
-#    type: noise_params
-# mgcarpathian_np_step_terrain = 1, 1, (1889, 1889, 1889), 4157, 3, 0.5, 2.0
+#    Variation of biome filler depth.
+#    type: noise_params_2d
+# mgcarpathian_np_filler_depth = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (128, 128, 128),
+#    seed        = 261,
+#    octaves     = 3,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    First of 4 2D noises that together define hill/mountain range height.
+#    type: noise_params_2d
+# mgcarpathian_np_height1 = {
+#    offset      = 0,
+#    scale       = 5,
+#    spread      = (251, 251, 251),
+#    seed        = 9613,
+#    octaves     = 5,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Second of 4 2D noises that together define hill/mountain range height.
+#    type: noise_params_2d
+# mgcarpathian_np_height2 = {
+#    offset      = 0,
+#    scale       = 5,
+#    spread      = (383, 383, 383),
+#    seed        = 1949,
+#    octaves     = 5,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Third of 4 2D noises that together define hill/mountain range height.
+#    type: noise_params_2d
+# mgcarpathian_np_height3 = {
+#    offset      = 0,
+#    scale       = 5,
+#    spread      = (509, 509, 509),
+#    seed        = 3211,
+#    octaves     = 5,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Fourth of 4 2D noises that together define hill/mountain range height.
+#    type: noise_params_2d
+# mgcarpathian_np_height4 = {
+#    offset      = 0,
+#    scale       = 5,
+#    spread      = (631, 631, 631),
+#    seed        = 1583,
+#    octaves     = 5,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    2D noise that controls the size/occurrence of rolling hills.
+#    type: noise_params_2d
+# mgcarpathian_np_hills_terrain = {
+#    offset      = 1,
+#    scale       = 1,
+#    spread      = (1301, 1301, 1301),
+#    seed        = 1692,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    2D noise that controls the size/occurrence of ridged mountain ranges.
+#    type: noise_params_2d
+# mgcarpathian_np_ridge_terrain = {
+#    offset      = 1,
+#    scale       = 1,
+#    spread      = (1889, 1889, 1889),
+#    seed        = 3568,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    2D noise that controls the size/occurrence of step mountain ranges.
+#    type: noise_params_2d
+# mgcarpathian_np_step_terrain = {
+#    offset      = 1,
+#    scale       = 1,
+#    spread      = (1889, 1889, 1889),
+#    seed        = 4157,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    2D noise that controls the shape/size of rolling hills.
-#    type: noise_params
-# mgcarpathian_np_hills = 0, 3, (257, 257, 257), 6604, 6, 0.5, 2.0
+#    type: noise_params_2d
+# mgcarpathian_np_hills = {
+#    offset      = 0,
+#    scale       = 3,
+#    spread      = (257, 257, 257),
+#    seed        = 6604,
+#    octaves     = 6,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    2D noise that controls the shape/size of ridged mountains.
-#    type: noise_params
-# mgcarpathian_np_ridge_mnt = 0, 12, (743, 743, 743), 5520, 6, 0.7, 2.0
+#    type: noise_params_2d
+# mgcarpathian_np_ridge_mnt = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (743, 743, 743),
+#    seed        = 5520,
+#    octaves     = 6,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    2D noise that controls the shape/size of step mountains.
-#    type: noise_params
-# mgcarpathian_np_step_mnt = 0, 8, (509, 509, 509), 2590, 6, 0.6, 2.0
+#    type: noise_params_2d
+# mgcarpathian_np_step_mnt = {
+#    offset      = 0,
+#    scale       = 8,
+#    spread      = (509, 509, 509),
+#    seed        = 2590,
+#    octaves     = 6,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    3D noise for mountain overhangs, cliffs, etc. Usually small variations.
-#    type: noise_params
-# mgcarpathian_np_mnt_var = 0, 1, (499, 499, 499), 2490, 5, 0.6, 2.0
-
-#    First of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgcarpathian_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
-
-#    Second of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgcarpathian_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
+#    type: noise_params_3d
+# mgcarpathian_np_mnt_var = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (499, 499, 499),
+#    seed        = 2490,
+#    octaves     = 5,
+#    persistence = 0.55,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgcarpathian_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgcarpathian_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
 
 #    3D noise defining giant caverns.
-#    type: noise_params
-# mgcarpathian_np_cavern = 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
-
-#### Mapgen flat
+#    type: noise_params_3d
+# mgcarpathian_np_cavern = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (384, 128, 384),
+#    seed        = 723,
+#    octaves     = 5,
+#    persistence = 0.63,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+## Mapgen Flat
 
 #    Map generation attributes specific to Mapgen flat.
 #    Occasional lakes and hills can be added to the flat world.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
 #    type: flags possible values: lakes, hills, nolakes, nohills
 # mgflat_spflags = nolakes,nohills
 
 #    type: float
 # mgflat_hill_steepness = 64.0
 
-#    Defines location and terrain of optional hills and lakes.
-#    type: noise_params
-# mgflat_np_terrain = 0, 1, (600, 600, 600), 7244, 5, 0.6, 2.0
+#    Lower Y limit of dungeons.
+#    type: int
+# mgflat_dungeon_ymin = -31000
 
-#    Variation of biome filler depth.
-#    type: noise_params
-# mgflat_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
+#    Upper Y limit of dungeons.
+#    type: int
+# mgflat_dungeon_ymax = 31000
 
-#    First of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgflat_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
+### Noises
 
-#    Second of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgflat_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
+#    Defines location and terrain of optional hills and lakes.
+#    type: noise_params_2d
+# mgflat_np_terrain = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (600, 600, 600),
+#    seed        = 7244,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
-#### Mapgen fractal
+#    Variation of biome filler depth.
+#    type: noise_params_2d
+# mgflat_np_filler_depth = {
+#    offset      = 0,
+#    scale       = 1.2,
+#    spread      = (150, 150, 150),
+#    seed        = 261,
+#    octaves     = 3,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgflat_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgflat_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+## Mapgen Fractal
 
 #    Controls width of tunnels, a smaller value creates wider tunnels.
 #    type: float
 #    type: int
 # mgfractal_lava_depth = -256
 
-#    Choice of 18 fractals from 9 formulas.
+#    Lower Y limit of dungeons.
+#    type: int
+# mgfractal_dungeon_ymin = -31000
+
+#    Upper Y limit of dungeons.
+#    type: int
+# 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.
 # mgfractal_fractal = 1
 
 #    Iterations of the recursive function.
-#    Controls the amount of fine detail.
+#    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
 # mgfractal_iterations = 11
 
-#    Approximate (X,Y,Z) scale of fractal in nodes.
+#    (X,Y,Z) scale of fractal in nodes.
+#    Actual fractal size will be 2 to 3 times larger.
+#    These numbers can be made very large, the fractal does
+#    not have to fit inside the world.
+#    Increase these to 'zoom' into the detail of the fractal.
+#    Default is for a vertically-squashed shape suitable for
+#    an island, set all 3 numbers equal for the raw shape.
 #    type: v3f
 # mgfractal_scale = (4096.0, 1024.0, 4096.0)
 
-#    (X,Y,Z) offset of fractal from world centre in units of 'scale'.
-#    Used to move a suitable spawn area of low land close to (0, 0).
-#    The default is suitable for mandelbrot sets, it needs to be edited for julia sets.
+#    (X,Y,Z) offset of fractal from world center in units of 'scale'.
+#    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
+#    sets with default parameters, it may need altering in other
+#    situations.
 #    Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
 #    type: v3f
 # mgfractal_offset = (1.79, 0.0, 0.0)
 
-#    W co-ordinate of the generated 3D slice of a 4D fractal.
+#    W coordinate of the generated 3D slice of a 4D fractal.
 #    Determines which 3D slice of the 4D shape is generated.
+#    Alters the shape of the fractal.
 #    Has no effect on 3D fractals.
 #    Range roughly -2 to 2.
 #    type: float
 # mgfractal_slice_w = 0.0
 
-#    Julia set only: X component of hypercomplex constant determining julia shape.
+#    Julia set only.
+#    X component of hypercomplex constant.
+#    Alters the shape of the fractal.
 #    Range roughly -2 to 2.
 #    type: float
 # mgfractal_julia_x = 0.33
 
-#    Julia set only: Y component of hypercomplex constant determining julia shape.
+#    Julia set only.
+#    Y component of hypercomplex constant.
+#    Alters the shape of the fractal.
 #    Range roughly -2 to 2.
 #    type: float
 # mgfractal_julia_y = 0.33
 
-#    Julia set only: Z component of hypercomplex constant determining julia shape.
+#    Julia set only.
+#    Z component of hypercomplex constant.
+#    Alters the shape of the fractal.
 #    Range roughly -2 to 2.
 #    type: float
 # mgfractal_julia_z = 0.33
 
-#    Julia set only: W component of hypercomplex constant determining julia shape.
+#    Julia set only.
+#    W component of hypercomplex constant.
+#    Alters the shape of the fractal.
 #    Has no effect on 3D fractals.
 #    Range roughly -2 to 2.
 #    type: float
 # mgfractal_julia_w = 0.33
 
+### Noises
+
 #    Y-level of seabed.
-#    type: noise_params
-# mgfractal_np_seabed = -14, 9, (600, 600, 600), 41900, 5, 0.6, 2.0
+#    type: noise_params_2d
+# mgfractal_np_seabed = {
+#    offset      = -14,
+#    scale       = 9,
+#    spread      = (600, 600, 600),
+#    seed        = 41900,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 #    Variation of biome filler depth.
-#    type: noise_params
-# mgfractal_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
-
-#    First of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgfractal_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
-
-#    Second of 2 3D noises that together define tunnels.
-#    type: noise_params
-# mgfractal_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
-
-#### Mapgen Valleys
-
-##### General
+#    type: noise_params_2d
+# mgfractal_np_filler_depth = {
+#    offset      = 0,
+#    scale       = 1.2,
+#    spread      = (150, 150, 150),
+#    seed        = 261,
+#    octaves     = 3,
+#    persistence = 0.7,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgfractal_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgfractal_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+## Mapgen Valleys
 
 #    Map generation attributes specific to Mapgen Valleys.
-#    'altitude_chill' makes higher elevations colder, which may cause biome issues.
-#    'humid_rivers' modifies the humidity around rivers and in areas where water would tend to pool,
-#    it may interfere with delicately adjusted biomes.
-#    Flags that are not specified in the flag string are not modified from the default.
-#    Flags starting with 'no' are used to explicitly disable them.
-#    type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers
-# mg_valleys_spflags = altitude_chill,humid_rivers
-
-#    The altitude at which temperature drops by 20C
+#    'altitude_chill': Reduces heat with altitude.
+#    'humid_rivers': Increases humidity around rivers.
+#    'vary_river_depth': If enabled, low humidity and high heat causes rivers
+#    to become shallower and occasionally dry.
+#    'altitude_dry': Reduces humidity with altitude.
+#    type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers, vary_river_depth, novary_river_depth, altitude_dry, noaltitude_dry
+# mgvalleys_spflags = altitude_chill,humid_rivers,vary_river_depth,altitude_dry
+
+#    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
 # mgvalleys_altitude_chill = 90
 
 #    type: int
 # mgvalleys_large_cave_depth = -33
 
-#    Creates unpredictable lava features in caves.
-#    These can make mining difficult. Zero disables them. (0-10)
+#    Y of upper limit of lava in large caves.
 #    type: int
-# mgvalleys_lava_features = 0
+# mgvalleys_lava_depth = 1
 
-#    Depth below which you'll find massive caves.
+#    Depth below which you'll find giant caverns.
 #    type: int
-# mgvalleys_massive_cave_depth = -256
+# mgvalleys_cavern_limit = -256
 
-#    How deep to make rivers
+#    Y-distance over which caverns expand to full size.
 #    type: int
-# mgvalleys_river_depth = 4
+# mgvalleys_cavern_taper = 192
 
-#    How wide to make rivers
+#    Defines full size of caverns, smaller values create larger caverns.
+#    type: float
+# mgvalleys_cavern_threshold = 0.6
+
+#    How deep to make rivers.
 #    type: int
-# mgvalleys_river_size = 5
+# mgvalleys_river_depth = 4
 
-#    Creates unpredictable water features in caves.
-#    These can make mining difficult. Zero disables them. (0-10)
+#    How wide to make rivers.
 #    type: int
-# mgvalleys_water_features = 0
+# mgvalleys_river_size = 5
 
 #    Controls width of tunnels, a smaller value creates wider tunnels.
 #    type: float
 # mgvalleys_cave_width = 0.09
 
-##### Noises
-
-#    Caves and tunnels form at the intersection of the two noises
-#    type: noise_params
-# mgvalleys_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
-
-#    Caves and tunnels form at the intersection of the two noises
-#    type: noise_params
-# mgvalleys_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
-
-#    The depth of dirt or other filler
-#    type: noise_params
-# mgvalleys_np_filler_depth = 0, 1.2, (256, 256, 256), 1605, 3, 0.5, 2.0
-
-#    Massive caves form here.
-#    type: noise_params
-# mgvalleys_np_massive_caves = 0, 1, (768, 256, 768), 59033, 6, 0.63, 2.0
-
-#    River noise -- rivers occur close to zero
-#    type: noise_params
-# mgvalleys_np_rivers = 0, 1, (256, 256, 256), -6050, 5, 0.6, 2.0
-
-#    Base terrain height
-#    type: noise_params
-# mgvalleys_np_terrain_height = -10, 50, (1024, 1024, 1024), 5202, 6, 0.4, 2.0
-
-#    Raises terrain to make valleys around the rivers
-#    type: noise_params
-# mgvalleys_np_valley_depth = 5, 4, (512, 512, 512), -1914, 1, 1.0, 2.0
-
-#    Slope and fill work together to modify the heights
-#    type: noise_params
-# mgvalleys_np_inter_valley_fill = 0, 1, (256, 512, 256), 1993, 6, 0.8, 2.0
-
-#    Amplifies the valleys
-#    type: noise_params
-# mgvalleys_np_valley_profile = 0.6, 0.5, (512, 512, 512), 777, 1, 1.0, 2.0
+#    Lower Y limit of dungeons.
+#    type: int
+# mgvalleys_dungeon_ymin = -31000
+
+#    Upper Y limit of dungeons.
+#    type: int
+# mgvalleys_dungeon_ymax = 63
+
+### Noises
+
+#    First of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgvalleys_np_cave1 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (61, 61, 61),
+#    seed        = 52534,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Second of two 3D noises that together define tunnels.
+#    type: noise_params_3d
+# mgvalleys_np_cave2 = {
+#    offset      = 0,
+#    scale       = 12,
+#    spread      = (67, 67, 67),
+#    seed        = 10325,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    The depth of dirt or other biome filler node.
+#    type: noise_params_2d
+# mgvalleys_np_filler_depth = {
+#    offset      = 0,
+#    scale       = 1.2,
+#    spread      = (256, 256, 256),
+#    seed        = 1605,
+#    octaves     = 3,
+#    persistence = 0.5,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
-#    Slope and fill work together to modify the heights
-#    type: noise_params
-# mgvalleys_np_inter_valley_slope = 0.5, 0.5, (128, 128, 128), 746, 1, 1.0, 2.0
-
-## Security
-
-#    Prevent mods from doing insecure things like running shell commands.
-#    type: bool
-# secure.enable_security = true
-
-#    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 =
+#    3D noise defining giant caverns.
+#    type: noise_params_3d
+# mgvalleys_np_cavern = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (768, 256, 768),
+#    seed        = 59033,
+#    octaves     = 6,
+#    persistence = 0.63,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
 
-#    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 =
+#    Defines large-scale river channel structure.
+#    type: noise_params_2d
+# mgvalleys_np_rivers = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (256, 256, 256),
+#    seed        = -6050,
+#    octaves     = 5,
+#    persistence = 0.6,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Base terrain height.
+#    type: noise_params_2d
+# mgvalleys_np_terrain_height = {
+#    offset      = -10,
+#    scale       = 50,
+#    spread      = (1024, 1024, 1024),
+#    seed        = 5202,
+#    octaves     = 6,
+#    persistence = 0.4,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Raises terrain to make valleys around the rivers.
+#    type: noise_params_2d
+# mgvalleys_np_valley_depth = {
+#    offset      = 5,
+#    scale       = 4,
+#    spread      = (512, 512, 512),
+#    seed        = -1914,
+#    octaves     = 1,
+#    persistence = 1.0,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Slope and fill work together to modify the heights.
+#    type: noise_params_3d
+# mgvalleys_np_inter_valley_fill = {
+#    offset      = 0,
+#    scale       = 1,
+#    spread      = (256, 512, 256),
+#    seed        = 1993,
+#    octaves     = 6,
+#    persistence = 0.8,
+#    lacunarity  = 2.0,
+#    flags       =
+# }
+
+#    Amplifies the valleys.
+#    type: noise_params_2d
+# mgvalleys_np_valley_profile = {
+#    offset      = 0.6,
+#    scale       = 0.5,
+#    spread      = (512, 512, 512),
+#    seed        = 777,
+#    octaves     = 1,
+#    persistence = 1.0,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
+
+#    Slope and fill work together to modify the heights.
+#    type: noise_params_2d
+# mgvalleys_np_inter_valley_slope = {
+#    offset      = 0.5,
+#    scale       = 0.5,
+#    spread      = (128, 128, 128),
+#    seed        = 746,
+#    octaves     = 1,
+#    persistence = 1.0,
+#    lacunarity  = 2.0,
+#    flags       = eased
+# }
 
 ## Advanced
 
-### Profiling
-
-#    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
-# profiler.report_path = ""
-
-#### 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, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, nb, nl, pl, pt, pt_BR, ro, ru, sr_Cyrl, 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
+#    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
 
-#    IPv6 support.
+#    Dump the mapgen debug information.
 #    type: bool
-# enable_ipv6 = true
-
-## Advanced
+# enable_mapgen_debug_info = false
 
-#    Default timeout for cURL, stated in milliseconds.
-#    Only has an effect if compiled with cURL.
+#    Maximum number of blocks that can be queued for loading.
 #    type: int
-# curl_timeout = 5000
+# emergequeue_limit_total = 512
 
-#    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.
+#    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
-# curl_parallel_limit = 8
+# emergequeue_limit_diskonly = 64
 
-#    Maximum time in ms a file download (e.g. a mod download) may take.
+#    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
-# curl_file_download_timeout = 300000
-
-#    Makes DirectX work with LuaJIT. Disable if it causes troubles.
-#    type: bool
-# high_precision_fpu = true
-
-#    Replaces the default main menu with a custom one.
-#    type: string
-# main_menu_script =
-
+# emergequeue_limit_generate = 64
+
+#    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
-# main_menu_game_mgr = 0
+# num_emerge_threads = 1
 
-#    type: int
-# main_menu_mod_mgr = 1
+#
+# Online Content Repository
+#
 
-#    Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers.
-#    type: int
-# profiler_print_interval = 0
+#    The URL for the content repository
+#    type: string
+# contentdb_url = https://content.minetest.net
+
+#    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