Settingtypes
Settingtypes
#
# General format:
# name (Readable name) type type_args
#
# Note that the parts are separated by exactly one space
#
# `type` can be:
# - int
# - string
# - bool
# - float
# - enum
# - path
# - filepath
# - key (will be ignored in GUI, since a special key change dialog exists)
# - flags
# - noise_params_2d
# - noise_params_3d
# - v3f
#
# `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)
# * filepath:
# - 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_2d:
# Format is <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>),
<seed>, <octaves>, <persistence>, <lacunarity>[, <default flags>]
# - default
# * noise_params_3d:
# Format is <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>),
<seed>, <octaves>, <persistence>, <lacunarity>[, <default flags>]
# - default
# * v3f:
# Format is (<X>, <Y>, <Z>)
# - default
#
# 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.
# The last line of a comment can contain the requirements for the setting, ie:
#
# # This is a comment
# #
# # Requires: shaders, enable_dynamic_shadows, !enable_waving_leaves
# name (Readable name) type type_args
#
# A requirement can be the name of a boolean setting or an engine-defined value.
# These requirements may be:
#
# * The value of a boolean setting, such as enable_dynamic_shadows
# * An engine-defined value:
# * shaders_support (a video driver that supports shaders, may not be enabled)
# * shaders (both enable_shaders and shaders_support)
# * desktop / android
# * touchscreen / keyboard_mouse
# * opengl / gles
# * You can negate any requirement by prepending with !
#
# 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".
[Controls]
[*General]
# If enabled, you can place nodes 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
# If enabled, "Aux1" key instead of "Sneak" key is used for climbing down and
# descending.
aux1_descends (Aux1 key for climbing/descending) bool false
# If disabled, "Aux1" key is used to fly fast if both fly and fast mode are
# enabled.
always_fly_fast (Always fly fast) bool true
# The time in seconds it takes between repeated node placements when holding
# the place button.
#
# Requires: keyboard_mouse
repeat_place_time (Place repetition interval) float 0.25 0.16 2.0
# The minimum time in seconds it takes between digging nodes when holding
# the dig button.
repeat_dig_time (Minimum dig repetition interval) float 0.0 0.0 2.0
# Prevent digging and placing from repeating when holding the respective
buttons.
# Enable this when you dig or place too often by accident.
# On touchscreens, this only affects digging.
safe_dig_and_place (Safe digging and placing) bool false
[*Touchscreen]
# Enables the touchscreen controls, allowing you to play the game with a
touchscreen.
# "auto" means that the touchscreen controls will be enabled and disabled
# automatically depending on the last used input method.
#
# Requires: touch_support
touch_controls (Touchscreen controls) enum auto auto,true,false
[*Graphics]
[**Screen]
# Fullscreen mode.
#
# Requires: desktop
fullscreen (Full screen) bool false
# Open the pause menu when the window's focus is lost. Does not pause if a
formspec is
# open.
#
# Requires: desktop
pause_on_lost_focus (Pause on lost window focus) bool false
[**FPS]
# Vertical screen synchronization. Your system may still force VSync on even if
this is disabled.
vsync (VSync) bool false
# Maximum FPS when the window is not focused, or when the game is paused.
fps_max_unfocused (FPS when unfocused or paused) int 20 1 4294967295
[**3D]
# 3D support.
# Currently supported:
# - none: no 3d output.
# - anaglyph: cyan/magenta color 3d.
# - interlaced: odd/even line based polarization screen support.
# - topbottom: split screen top/bottom.
# - sidebyside: split screen side by side.
# - crossview: Cross-eyed 3d
# Note that the interlaced mode requires shaders to be enabled.
3d_mode (3D mode) enum none none,anaglyph,interlaced,topbottom,sidebyside,crossview
[**Camera]
[**Screenshots]
# Format of screenshots.
#
# Requires: desktop
screenshot_format (Screenshot format) enum png png,jpg
[**Fog]
# Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
#
# Requires: enable_fog
directional_colored_fog (Colored fog) bool true
[**Clouds]
# Defines the size of the sampling grid for FSAA and SSAA antialiasing methods.
# Value of 2 means taking 2x2 = 4 samples.
fsaa (Anti-aliasing scale) enum 2 2,4,8,16
[**Occlusion Culling]
# Type of occlusion_culler
#
# "loops" is the legacy algorithm with nested loops and O(n³) complexity
# "bfs" is the new algorithm based on breadth-first-search and side culling
#
# This setting should only be changed if you have performance problems.
occlusion_culler (Occlusion Culler) enum bfs bfs,loops
[*Effects]
# Leaves style:
# - Fancy: all faces visible
# - Simple: only outer faces
# - Opaque: disable transparency
leaves_style (Leaves style) enum fancy fancy,simple,opaque
[**Waving Nodes]
[**Dynamic shadows]
[**Post Processing]
[**Other Effects]
[*Audio]
# Whether to mute sounds. You can unmute sounds at any time, unless the
# sound system is disabled (enable_sound=false).
# In-game, you can toggle the mute state with the mute key or by using the
# pause menu.
mute_sound (Mute sound) bool false
[*User Interfaces]
[**GUI]
[**HUD]
# Whether to show the client debug info (has the same effect as hitting F5).
show_debug (Show debug info) bool false
# Radius to use when the block bounds HUD feature is set to near blocks.
show_block_bounds_radius_near (Block bounds HUD radius) int 4 0 1000
[**Chat]
# In-game chat console height, between 0.1 (10%) and 1.0 (100%).
console_height (Console height) float 0.6 0.1 1.0
# Font size of the recent chat text and chat prompt in point (pt).
# Value 0 will use the default font size.
chat_font_size (Chat font size) int 0 0 72
[**Content Repository]
# If enabled and you have ContentDB packages installed, Luanti may contact
ContentDB to
# check for package updates when opening the mainmenu.
contentdb_enable_updates_indicator (Enable updates available indicator on content
tab) bool true
[*Client]
# URL to JSON file which provides information about the newest Luanti release.
# If this is empty the engine will never check for updates.
update_information_url (Update information URL) string
https://www.minetest.net/release_info.json
[*Server]
# Name of the server, to be displayed when players join and in the serverlist.
server_name (Server name) string Luanti server
# Send names of online players to the serverlist. If disabled only the player
count is revealed.
server_announce_send_players (Send player names to the server list) bool true
[**Networking]
# 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
[*Server Security]
[**Client-side Modding]
# If the CSM restriction for node range is enabled, get_node calls are limited
# to this distance from the player to the node.
csm_restriction_noderange (Client-side node lookup range restriction) int 0 0
4294967295
[**Chat]
# Set the maximum length of a chat message (in characters) sent by clients.
chat_message_max_size (Chat message max length) int 500 10 65535
[*Server Gameplay]
[**Physics]
# Walking, flying and climbing speed in fast mode, in nodes per second.
movement_speed_fast (Fast mode speed) float 20.0 0.0
# How much you are slowed down when moving inside a liquid.
# Decrease this to increase liquid resistance to movement.
movement_liquid_fluidity (Liquid fluidity) float 1.0 0.001
# Controls sinking speed in liquid when idling. Negative values will cause
# you to rise instead.
movement_liquid_sink (Liquid sinking) float 10.0
[Mapgen]
# 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
# From how far blocks are generated for clients, stated in mapblocks (16 nodes).
max_block_generate_distance (Max block generate distance) int 10 1 32767
[*Mapgen V5]
[**Noises]
[*Mapgen V6]
[*Mapgen V7]
[**Noises]
[*Mapgen Carpathian]
[**Noises]
[*Mapgen Flat]
# Y of flat ground.
mgflat_ground_level (Ground level) int 8 -31000 31000
[**Noises]
[**Noises]
# Y-level of seabed.
mgfractal_np_seabed (Seabed noise) noise_params_2d -14, 9, (600, 600, 600), 41900,
5, 0.6, 2.0, eased
[*Mapgen Valleys]
[**Noises]
[Advanced]
[*Developer Options]
[**Mod Security]
# Prevent mods from doing insecure things like running shell commands.
secure.enable_security (Enable mod security) bool true
# Comma-separated list of mods that are allowed to access HTTP APIs, which
# allow them to upload and download data to/from the internet.
secure.http_mods (HTTP mods) string
[**Debugging]
[**Mod Profiler]
# The file path relative to your world path in which profiles will be saved to.
profiler.report_path (Report path) string
# Instrument builtin.
# This is usually only needed by core/builtin contributors
instrument.builtin (Builtin) bool false
[**Engine Profiler]
# 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
[**Graphics]
# Delay between mesh updates on the client in ms. Increasing this will slow
# down the rate of mesh updates, thus reducing jitter on slower clients.
mesh_generation_interval (Mapblock mesh generation delay) int 0 0 50
# True = 256
# False = 128
# Usable to make minimap smoother on slower machines.
minimap_double_scan_height (Minimap scan height) bool true
# Side length of a cube of map blocks that the client will consider together
# when generating meshes.
# Larger values increase the utilization of the GPU by reducing the number of
# draw calls, benefiting especially high-end GPUs.
# Systems with a low-end GPU (or no GPU) would benefit from smaller values.
client_mesh_chunk (Client Mesh Chunksize) int 1 1 16
[**Sound]
# Comma-separated list of AL and ALC extensions that should not be used.
# Useful for testing. See al_extensions.[h,cpp] for details.
sound_extensions_blacklist (Sound Extensions Blacklist) string
[**Font]
# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
font_shadow_alpha (Font shadow alpha) int 127 0 255
# For pixel-style fonts that do not scale well, this ensures that font sizes
used
# with this font will always be divisible by this value, in pixels. For
instance,
# a pixel font 16 pixels tall should have this set to 16, so it will only ever
be
# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
font_size_divisible_by (Font size divisible by) int 1 1
# For pixel-style fonts that do not scale well, this ensures that font sizes
used
# with this font will always be divisible by this value, in pixels. For
instance,
# a pixel font 16 pixels tall should have this set to 16, so it will only ever
be
# sized 16, 32, 48, etc., so a mod requesting a size of 25 will get 32.
mono_font_size_divisible_by (Monospace font size divisible by) int 1 1
[**Lighting]
[**Networking]
# Timeout for client to remove unused map data from memory, in seconds.
client_unload_unused_data_timeout (Mapblock unload timeout) float 600.0 0.0
# 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 (Delay in sending blocks after
building) float 2.0 0.0
# Maximum number of packets sent per send step in the low-level networking code.
# You generally don't need to change this, however busy servers may benefit from
a higher number.
max_packets_per_iteration (Max. packets per iteration) int 1024 1 65535
[**Server]
# Format of player chat messages. The following strings are valid placeholders:
# @name, @message, @timestamp (optional)
chat_message_format (Chat message format) string <@name> @message
# If the execution of a chat command takes longer than this specified time in
# seconds, add the time information to the chat command message
chatcommand_msg_time_threshold (Chat command time message threshold) float 0.1 0.0
[**Server/Env Performance]
# 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)
active_object_send_range_blocks (Active object send range) int 8 1 65535
# The radius of the volume of blocks around every player that is subject to the
# active block stuff, stated in mapblocks (16 nodes).
# In active blocks objects are loaded and ABMs run.
# This is also the minimum range in which active objects (mobs) are maintained.
# This should be configured together with active_object_send_range_blocks.
active_block_range (Active block range) int 4 1 65535
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
max_block_send_distance (Max block send distance) int 12 1 65535
# Default maximum number of forceloaded mapblocks.
# Set this to -1 to disable the limit.
max_forceloaded_blocks (Maximum forceloaded blocks) int 16 -1
# How long the server will wait before unloading unused mapblocks, stated in
seconds.
# Higher value is smoother, but will use more RAM.
server_unload_unused_data_timeout (Unload unused server data) int 29 0 4294967295
# Length of time between Active Block Modifier (ABM) execution cycles, stated in
seconds.
abm_interval (ABM interval) float 1.0 0.0
# 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 0 65535
# 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 might not be rendered correctly in caves).
# Setting this to a value greater than max_block_send_distance disables this
# optimization.
# Stated in MapBlocks (16 nodes).
block_send_optimize_distance (Block send optimize distance) int 4 2 2047
# If enabled, the server will perform map block occlusion culling based on
# on the eye position of the player. This can reduce the number of blocks
# sent to the client by 50-80%. Clients will no longer receive most
# invisible blocks, so that the utility of noclip mode is reduced.
server_side_occlusion_culling (Server-side occlusion culling) bool true
# At this distance the server will perform a simpler and cheaper occlusion
check.
# Smaller values potentially improve performance, at the expense of temporarily
visible
# rendering glitches (missing blocks).
# This is especially useful for very large viewing range (upwards of 500).
# Stated in MapBlocks (16 nodes).
block_cull_optimize_distance (Block cull optimize distance) int 25 2 2047
[**Mapgen]
[**cURL]
# Maximum time an interactive request (e.g. server list fetch) may take, stated
in milliseconds.
curl_timeout (cURL interactive timeout) int 20000 1000 2147483647
# Maximum time a file download (e.g. a mod download) may take, stated in
milliseconds.
curl_file_download_timeout (cURL file download timeout) int 300000 5000 2147483647
[**Miscellaneous]
# Windows systems only: Start Luanti with the command line window in the
background.
# Contains the same information as the file debug.txt (default name).
enable_console (Enable console window) bool false
# See https://www.sqlite.org/pragma.html#pragma_synchronous
sqlite_synchronous (Synchronous SQLite) enum 2 0,1,2
[*Gamepads]
# Path to texture directory. All textures are first searched from here.
texture_path (Texture path) path
# Enables minimap.
enable_minimap (Minimap) bool true
# If enabled, makes move directions relative to the player's pitch when flying
or swimming.
pitch_move (Pitch move mode) 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
# Affects mods and texture packs in the Content and Select Mods menus, as well
as
# setting names.
# Controlled by a checkbox in the settings menu.
show_technical_names (Show technical names) bool false
# Key for toggling the camera update. Only usable with 'debug' privilege.
keymap_toggle_update_camera (Camera update toggle key) key
# Key for toggling the display of the profiler. Used for development.
keymap_toggle_profiler (Profiler toggle key) key KEY_F6