# This file contains all settings displayed in the settings menu.
#
# General format:
#    name (Readable name) type type_args
#
# Note that the parts are seperated by exactly one space
#
# `type` can be:
#    - int
#    - string
#    - bool
#    - float
#    - enum
#    - path
#    - key (will be ignored in GUI, since a special key change dialog exists)
#    - flags
#    - noise_params
#
# `type_args` can be:
#   * int:
#            - default
#            - default min max
#   * string:
#            - default (if default is not specified then "" is set)
#   * bool:
#            - default
#   * float:
#            - default
#            - default min max
#   * enum:
#            - default value1,value2,...
#   * path:
#            - default (if default is not specified then "" is set)
#   * key:
#            - default
#   * flags:
#            Flags are always separated by comma without spaces.
#            - default possible_flags
#   * noise_params:
#            TODO: these are currently treated like strings
#
# Comments directly above a setting are bound to this setting.
# All other comments are ignored.
#
# Comments and (Readable name) are handled by gettext.
# Comments should be complete sentences that describe the setting and possibly
#  give the user additional useful insight.
# Sections are marked by a single line in the format: [Section Name]
# Sub-section are marked by adding * in front of the section name: [*Sub-section]
# Sub-sub-sections have two * etc.
# There shouldn't be too much settings per category; settings that shouldn't be
#  modified by the "average user" should be in (sub-)categories called "Advanced".

[Client]

[*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.
enable_build_where_you_stand (Build inside player) bool false

#    Player is able to fly without being affected by gravity.
#    This requires the "fly" privilege on the server.
free_move (Flying) bool false

#    Fast movement (via use key).
#    This requires the "fast" privilege on the server.
fast_move (Fast movement) bool false

#    If enabled together with fly mode, player is able to fly through solid nodes.
#    This requires the "noclip" privilege on the server.
noclip (Noclip) bool false

#    Smooths camera when moving and looking around.
#    Useful for recording videos.
cinematic (Cinematic mode) bool false

#    Smooths rotation of camera. 0 to disable.
camera_smoothing (Camera smoothing) float 0.0 0.0 0.99

#    Smooths rotation of camera in cinematic mode. 0 to disable.
cinematic_camera_smoothing (Camera smoothing in cinematic mode) float 0.7 0.0 0.99

#    Invert vertical mouse movement.
invert_mouse (Invert mouse) bool false

#    Mouse sensitivity multiplier.
mouse_sensitivity (Mouse sensitivity) float 0.2

#    If enabled, "use" key instead of "sneak" key is used for climbing down and descending.
aux1_descends (Key use for climbing/descending) bool false

#    Double-tapping the jump key toggles fly mode.
doubletap_jump (Double tap jump for fly) bool false

#    If disabled "use" key is used to fly fast if both fly and fast mode are enabled.
always_fly_fast (Always fly and fast) bool true

#    The time in seconds it takes between repeated right clicks when holding the right mouse button.
repeat_rightclick_time (Rightclick repetition interval) float 0.25

#    Enable random user input (only used for testing).
random_input (Random input) bool false

#    Continuous forward movement (only used for testing).
continuous_forward (Continuous forward) bool false

#    Key for moving the player forward.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_forward (Forward key) key KEY_KEY_W

#    Key for moving the player backward.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_backward (Backward key) key KEY_KEY_S

#    Key for moving the player left.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_left (Left key) key KEY_KEY_A

#    Key for moving the player right.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_right (Right key) key KEY_KEY_D

#    Key for jumping.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_jump (Jump key) key KEY_SPACE

#    Key for sneaking.
#    Also used for climbing down and descending in water if aux1_descends is disabled.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_sneak (Sneak key) key KEY_LSHIFT

#    Key for opening the inventory.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_inventory (Inventory key) key KEY_KEY_I

#    Key for moving fast in fast mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_special1 (Use key) key KEY_KEY_E

#    Key for opening the chat window.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_chat (Chat key) key KEY_KEY_T

#    Key for opening the chat window to type commands.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_cmd (Command key) key /

#    Key for opening the chat console.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keyman_console (Console key) key KEY_F10

#    Key for toggling unlimited view range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_rangeselect (Range select key) key KEY_KEY_R

#    Key for toggling flying.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_freemove (Fly key) key KEY_KEY_K

#    Key for toggling fast mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_fastmove (Fast key) key KEY_KEY_J

#    Key for toggling noclip mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_noclip (Noclip key) key KEY_KEY_H

#    Key for toggling cinematic mode.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_cinematic (Cinematic mode key) key KEY_F8

#    Key for toggling display of minimap.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_minimap (Minimap key) key KEY_F9

#    Key for taking screenshots.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_screenshot (Screenshot) key KEY_F12

#    Key for dropping the currently selected item.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_drop (Drop item key) key KEY_KEY_Q

#    Key for toggling the display of the HUD.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_hud (HUD toggle key) key KEY_F1

#    Key for toggling the display of the chat.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_chat (Chat toggle key) key KEY_F2

#    Key for toggling the display of the fog.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_force_fog_off (Fog toggle key) key KEY_F3

#    Key for toggling the camrea update. Only used for development
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_update_camera (Camera update toggle key) key

#    Key for toggling the display of debug info.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_debug (Debug info toggle key) key KEY_F5

#    Key for toggling the display of the profiler. Used for development.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_toggle_profiler (Profiler toggle key) key KEY_F6

#    Key for switching between first- and third-person camera.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_camera_mode (Toggle camera mode key) key KEY_F7

#    Key for increasing the viewing range. Modifies the minimum viewing range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_increase_viewing_range_min (View range increase key) key +

#    Key for decreasing the viewing range. Modifies the minimum viewing range.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_decrease_viewing_range_min (View range decrease key) key -

#    Key for printing debug stacks. Used for development.
#    See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_print_debug_stacks (Print stacks) key KEY_KEY_P

[*Network]

#    Address to connect to.
#    Leave this blank to start a local server.
#    Note that the address field in the main menu overrides this setting.
address (Server address) string

#    Port to connect to (UDP).
#    Note that the port field in the main menu overrides this setting.
remote_port (Remote port) int 30000 1 65535

#    Save the map received by the client on disk.
enable_local_map_saving (Saving map received from server) bool 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.
enable_remote_media_server (Connect to external media server) bool true

#    URL to the server list displayed in the Multiplayer Tab.
serverlist_url (Serverlist URL) string servers.minetest.net

#    File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab.
serverlist_file (Serverlist file) string favoriteservers.txt

[*Graphics]

[**In-Game]

[***Basic]

#    Whether to fog out the end of the visible area.
enable_fog (Fog) bool true

#    Enable a bit lower water surface, so it doesn't "fill" the node completely.
#    Note that this is not quite optimized and that smooth lighting on the
#    water surface doesn't work with this.
new_style_water (New style water) bool false

#    Leaves style:
#    -   Fancy:  all faces visible
#    -   Simple: only outer faces, if defined special_tiles are used
#    -   Opaque: disable transparency
leaves_style (Leaves style) enum fancy fancy,simple,opaque

#    Connects glass if supported by node.
connected_glass (Connect glass) bool false

#    Enable smooth lighting with simple ambient occlusion.
#    Disable for speed or for different looks.
smooth_lighting (Smooth lighting) bool true

#    Clouds are a client side effect.
enable_clouds (Clouds) bool true

#    Use 3D cloud look instead of flat.
enable_3d_clouds (3D clouds) bool true

[***Filtering]

#    Use mip mapping to scale textures. May slightly increase performance.
mip_map (Mipmapping) bool false

#    Use anisotropic filtering when viewing at textures from an angle.
anisotropic_filter (Anisotropic filtering) bool false

#    Use bilinear filtering when scaling textures.
bilinear_filter (Bilinear filtering) bool false

#    Use trilinear filtering when scaling textures.
trilinear_filter (Trilinear filtering) bool false

#    Filtered textures can blend RGB values with fully-transparent neighbors,
#    which PNG optimizers usually discard, sometimes resulting in a dark or
#    light edge to transparent textures.  Apply this filter to clean that up
#    at texture load time.
texture_clean_transparent (Clean transparent textures) bool 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
#    for the upscaled textures; higher values look sharper, but require more
#    memory.  Powers of 2 are recommended.  Setting this higher than 1 may not
#    have a visible effect unless bilinear/trilinear/anisotropic filtering is
#    enabled.
texture_min_size (Minimum texture size for filters) int 64

#    Pre-generate all item visuals used in the inventory.
#    This increases startup time, but runs smoother in-game.
#    The generated textures can easily exceed your VRAM, causing artifacts in the inventory.
preload_item_visuals (Preload inventory textures) bool false

#    Experimental option, might cause visible spaces between blocks
#    when set to higher number than 0.
fsaa (FSAA) enum 0 0,1,2,4,8,16

[***Shaders]

#    Shaders allow advanced visul effects and may increase performance on some video cards.
#    Thy only work with the OpenGL video backend.
enable_shaders (Shaders) bool true

[****Bumpmapping]

#    Enables bumpmapping for textures. Normalmaps need to be supplied by the texture pack
#    or need to be auto-generated.
#    Requires shaders to be enabled.
enable_bumpmapping (Bumpmapping) bool false

#    Enables on the fly normalmap generation (Emboss effect).
#    Requires bumpmapping to be enabled.
generate_normalmaps (Generate normalmaps) bool false

#    Strength of generated normalmaps.
normalmaps_strength (Normalmaps strength) float 0.6

#    Defines sampling step of texture.
#    A higher value results in smoother normal maps.
normalmaps_smooth (Normalmaps sampling) int 0 0 2

[****Parallax Occlusion]

#    Enables parallax occlusion mapping.
#    Requires shaders to be enabled.
enable_parallax_occlusion (Parallax occlusion) bool false

#    0 = parallax occlusion with slope information (faster).
#    1 = relief mapping (slower, more accurate).
parallax_occlusion_mode (Parallax occlusion mode) int 1 0 1

#    Strength of parallax.
3d_parallax_strength (Parallax occlusion strength) float 0.025

#    Number of parallax occlusion iterations.
parallax_occlusion_iterations (Parallax occlusion iterations) int 4

#    Overall scale of parallax occlusion effect.
parallax_occlusion_scale (Parallax occlusion Scale) float 0.08

#    Overall bias of parallax occlusion effect, usually scale/2.
parallax_occlusion_bias (Parallax occlusion bias) float 0.04

[****Waving Nodes]

#    Set to true enables waving water.
#    Requires shaders to be enabled.
enable_waving_water (Waving water) bool false

water_wave_height (Waving water height) float 1.0

water_wave_length (Waving water length) float 20.0

water_wave_speed (Waving water speed) float 5.0

#    Set to true enables waving leaves.
#    Requires shaders to be enabled.
enable_waving_leaves (Waving leaves) bool false

#    Set to true enables waving plants.
#    Requires shaders to be enabled.
enable_waving_plants (Waving plants) bool false

[***Advanced]

#    Minimum wanted FPS.
#    The amount of rendered stuff is dynamically set according to this. and viewing range min and max.
wanted_fps (Wanted FPS) int 30

#    If FPS would go higher than this, limit it by sleeping
#    to not waste CPU power for no benefit.
fps_max (Maximum FPS) int 60

#    Maximum FPS when game is paused.
pause_fps_max (FPS in pause menu) int 20

#    The allowed adjustment range for the automatic rendering range adjustment.
#    Set this to be equal to viewing range minimum to disable the auto-adjustment algorithm.
viewing_range_nodes_max (Viewing range maximum) int 160

#    The allowed adjustment range for the automatic rendering range adjustment.
#    Set this to be equal to viewing range maximum to disable the auto-adjustment algorithm.
viewing_range_nodes_min (Viewing range minimum) int 35

#    Width component of the initial window size.
screenW (Screen width) int 800

#    Height component of the initial window size.
screenH (Screen height) int 600

#    Fullscreen mode.
fullscreen (Full screen) bool false

#    Bits per pixel (aka color depth) in fullscreen mode.
fullscreen_bpp (Full screen BPP) int 24

#    Vertical screen synchronization.
vsync (V-Sync) bool false

#    Field of view in degrees.
fov (Field of view) int 72 30 160

#    Adjust the gamma encoding for the light tables. Lower numbers are brighter.
#    This setting is for the client only and is ignored by the server.
display_gamma (Gamma) float 1.8 1.0 3.0

#    Path to texture directory. All textures are first searched from here.
texture_path (Texture path) path

#    The rendering back-end for Irrlicht.
video_driver (Video driver) enum opengl null,software,burningsvideo,direct3d8,direct3d9,opengl

#    Height on which clouds are appearing.
cloud_height (Cloud height) int 120

#    Radius of cloud area stated in number of 64 node cloud squares.
#    Values larger than 26 will start to produce sharp cutoffs at cloud area corners.
cloud_radius (Cloud radius) int 12

#    Multiplier for view bobbing.
#    For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
view_bobbing_amount (View bobbing) float 1.0

#    Multiplier for fall bobbing.
#    For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
fall_bobbing_amount (Fall bobbing) float 0.0

#    3D support.
#    Currently supported:
#    -    none: no 3d output.
#    -    anaglyph: cyan/magenta color 3d.
#    -    interlaced: odd/even line based polarisation screen support.
#    -    topbottom: split screen top/bottom.
#    -    sidebyside: split screen side by side.
3d_mode (3D mode) enum none none,anaglyph,interlaced,topbottom,sidebyside

#    In-game chat console background color (R,G,B).
console_color (Console color) string (0,0,0)

#    In-game chat console background alpha (opaqueness, between 0 and 255).
console_alpha (Console alpha) int 200 0 255

#    Selection box border color (R,G,B).
selectionbox_color (Selection box color) string (0,0,0)

#    Width of the selectionbox's lines around nodes.
selectionbox_width (Selection box width) int 2 1 5

#    Crosshair color (R,G,B).
crosshair_color (Crosshair color) string (255,255,255)

#    Crosshair alpha (opaqueness, between 0 and 255).
crosshair_alpha (Crosshair alpha) int 255 0 255

#    Whether node texture animations should be desynchronized per mapblock.
desynchronize_mapblock_texture_animation (Desynchronize block animation) bool true

#    Maximum proportion of current window to be used for hotbar.
#    Useful if there's something to be displayed right or left of hotbar.
hud_hotbar_max_width (Maximum hotbar width) float 1.0

#    Enable selection highlighting for nodes (disables selectionbox).
enable_node_highlighting (Node highlighting) bool false

#    Enables caching of facedir rotated meshes.
enable_mesh_cache (Mesh cache) bool false

#    Enables minimap.
enable_minimap (Minimap) bool true

#    Shape of the minimap. Enabled = round, disabled = square.
minimap_shape_round (Round minimap) bool true

#    True = 256
#    False = 128
#    Useable to make minimap smoother on slower machines.
minimap_double_scan_height (Minimap scan height) bool true

#    Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
directional_colored_fog (Colored fog) bool true

#    The strength (darkness) of node ambient-occlusion shading.
#    Lower is darker, Higher is lighter. The valid range of values for this
#    setting is 0.25 to 4.0 inclusive. If the value is out of range it will be
#    set to the nearest valid value.
ambient_occlusion_gamma (Ambient occlusion gamma) float 2.2 0.25 4.0

[**Menus]

#    Use a cloud animation for the main menu background.
menu_clouds (Clouds in menu) bool true

#    Scale gui by a user specified value.
#    Use a nearest-neighbor-anti-alias filter to scale the GUI.
#    This will smooth over some of the rough edges, and blend
#    pixels when scaling down, at the cost of blurring some
#    edge pixels when images are scaled by non-integer sizes.
gui_scaling (GUI scaling) float 1.0

#    When gui_scaling_filter is true, all GUI images need to be
#    filtered in software, but some images are generated directly
#    to hardware (e.g. render-to-texture for nodes in inventory).
gui_scaling_filter (GUI scaling filter) bool false

#    When gui_scaling_filter_txr2img is true, copy those images
#    from hardware to software for scaling.  When false, fall back
#    to the old scaling method, for video drivers that don't
#    propery support downloading textures back from hardware.
gui_scaling_filter_txr2img (GUI scaling filter txr2img) bool true

#    Delay showing tooltips, stated in milliseconds.
tooltip_show_delay (Tooltip delay) int 400

#    Whether freetype fonts are used, requires freetype support to be compiled in.
freetype (Freetype fonts) bool true

#    Path to TrueTypeFont or bitmap.
font_path (Font path) path fonts/liberationsans.ttf

font_size (Font size) int 15

#    Font shadow offset, if 0 then shadow will not be drawn.
font_shadow (Font shadow) int 1

#    Font shadow alpha (opaqueness, between 0 and 255).
font_shadow_alpha (Font shadow alpha) int 128 0 255

mono_font_path (Monospace font path) path fonts/liberationmono.ttf

mono_font_size (Monospace font size) int 15

#    This font will be used for certain languages.
fallback_font_path (Fallback font) path fonts/DroidSansFallbackFull.ttf
fallback_font_size (Fallback font size) int 15
fallback_font_shadow (Fallback font shadow) int 1
fallback_font_shadow_alpha (Fallback font shadow alpha) int 128 0 255

#    Path to save screenshots at.
screenshot_path (Screenshot folder) path

[**Advanced]

#    Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
screen_dpi (DPI) int 72

[*Sound]

enable_sound (Sound) bool true

sound_volume (Volume) float 0.7 0.0 1.0

[*Advanced]

#    Timeout for client to remove unused map data from memory.
client_unload_unused_data_timeout (Mapblock unload timeout) int 600

#    Maximum number of mapblocks for client to be kept in memory.
#    Set to -1 for unlimited amount.
client_mapblock_limit (Mapblock limit) int 5000

#    Whether to show the client debug info (has the same effect as hitting F5).
show_debug (Show debug info) bool false

[Server / Singleplayer]

#    Name of the server, to be displayed when players join and in the serverlist.
server_name (Server name) string Minetest server

#    Description of server, to be displayed when players join and in the serverlist.
server_description (Server description) string mine here

#    Domain name of server, to be displayed in the serverlist.
server_address (Server address) string game.minetest.net

#    Homepage of server, to be displayed in the serverlist.
server_url (Server URL) string http://minetest.net

#    Automaticaly report to the serverlist.
server_announce (Announce server) bool false

#    Announce to this serverlist.
#    If you want to announce your ipv6 address, use  serverlist_url = v6.servers.minetest.net.
serverlist_url (Serverlist URL) string servers.minetest.net

[*Network]

#    Network port to listen (UDP).
#    This value will be overridden when starting from the main menu.
port (Server port) int 30000

#    The network interface that the server listens on.
bind_address (Bind address) string

#    Enable to disallow old clients from connecting.
#    Older clients are compatible in the sense that they will not crash when connecting
#    to new servers, but they may not support all new features that you are expecting.
strict_protocol_version_checking (Strict protocol checking) bool false

#    Specifies URL from which client fetches media instead of using UDP.
#    $filename should be accessible from $remote_media$filename via cURL
#    (obviously, remote_media should end with a slash).
#    Files that are not present will be fetched the usual way.
remote_media (Remote media) string

#    Enable/disable running an IPv6 server.  An IPv6 server may be restricted
#    to IPv6 clients, depending on system configuration.
#    Ignored if bind_address is set.
ipv6_server (IPv6 server) bool false

[**Advanced]

#    How many blocks are flying in the wire simultaneously per client.
max_simultaneous_block_sends_per_client (Maximum simultaneously blocks send per client) int 10

#    How many blocks are flying in the wire simultaneously for the whole server.
max_simultaneous_block_sends_server_total (Maximum simultaneously bocks send total) int 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.
full_block_send_enable_min_time_from_building () float 2.0

#    Maximum number of packets sent per send step, if you have a slow connection
#    try reducing it, but don't reduce it to a number below double of targeted
#    client number.
max_packets_per_iteration (Max. packets per iteration) int 1024

[*Game]

#    Default game when creating a new world.
#    This will be overridden when creating a world from the main menu.
default_game (Default game) string minetest

#    Message of the day displayed to players connecting.
motd (Message of the day) string

#    Maximum number of players that can connect simultaneously.
max_users (Maximum users) int 15

#    World directory (everything in the world is stored here).
#    Not needed if starting from the main menu.
map-dir (Map directory) path

#    Time in seconds for item entity (dropped items) to live.
#    Setting it to -1 disables the feature.
item_entity_ttl (Item entity TTL) int 900

#    Enable players getting damage and dying.
enable_damage (Damage) bool false

#    A chosen map seed for a new map, leave empty for random.
#    Will be overridden when creating a new world in the main menu.
fixed_map_seed (Fixed map seed) string

#    New users need to input this password.
default_password (Default password) string

#    The privileges that new users automatically get.
#    See /privs in game for a full list on your server and mod configuration.
default_privs (Default privileges) string interact, shout

#    Whether players are shown to clients without any range limit.
#    Deprecated, use the setting player_transfer_distance instead.
unlimited_player_transfer_distance (Unlimited player transfer distance) bool true

#    Defines the maximal player transfer distance in blocks (0 = unlimited).
player_transfer_distance (Player transfer distance) int 0

#    Whether to allow players to damage and kill each other.
enable_pvp (Player versus Player) bool true

#    If this is set, players will always (re)spawn at the given position.
static_spawnpoint (Static spawnpoint) string

#    Maximum distance above water level for player spawn.
#    Larger values result in spawn points closer to (x = 0, z = 0).
#    Smaller values may result in a suitable spawn point not being found,
#    resulting in a spawn at (0, 0, 0) possibly buried underground.
vertical_spawn_range (Vertical spawn range) int 16

#    If enabled, new players cannot join with an empty password.
disallow_empty_password (Disallow empty passwords) bool false

#    If enabled, disable cheat prevention in multiplayer.
disable_anticheat (Disable anticheat) bool false

#    If enabled, actions are recorded for rollback.
#    This option is only read when server starts.
enable_rollback_recording (Rollback recording) bool false

#    A message to be displayed to all clients when the server shuts down.
kick_msg_shutdown (Shutdown message) string Server shutting down.

#    A message to be displayed to all clients when the server crashes.
kick_msg_crash (Crash message) string This server has experienced an internal error. You will now be disconnected.

#    Whether to ask clients to reconnect after a (Lua) crash.
#    Set this to true if your server is set up to restart automatically.
ask_reconnect_on_crash (Ask to reconnect after crash) bool false

#    From how far clients know about objects, stated in mapblocks (16 nodes).
active_object_send_range_blocks (Active object send range) int 3

#    How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
#    In active blocks objects are loaded and ABMs run.
active_block_range (Active block range) int 2

#    From how far blocks are sent to clients, stated in mapblocks (16 nodes).
max_block_send_distance (Max block send distance) int 10

#    Maximum number of forceloaded mapblocks.
max_forceloaded_blocks (Maximum forceloaded blocks) int 16

#    Interval of sending time of day to clients.
time_send_interval (Time send interval) int 5

#    Controls length of day/night cycle.
#    Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged.
time_speed (Time speed) int 72

#    Interval of saving important changes in the world, stated in seconds.
server_map_save_interval (Map save interval) float 5.3

[**Physics]

movement_acceleration_default (Default acceleration) float 3
movement_acceleration_air (Acceleration in air) float 2
movement_acceleration_fast (Fast mode acceleration) float 10
movement_speed_walk (Walking speed) float 4
movement_speed_crouch (Crouch speed) float 1.35
movement_speed_fast (Fast mode speed) float 20
movement_speed_climb (Climbing speed) float 2
movement_speed_jump (Jumping speed) float 6.5
movement_speed_descend (Descending speed) float 6
movement_liquid_fluidity (Liquid fluidity) float 1
movement_liquid_fluidity_smooth (Liquid fluidity smoothing) float 0.5
movement_liquid_sink (Liquid sink) float 10
movement_gravity (Gravity) float 9.81

[**Advanced]

#    Handling for deprecated lua api calls:
#    -    legacy: (try to) mimic old behaviour (default for release).
#    -    log: mimic and log backtrace of deprecated call (default for debug).
#    -    error: abort on usage of deprecated call (suggested for mod developers).
deprecated_lua_api_handling (Deprecated Lua API handling) enum legacy legacy,log,error

#    Useful for mod developers.
mod_profiling (Mod profiling) bool false

#    Detailed mod profile data. Useful for mod developers.
detailed_profiling (Detailed mod profiling) bool false

#    Profiler data print interval. 0 = disable. Useful for developers.
profiler_print_interval (Profiling print interval) int 0

#    Number of extra blocks that can be loaded by /clearobjects at once.
#    This is a trade-off between sqlite transaction overhead and
#    memory consumption (4096=100MB, as a rule of thumb).
max_clearobjects_extra_loaded_blocks (Max. clearobjects extra blocks) int 4096

#    How much the server will wait before unloading unused mapblocks.
#    Higher value is smoother, but will use more RAM.
server_unload_unused_data_timeout (Unload unused server data) int 29

#    Maximum number of statically stored objects in a block.
max_objects_per_block (Maxmimum objects per block) int 49

#    See http://www.sqlite.org/pragma.html#pragma_synchronous
sqlite_synchronous (Synchronous SQLite) enum 2 0,1,2

#    Length of a server tick and the interval at which objects are generally updated over network.
dedicated_server_step (Dedicated server step) float 0.1

#    If enabled, invalid world data won't cause the server to shut down.
#    Only enable this if you know what you are doing.
ignore_world_load_errors (Ignore world errors) bool false

#    Max liquids processed per step.
liquid_loop_max (Liquid loop max) int 100000

#    The time (in seconds) that the liquids queue may grow beyond processing
#    capacity until an attempt is made to decrease its size by dumping old queue
#    items.  A value of 0 disables the functionality.
liquid_queue_purge_time (Liquid queue purge time) int 0

#    Liquid update interval in seconds.
liquid_update (Liquid update tick) float 1.0

[*Mapgen]

#    Name of map generator to be used when creating a new world.
#    Creating a world in the main menu will override this.
mg_name (Mapgen name) enum v6 v5,v6,v7,flat,fractal,singlenode

#    Water surface level of the world.
water_level (Water level) int 1

#    From how far blocks are generated for clients, stated in mapblocks (16 nodes).
max_block_generate_distance (Max block generate distance) int 6

#    Where the map generator stops.
#    Please note:
#    -    Limited to 31000 (setting above has no effect)
#    -    The map generator works in groups of 80x80x80 nodes (5x5x5 MapBlocks).
#    -    Those groups have an offset of -32, -32 nodes from the origin.
#    -    Only groups which are within the map_generation_limit are generated
map_generation_limit (Map generation limit) int 31000 0 31000

#    Global map generation attributes.
#    In Mapgen v6 the 'decorations' flag controls all decorations except trees
#    and junglegrass, in all other mapgens this flag controls all decorations.
#    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.
mg_flags (Mapgen flags) flags caves,dungeons,light,decorations caves,dungeons,light,decorations,nocaves,nodungeons,nolight,nodecorations

[**Advanced]

#    Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes).
chunksize (Chunk size) int 5

#    Dump the mapgen debug infos.
enable_mapgen_debug_info (Mapgen debug) bool false

#    Maximum number of blocks that can be queued for loading.
emergequeue_limit_total (Absolute limit of emerge queues) int 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.
emergequeue_limit_diskonly (Limit of emerge queues on disk) int 32

#    Maximum number of blocks to be queued that are to be generated.
#    Set to blank for an appropriate amount to be chosen automatically.
emergequeue_limit_generate (Limit of emerge queues to generate) int 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.
num_emerge_threads (Number of emerge threads) int 1

#    Noise parameters for biome API temperature, humidity and biome blend.
mg_biome_np_heat (Mapgen biome heat noise parameters) noise_params 50, 50, (750, 750, 750), 5349, 3, 0.5, 2.0
mg_biome_np_heat_blend (Mapgen heat blend noise parameters) noise_params 0, 1.5, (8, 8, 8), 13, 2, 1.0, 2.0
mg_biome_np_humidity (Mapgen biome humidity noise parameters) noise_params 50, 50, (750, 750, 750), 842, 3, 0.5, 2.0
mg_biome_np_humidity_blend (Mapgen biome humidity blend noise parameters) noise_params 0, 1.5, (8, 8, 8), 90003, 2, 1.0, 2.0

[***Mapgen v5]

mgv5_np_filler_depth (Mapgen v5 filler depth noise parameters) noise_params 0, 1, (150, 150, 150), 261, 4, 0.7, 2.0
mgv5_np_factor (Mapgen v5 factor noise parameters) noise_params 0, 1, (250, 250, 250), 920381, 3, 0.45, 2.0
mgv5_np_height (Mapgen v5 height noise parameters) noise_params 0, 10, (250, 250, 250), 84174, 4, 0.5, 2.0
mgv5_np_cave1 (Mapgen v5 cave1 noise parameters) noise_params 0, 12, (50, 50, 50), 52534, 4, 0.5, 2.0
mgv5_np_cave2 (Mapgen v5 cave2 noise parameters) noise_params 0, 12, (50, 50, 50), 10325, 4, 0.5, 2.0
#    TODO
#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.
#    When snowbiomes are enabled jungles are 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.
mgv6_spflags (Mapgen v6 flags) flags jungles,biomeblend,mudflow,snowbiomes,trees jungles,biomeblend,mudflow,snowbiomes,flat,trees,nojungles,nobiomeblend,nomudflow,nosnowbiomes,noflat,notrees

#    Controls size of deserts and beaches in Mapgen v6.
#    When snowbiomes are enabled 'mgv6_freq_desert' is ignored.
mgv6_freq_desert (Mapgen v6 desert frequency) float 0.45
mgv6_freq_beach (Mapgen v6 beach frequency) float 0.15

mgv6_np_terrain_base (Mapgen v6 terrain base noise parameters) noise_params -4, 20, (250, 250, 250), 82341, 5, 0.6, 2.0
mgv6_np_terrain_higher (Mapgen v6 terrain altitude noise parameters) noise_params 20, 16, (500, 500, 500), 85039, 5, 0.6, 2.0
mgv6_np_steepness (Mapgen v6 steepness noise parameters) noise_params 0.85, 0.5, (125, 125, 125), -932, 5, 0.7, 2.0
mgv6_np_height_select (Mapgen v6 height select noise parameters) noise_params 0.5, 1, (250, 250, 250), 4213, 5, 0.69, 2.0
mgv6_np_mud (Mapgen v6 mud noise parameters) noise_params 4, 2, (200, 200, 200), 91013, 3, 0.55, 2.0
mgv6_np_beach (Mapgen v6 beach noise parameters) noise_params 0, 1, (250, 250, 250), 59420, 3, 0.50, 2.0
mgv6_np_biome (Mapgen v6 biome noise parameters) noise_params 0, 1, (500, 500, 500), 9130, 3, 0.50, 2.0
mgv6_np_cave (Mapgen v6 cave noise parameters) noise_params 6, 6, (250, 250, 250), 34329, 3, 0.50, 2.0
mgv6_np_humidity (Mapgen v6 humidity noise parameters) noise_params 0.5, 0.5, (500, 500, 500), 72384, 3, 0.50, 2.0
mgv6_np_trees (Mapgen v6 trees noise parameters) noise_params 0, 1, (125, 125, 125), 2, 4, 0.66, 2.0
mgv6_np_apple_trees (Mapgen v6 apple trees noise parameters) noise_params 0, 1, (100, 100, 100), 342902, 3, 0.45, 2.0

[***Mapgen v7]

#    Map generation attributes specific to Mapgen v7.
#    'ridges' are the rivers.
#    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.
mgv7_spflags (Mapgen v7 flags) flags mountains,ridges mountains,ridges,nomountains,noridges

mgv7_np_terrain_base (Mapgen v7 terrain base noise parameters) noise_params 4, 70, (600, 600, 600), 82341, 5, 0.6, 2.0
mgv7_np_terrain_alt (Mapgen v7 terrain altitude noise parameters) noise_params 4, 25, (600, 600, 600), 5934, 5, 0.6, 2.0
mgv7_np_terrain_persist (Mapgen v7 terrain persistation noise parameters) noise_params 0.6, 0.1, (2000, 2000, 2000), 539, 3, 0.6, 2.0
mgv7_np_height_select (Mapgen v7 height select noise parameters) noise_params -12, 24, (500, 500, 500), 4213, 6, 0.7, 2.0
mgv7_np_filler_depth (Mapgen v7 filler depth noise parameters) noise_params 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
mgv7_np_mount_height (Mapgen v7 mount height noise parameters) noise_params 256, 112, (1000, 1000, 1000), 72449, 3, 0.6, 2.0
mgv7_np_ridge_uwater (Mapgen v7 ridge water noise parameters) noise_params 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0
mgv7_np_mountain (Mapgen v7 mountain noise parameters) noise_params -0.6, 1, (250, 350, 250), 5333, 5, 0.63, 2.0
mgv7_np_ridge (Mapgen v7 ridge noise parameters) noise_params 0, 1, (100, 100, 100), 6467, 4, 0.75, 2.0
mgv7_np_cave1 (Mapgen v7 cave1 noise parameters) noise_params 0, 12, (100, 100, 100), 52534, 4, 0.5, 2.0
mgv7_np_cave2 (Mapgen v7 cave2 noise parameters) noise_params 0, 12, (100, 100, 100), 10325, 4, 0.5, 2.0

[***Mapgen flat]

#    Map generation attributes specific to Mapgen flat.
#    Occasional lakes and hills 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.
mgflat_spflags (Mapgen flat flags) flags nolakes,nohills lakes,hills,nolakes,nohills

#    Y of flat ground.
mgflat_ground_level (Mapgen flat ground level) int 8

#    Y of upper limit of large pseudorandom caves.
mgflat_large_cave_depth (Mapgen flat large cave depth) int -33

#    Terrain noise threshold for lakes.
#    Controls proportion of world area covered by lakes.
#    Adjust towards 0.0 for a larger proportion.
mgflat_lake_threshold (Mapgen flat lake threshold) float -0.45

#    Controls steepness/depth of lake depressions.
mgflat_lake_steepness (Mapgen flat lake steepness) float 48.0

#    Terrain noise threshold for hills.
#    Controls proportion of world area covered by hills.
#    Adjust towards 0.0 for a larger proportion.
mgflat_hill_threshold (Mapgen flat hill threshold) float 0.45

#    Controls steepness/height of hills.
mgflat_hill_steepness (Mapgen flat hill steepness) float 64.0

#    Determines terrain shape.
#    The 3 numbers in brackets control the scale of the
#    terrain, the 3 numbers should be identical.
mgflat_np_terrain (Mapgen flat terrain noise parameters) noise_params 0, 1, (600, 600, 600), 7244, 5, 0.6, 2.0

mgflat_np_filler_depth (Mapgen flat filler depth noise parameters) noise_params 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
mgflat_np_cave1 (Mapgen flat cave1 noise parameters) noise_params 0, 12, (128, 128, 128), 52534, 4, 0.5, 2.0
mgflat_np_cave2 (Mapgen flat cave2 noise parameters) noise_params 0, 12, (128, 128, 128), 10325, 4, 0.5, 2.0

[***Mapgen fractal]

#    Choice of 18 fractals from 9 formulas.
#    1 = 4D "Roundy" mandelbrot set.
#    2 = 4D "Roundy" julia set.
#    3 = 4D "Squarry" mandelbrot set.
#    4 = 4D "Squarry" julia set.
#    5 = 4D "Mandy Cousin" mandelbrot set.
#    6 = 4D "Mandy Cousin" julia set.
#    7 = 4D "Variation" mandelbrot set.
#    8 = 4D "Variation" julia set.
#    9 = 3D "Mandelbrot/Mandelbar" mandelbrot set.
#    10 = 3D "Mandelbrot/Mandelbar" julia set.
#    11 = 3D "Christmas Tree" mandelbrot set.
#    12 = 3D "Christmas Tree" julia set.
#    13 = 3D "Mandelbulb" mandelbrot set.
#    14 = 3D "Mandelbulb" julia set.
#    15 = 3D "Cosine Mandelbulb" mandelbrot set.
#    16 = 3D "Cosine Mandelbulb" julia set.
#    17 = 4D "Mandelbulb" mandelbrot set.
#    18 = 4D "Mandelbulb" julia set.
mgfractal_fractal (Mapgen fractal fractal) int 1 1 18

#    Iterations of the recursive function.
#    Controls the amount of fine detail.
mgfractal_iterations (Mapgen fractal iterations) int 11

#    Approximate (X,Y,Z) scale of fractal in nodes.
mgfractal_scale (Mapgen fractal scale) v3f (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.
#    Range roughly -2 to 2. Multiply by 'scale' for offset in nodes.
mgfractal_offset (Mapgen fractal offset) v3f (1.79, 0.0, 0.0)

#    W co-ordinate of the generated 3D slice of a 4D fractal.
#    Determines which 3D slice of the 4D shape is generated.
#    Has no effect on 3D fractals.
#    Range roughly -2 to 2.
mgfractal_slice_w (Mapgen fractal slice w) float 0.0

#    Julia set only: X component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
mgfractal_julia_x (Mapgen fractal julia x) float 0.33

#    Julia set only: Y component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
mgfractal_julia_y (Mapgen fractal julia y) float 0.33

#    Julia set only: Z component of hypercomplex constant determining julia shape.
#    Range roughly -2 to 2.
mgfractal_julia_z (Mapgen fractal julia z) float 0.33

#    Julia set only: W component of hypercomplex constant determining julia shape.
#    Has no effect on 3D fractals.
#    Range roughly -2 to 2.
mgfractal_julia_w (Mapgen fractal julia w) float 0.33

mgfractal_np_seabed (Mapgen fractal seabed noise parameters) noise_params -14, 9, (600, 600, 600), 41900, 5, 0.6, 2.0
mgfractal_np_filler_depth (Mapgen fractal filler depth noise parameters) noise_params 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0
mgfractal_np_cave1 (Mapgen fractal cave1 noise parameters) noise_params 0, 12, (128, 128, 128), 52534, 4, 0.5, 2.0
mgfractal_np_cave2 (Mapgen fractal cave2 noise parameters) noise_params 0, 12, (128, 128, 128), 10325, 4, 0.5, 2.0

[*Security]

#    Prevent mods from doing insecure things like running shell commands.
secure.enable_security (Enable mod security) bool false

#    Comma-separated list of trusted mods that are allowed to access insecure
#    functions even when mod security is on (via request_insecure_environment()).
secure.trusted_mods (Trusted mods) string

[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.
name (Player name) string

#    Set the language. Leave empty to use the system language.
#    A restart is required after changing this.
language (Language) enum   ,be,cs,da,de,eo,es,et,fr,hu,id,it,ja,jbo,ko,ky,lt,nb,nl,pl,pt,pt_BR,ro,ru,tr,uk,zh_CN,zh_TW

#    Level of logging to be written to debug.txt:
#    -    <nothing> (no logging)
#    -    none (messages with no level)
#    -    error
#    -    warning
#    -    action
#    -    info
#    -    verbose
debug_log_level (Debug log level) enum action ,warning,action,info,verbose

#    IPv6 support.
enable_ipv6 (IPv6) bool true

[*Advanced]

#    Default timeout for cURL, stated in milliseconds.
#    Only has an effect if compiled with cURL.
curl_timeout (cURL timeout) int 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.
curl_parallel_limit (cURL parallel limit) int 8

#    Maximum time in ms a file download (e.g. a mod download) may take.
curl_file_download_timeout (cURL file download timeout) int 300000

#    Makes DirectX work with LuaJIT. Disable if it causes troubles.
high_precision_fpu (High-precision FPU) bool true

#    Replaces the default main menu with a custom one.
main_menu_script (Main menu script) string

main_menu_game_mgr (Main menu game manager) int 0

main_menu_mod_mgr (Main menu mod manager) int 1

modstore_download_url (Modstore download URL) string https://forum.minetest.net/media/

modstore_listmods_url (Modstore mods list URL) string https://forum.minetest.net/mmdb/mods/

modstore_details_url (Modstore details URL) string https://forum.minetest.net/mmdb/mod/*/
