2015-10-15 21:32:31 +02:00
# This file contains all settings displayed in the settings menu.
#
# General format:
# name (Readable name) type type_args
2025-04-01 07:55:47 -04:00
# name (Readable name) [context] type type_args
2015-10-15 21:32:31 +02:00
#
2016-08-28 15:02:33 +01:00
# Note that the parts are separated by exactly one space
2015-10-18 10:41:52 +02:00
#
2025-04-01 07:55:47 -04:00
# `context` (optional) is used to document where the setting is read. It can be:
# - common: Read by both client and server.
# - client: Read by the client.
# (Includes settings read by the mainmenu.)
# - server: Read by the server.
# - world_creation: Read at world creation, thus only applied to new worlds.
# (Worlds are commonly created in the mainmenu (part of the client), but
# world creation is conceptually a server-side thing...)
# If not specified, the value is inherited from the context value of the containing
# category instead.
# For the builtin/settingtypes.txt file, every setting needs to have a context defined,
# either via a category containing it or via the setting itself. In game/mod-provided
# settingtypes.txt files, context annotations are invalid.
# Note: For context annotations, it's irrelevant whether changes to a setting
# after startup/game-join will be read. A separate mechanism for declaring that
# is needed.
#
2015-10-15 21:32:31 +02:00
# `type` can be:
# - int
# - string
# - bool
# - float
# - enum
# - path
2017-06-11 08:43:31 +01:00
# - filepath
2025-04-20 20:20:49 +02:00
# - key
2015-10-18 10:41:52 +02:00
# - flags
2017-09-10 00:49:12 +07:00
# - noise_params_2d
# - noise_params_3d
# - v3f
2015-10-15 21:32:31 +02:00
#
# `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)
2017-06-11 08:43:31 +01:00
# * filepath:
# - default (if default is not specified then "" is set)
2015-10-15 21:32:31 +02:00
# * key:
# - default
2015-10-18 10:41:52 +02:00
# * flags:
# Flags are always separated by comma without spaces.
# - default possible_flags
2017-09-10 00:49:12 +07:00
# * noise_params_2d:
2020-05-22 01:32:20 +01:00
# Format is <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, <octaves>, <persistence>, <lacunarity>[, <default flags>]
2017-09-10 00:49:12 +07:00
# - default
# * noise_params_3d:
2020-05-22 01:32:20 +01:00
# Format is <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, <octaves>, <persistence>, <lacunarity>[, <default flags>]
2017-09-10 00:49:12 +07:00
# - default
# * v3f:
# Format is (<X>, <Y>, <Z>)
# - default
2015-10-15 21:32:31 +02:00
#
# 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.
2023-08-05 17:55:27 +01:00
# The last line of a comment can contain the requirements for the setting, ie:
#
# # This is a comment
# #
2024-11-13 14:24:01 +01:00
# # Requires: enable_dynamic_shadows, !enable_waving_leaves
2023-08-05 17:55:27 +01:00
# 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:
# * desktop / android
2024-09-28 11:23:09 +02:00
# * touchscreen / keyboard_mouse
2023-08-05 17:55:27 +01:00
# * opengl / gles
# * You can negate any requirement by prepending with !
2025-04-20 20:20:49 +02:00
# * The "keyboard_mouse" requirement is automatically added to settings with the
# "key" type.
2023-08-05 17:55:27 +01:00
#
2015-10-15 21:32:31 +02:00
# 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.
2025-04-01 07:55:47 -04:00
# A context (see above) can be specified optionally: [Section Name] [context]
# Context annotations on categories cannot be nested.
2024-11-28 10:38:51 +01:00
# There shouldn't be too many settings per category.
#
# The top-level categories "Advanced", "Client and Server" and "Mapgen" are
# handled specially and its contents only shown when a checkbox is checked.
# They contain settings not intended for the "average user".
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
2025-04-01 07:55:47 -04:00
[Controls] [client]
2022-06-30 20:18:09 +01:00
[*General]
2023-04-14 22:32:25 +01:00
# Smooths rotation of camera, also called look or mouse smoothing. 0 to disable.
2015-10-15 21:32:31 +02:00
camera_smoothing (Camera smoothing) float 0.0 0.0 0.99
2024-01-05 21:10:07 +01:00
# Smooths rotation of camera when in cinematic mode, 0 to disable. Enter cinematic mode by using the key set in Controls.
2023-08-27 20:18:41 +02:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2015-10-15 21:32:31 +02:00
cinematic_camera_smoothing (Camera smoothing in cinematic mode) float 0.7 0.0 0.99
2023-04-14 22:32:25 +01:00
# 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
2021-02-24 10:45:30 +00:00
# If enabled, "Aux1" key instead of "Sneak" key is used for climbing down and
2018-10-11 03:23:08 +01:00
# descending.
2021-02-24 10:45:30 +00:00
aux1_descends (Aux1 key for climbing/descending) bool false
2015-10-15 21:32:31 +02:00
# Double-tapping the jump key toggles fly mode.
doubletap_jump (Double tap jump for fly) bool false
2021-02-24 10:45:30 +00:00
# If disabled, "Aux1" key is used to fly fast if both fly and fast mode are
2018-10-11 03:23:08 +01:00
# enabled.
2022-06-30 20:18:09 +01:00
always_fly_fast (Always fly fast) bool true
2015-10-15 21:32:31 +02:00
2025-03-06 21:01:43 +01:00
# If enabled, the "Sneak" key will toggle when pressed.
2025-03-15 14:31:16 +01:00
# This functionality is ignored when fly is enabled.
2025-03-06 21:01:43 +01:00
toggle_sneak_key (Toggle Sneak key) bool false
# If enabled, the "Aux1" key will toggle when pressed.
toggle_aux1_key (Toggle Aux1 key) bool false
2020-06-05 18:36:35 +05:30
# The time in seconds it takes between repeated node placements when holding
# the place button.
2023-08-27 20:18:41 +02:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2024-10-16 21:35:30 +02:00
repeat_place_time (Place repetition interval) float 0.25 0.16 2.0
2024-03-30 11:05:58 +01:00
# The minimum time in seconds it takes between digging nodes when holding
# the dig button.
2024-06-30 20:39:28 +02:00
repeat_dig_time (Minimum dig repetition interval) float 0.0 0.0 2.0
2015-10-15 21:32:31 +02:00
2018-11-22 22:47:15 +01:00
# Automatically jump up single-node obstacles.
autojump (Automatic jumping) bool false
2023-08-27 20:18:41 +02:00
# Prevent digging and placing from repeating when holding the respective buttons.
2017-08-24 08:30:46 +02:00
# Enable this when you dig or place too often by accident.
2023-08-27 20:18:41 +02:00
# On touchscreens, this only affects digging.
2017-08-24 08:30:46 +02:00
safe_dig_and_place (Safe digging and placing) bool false
2022-06-30 20:18:09 +01:00
[*Keyboard and Mouse]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Invert vertical mouse movement.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2022-06-30 20:18:09 +01:00
invert_mouse (Invert mouse) bool false
# Mouse sensitivity multiplier.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2022-06-30 20:18:09 +01:00
mouse_sensitivity (Mouse sensitivity) float 0.2 0.001 10.0
2023-05-24 21:00:00 +07:00
# Enable mouse wheel (scroll) for item selection in hotbar.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2023-05-24 21:00:00 +07:00
enable_hotbar_mouse_wheel (Hotbar: Enable mouse wheel for selection) bool true
# Invert mouse wheel (scroll) direction for item selection in hotbar.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: keyboard_mouse
2023-05-24 21:00:00 +07:00
invert_hotbar_mouse_wheel (Hotbar: Invert mouse wheel direction) bool false
2025-04-20 20:20:49 +02:00
[**Keybindings]
2025-05-16 17:16:23 +02:00
keymap_forward (Move forward) key SYSTEM_SCANCODE_26
2025-04-20 20:20:49 +02:00
# Will also disable autoforward, when active.
2025-05-16 17:16:23 +02:00
keymap_backward (Move backward) key SYSTEM_SCANCODE_22
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_left (Move left) key SYSTEM_SCANCODE_4
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_right (Move right) key SYSTEM_SCANCODE_7
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_jump (Jump) key SYSTEM_SCANCODE_44
2025-04-20 20:20:49 +02:00
# Also used for climbing down and descending in water if aux1_descends is disabled.
2025-05-16 17:16:23 +02:00
keymap_sneak (Sneak) key SYSTEM_SCANCODE_225
2025-04-20 20:20:49 +02:00
# Key for digging, punching or using something.
# (Note: The actual meaning might vary on a per-game basis.)
keymap_dig (Dig/punch/use) key KEY_LBUTTON
# Key for placing an item/block or for using something.
# (Note: The actual meaning might vary on a per-game basis.)
keymap_place (Place/use) key KEY_RBUTTON
2025-05-16 17:16:23 +02:00
keymap_inventory (Open inventory) key SYSTEM_SCANCODE_12
2025-04-20 20:20:49 +02:00
# Key for moving fast in fast mode.
2025-05-16 17:16:23 +02:00
keymap_aux1 (Aux1) key SYSTEM_SCANCODE_8
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_chat (Open chat) key SYSTEM_SCANCODE_23
2025-04-20 20:20:49 +02:00
# Key for opening the chat window to type commands.
2025-05-16 17:16:23 +02:00
keymap_cmd (Command) key SYSTEM_SCANCODE_56
2025-04-20 20:20:49 +02:00
# Key for opening the chat window to type local commands.
2025-05-16 17:16:23 +02:00
keymap_cmd_local (Local command) key SYSTEM_SCANCODE_55
2025-04-20 20:20:49 +02:00
2025-06-07 05:43:03 -07:00
keymap_rangeselect (Toggle unlimited view range) key
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_freemove (Toggle fly) key SYSTEM_SCANCODE_14
2025-04-20 20:20:49 +02:00
keymap_pitchmove (Toggle pitchmove) key
2025-05-16 17:16:23 +02:00
keymap_fastmove (Toggle fast) key SYSTEM_SCANCODE_13
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_noclip (Toggle noclip) key SYSTEM_SCANCODE_11
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_hotbar_next (Hotbar: select next item) key SYSTEM_SCANCODE_17
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_hotbar_previous (Hotbar: select previous item) key SYSTEM_SCANCODE_5
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_mute (Mute) key SYSTEM_SCANCODE_16
2025-04-20 20:20:49 +02:00
keymap_increase_volume (Increase volume) key
keymap_decrease_volume (Decrease volume) key
keymap_autoforward (Toggle automatic forward) key
keymap_cinematic (Toggle cinematic mode) key
2025-05-16 17:16:23 +02:00
keymap_minimap (Toggle minimap) key SYSTEM_SCANCODE_25
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_screenshot (Screenshot) key SYSTEM_SCANCODE_69
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_fullscreen (Toggle fullscreen) key SYSTEM_SCANCODE_68
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_drop (Drop item) key SYSTEM_SCANCODE_20
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_zoom (Zoom) key SYSTEM_SCANCODE_29
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_toggle_hud (Toggle HUD) key SYSTEM_SCANCODE_58
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_toggle_chat (Toggle chat log) key SYSTEM_SCANCODE_59
2025-04-20 20:20:49 +02:00
2025-06-07 05:43:03 -07:00
keymap_console (Toggle large chat console) key SYSTEM_SCANCODE_67
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_toggle_fog (Toggle fog) key SYSTEM_SCANCODE_60
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_toggle_debug (Toggle debug info) key SYSTEM_SCANCODE_62
2025-04-20 20:20:49 +02:00
# Key for toggling the display of the profiler. Used for development.
2025-05-16 17:16:23 +02:00
keymap_toggle_profiler (Toggle profiler) key SYSTEM_SCANCODE_63
2025-04-20 20:20:49 +02:00
# Key for toggling the display of mapblock boundaries.
keymap_toggle_block_bounds (Toggle block bounds) key
2025-05-16 17:16:23 +02:00
keymap_camera_mode (Toggle camera mode) key SYSTEM_SCANCODE_6
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_increase_viewing_range_min (Increase view range) key SYSTEM_SCANCODE_46
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_decrease_viewing_range_min (Decrease view range) key SYSTEM_SCANCODE_45
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot1 (Hotbar slot 1) key SYSTEM_SCANCODE_30
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot2 (Hotbar slot 2) key SYSTEM_SCANCODE_31
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot3 (Hotbar slot 3) key SYSTEM_SCANCODE_32
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot4 (Hotbar slot 4) key SYSTEM_SCANCODE_33
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot5 (Hotbar slot 5) key SYSTEM_SCANCODE_34
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot6 (Hotbar slot 6) key SYSTEM_SCANCODE_35
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot7 (Hotbar slot 7) key SYSTEM_SCANCODE_36
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot8 (Hotbar slot 8) key SYSTEM_SCANCODE_37
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot9 (Hotbar slot 9) key SYSTEM_SCANCODE_38
2025-04-20 20:20:49 +02:00
2025-05-16 17:16:23 +02:00
keymap_slot10 (Hotbar slot 10) key SYSTEM_SCANCODE_39
2025-04-20 20:20:49 +02:00
keymap_slot11 (Hotbar slot 11) key
keymap_slot12 (Hotbar slot 12) key
keymap_slot13 (Hotbar slot 13) key
keymap_slot14 (Hotbar slot 14) key
keymap_slot15 (Hotbar slot 15) key
keymap_slot16 (Hotbar slot 16) key
keymap_slot17 (Hotbar slot 17) key
keymap_slot18 (Hotbar slot 18) key
keymap_slot19 (Hotbar slot 19) key
keymap_slot20 (Hotbar slot 20) key
keymap_slot21 (Hotbar slot 21) key
keymap_slot22 (Hotbar slot 22) key
keymap_slot23 (Hotbar slot 23) key
keymap_slot24 (Hotbar slot 24) key
keymap_slot25 (Hotbar slot 25) key
keymap_slot26 (Hotbar slot 26) key
keymap_slot27 (Hotbar slot 27) key
keymap_slot28 (Hotbar slot 28) key
keymap_slot29 (Hotbar slot 29) key
keymap_slot30 (Hotbar slot 30) key
keymap_slot31 (Hotbar slot 31) key
keymap_slot32 (Hotbar slot 32) key
2022-06-30 20:18:09 +01:00
[*Touchscreen]
2015-10-15 21:32:31 +02:00
2024-06-02 12:58:41 -07:00
# Enables the touchscreen controls, allowing you to play the game with a touchscreen.
2024-09-28 11:23:09 +02:00
# "auto" means that the touchscreen controls will be enabled and disabled
# automatically depending on the last used input method.
2024-10-16 21:37:00 +02:00
#
# Requires: touch_support
2024-09-28 11:23:09 +02:00
touch_controls (Touchscreen controls) enum auto auto,true,false
2024-02-22 16:44:49 +01:00
2025-03-21 07:06:44 -04:00
# The kind of digging/placing controls used.
#
# * Tap
# Long/short tap anywhere on the screen to interact.
# Interaction happens at finger position.
#
# * Tap with crosshair
# Long/short tap anywhere on the screen to interact.
# Interaction happens at crosshair position.
#
# * Buttons with crosshair
# Use dedicated dig/place buttons to interact.
# Interaction happens at crosshair position.
#
# Requires: touchscreen
touch_interaction_style (Interaction style) enum tap tap,tap_crosshair,buttons_crosshair
# The gesture for punching players/entities.
# This can be overridden by games and mods.
#
# * Short tap
# Easy to use and well-known from other games that shall not be named.
#
# * Long tap
# Known from the classic Luanti mobile controls.
# Combat is more or less impossible.
#
# Requires: touchscreen, touch_interaction_style_tap
touch_punch_gesture (Punch gesture) enum short_tap short_tap,long_tap
2024-03-24 21:55:39 +01:00
# Touchscreen sensitivity multiplier.
2023-08-27 20:18:41 +02:00
#
2024-09-28 11:23:09 +02:00
# Requires: touchscreen
2024-03-24 21:55:39 +01:00
touchscreen_sensitivity (Touchscreen sensitivity) float 0.2 0.001 10.0
2023-08-27 20:18:41 +02:00
2024-03-24 21:55:39 +01:00
# The length in pixels after which a touch interaction is considered movement.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: touchscreen
2024-03-24 21:55:39 +01:00
touchscreen_threshold (Movement threshold) int 20 0 100
# The delay in milliseconds after which a touch interaction is considered a long tap.
#
2024-09-28 11:23:09 +02:00
# Requires: touchscreen
2024-03-24 21:55:39 +01:00
touch_long_tap_delay (Threshold for long taps) int 400 100 1000
2018-04-11 03:55:17 +07:00
2023-08-27 20:18:41 +02:00
# Fixes the position of virtual joystick.
2018-04-11 03:55:17 +07:00
# If disabled, virtual joystick will center to first-touch's position.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: touchscreen
2018-04-11 03:55:17 +07:00
fixed_virtual_joystick (Fixed virtual joystick) bool false
2023-08-27 20:18:41 +02:00
# Use virtual joystick to trigger "Aux1" button.
2021-02-24 10:45:30 +00:00
# If enabled, virtual joystick will also tap "Aux1" button when out of main circle.
2023-08-05 17:55:27 +01:00
#
2024-09-28 11:23:09 +02:00
# Requires: touchscreen
2021-02-24 10:45:30 +00:00
virtual_joystick_triggers_aux1 (Virtual joystick triggers Aux1 button) bool false
2018-07-11 05:33:40 +07:00
2025-04-01 07:55:47 -04:00
[Graphics and Audio] [client]
2017-04-02 23:00:34 +01:00
2022-06-30 20:18:09 +01:00
[*Graphics]
2016-05-27 08:35:07 +02:00
2022-06-30 20:18:09 +01:00
[**Screen]
2020-12-19 22:01:05 +01:00
2023-04-14 21:04:03 +02:00
# Width component of the initial window size.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
screen_w (Screen width) int 1024 1 65535
2016-05-27 08:35:07 +02:00
2023-04-14 21:04:03 +02:00
# Height component of the initial window size.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
screen_h (Screen height) int 600 1 65535
2015-10-15 21:32:31 +02:00
2023-04-14 21:04:03 +02:00
# Whether the window is maximized.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2023-04-14 21:04:03 +02:00
window_maximized (Window maximized) bool false
2022-06-30 20:18:09 +01:00
# Save window size automatically when modified.
2023-04-14 21:04:03 +02:00
# If true, screen size is saved in screen_w and screen_h, and whether the window
# is maximized is stored in window_maximized.
# (Autosaving window_maximized only works if compiled with SDL.)
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2023-04-14 22:32:25 +01:00
autosave_screensize (Remember screen size) bool true
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Fullscreen mode.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
fullscreen (Full screen) bool false
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Open the pause menu when the window's focus is lost. Does not pause if a formspec is
# open.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
pause_on_lost_focus (Pause on lost window focus) bool false
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**FPS]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 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 1 4294967295
2015-10-15 21:32:31 +02:00
2023-04-14 22:32:25 +01:00
# Vertical screen synchronization. Your system may still force VSync on even if this is disabled.
2022-06-30 20:18:09 +01:00
vsync (VSync) bool false
2020-06-05 18:36:35 +05:30
2025-02-10 17:15:57 +01:00
# Maximum FPS when the window is not focused.
2025-02-11 21:21:21 +01:00
fps_max_unfocused (FPS when unfocused) int 10 1 4294967295
2020-06-05 18:36:35 +05:30
2022-06-30 20:18:09 +01:00
# View distance in nodes.
viewing_range (Viewing range) int 190 20 4000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Undersampling is similar to using a lower screen resolution, but it applies
# to the game world only, keeping the GUI intact.
# It should give a significant performance boost at the cost of less detailed image.
# Higher values result in a less detailed image.
Get rid of depth buffer workaround in the render pipeline code (#15407)
I originally wanted to get of the legacy IVideoDriver::setRenderTarget altogether,
but that ended up being too much work.
The remaining usage is in "dynamicshadowsrender.cpp".
Here's a comment I wrote about the workaround:
----------------------------------------
Use legacy call when there's single texture without depth texture
This means Irrlicht creates a depth texture for us and binds it to the FBO
This is currently necessary for a working depth buffer in the following cases:
- post-processing disabled, undersampling enabled
(addUpscaling specifies no depth texture)
- post-processing disabled, 3d_mode = sidebyside / topbottom / crossview
(populateSideBySidePipeline specifies no depth texture)
- post-processing disabled, 3d_mode = interlaced
(probably, can't test since it's broken)
(populateInterlacedPipeline specifies no depth texture)
With post-processing disabled, the world is rendered to the TextureBufferOutput
created in the functions listed above, so a depth buffer is needed
(-> this workaround is needed).
With post-processing enabled, only a fullscreen rectangle is rendered to
this TextureBufferOutput, so a depth buffer isn't actually needed.
But: These pipeline steps shouldn't rely on what ends up being rendered to
the TextureBufferOutput they provide, since that may change.
This workaround was added in 1e9640395468beb53f70303ef6b7aa72e395b7b4 /
https://irc.minetest.net/minetest-dev/2022-10-04#i_6021940
This workaround should be replaced by explicitly configuring depth
textures where needed.
----------------------------------------
2024-11-15 11:38:56 +01:00
# Note: Undersampling is currently not supported if the "3d_mode" setting is set
# to a non-default value.
2022-06-30 20:18:09 +01:00
undersampling (Undersampling) int 1 1 8
2015-10-15 21:32:31 +02:00
2023-10-29 18:24:39 +07:00
[**3D]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D support.
# Currently supported:
# - none: no 3d output.
# - anaglyph: cyan/magenta color 3d.
2023-10-29 18:24:39 +07:00
# - interlaced: odd/even line based polarization screen support.
2022-06-30 20:18:09 +01:00
# - topbottom: split screen top/bottom.
# - sidebyside: split screen side by side.
# - crossview: Cross-eyed 3d
2022-12-25 16:57:39 +01:00
3d_mode (3D mode) enum none none,anaglyph,interlaced,topbottom,sidebyside,crossview
2014-07-03 07:46:19 +02:00
2022-06-30 20:18:09 +01:00
# Strength of 3D mode parallax.
3d_paralax_strength (3D mode parallax strength) float 0.025 -0.087 0.087
2014-07-03 07:46:19 +02:00
2022-06-30 20:18:09 +01:00
[**Bobbing]
2014-07-03 07:46:19 +02:00
2022-06-30 20:18:09 +01:00
# Arm inertia, gives a more realistic movement of
# the arm when the camera moves.
arm_inertia (Arm inertia) bool true
2014-07-03 07:46:19 +02:00
2022-06-30 20:18:09 +01:00
# Enable view bobbing and amount of view bobbing.
# For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double.
view_bobbing_amount (View bobbing factor) float 1.0 0.0 7.9
2014-07-03 07:46:19 +02:00
2022-06-30 20:18:09 +01:00
[**Camera]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Field of view in degrees.
fov (Field of view) int 72 45 160
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Alters the light curve by applying 'gamma correction' to it.
# Higher values make middle and lower light levels brighter.
# Value '1.0' leaves the light curve unaltered.
# This only has significant effect on daylight and artificial
# light, it has very little effect on natural night light.
display_gamma (Light curve gamma) float 1.0 0.33 3.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 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.
2023-04-14 22:32:25 +01:00
ambient_occlusion_gamma (Ambient occlusion gamma) float 1.8 0.25 4.0
2017-04-07 17:10:26 +02:00
2022-06-30 20:18:09 +01:00
[**Screenshots]
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Path to save screenshots at. Can be an absolute or relative path.
# The folder will be created if it doesn't already exist.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
screenshot_path (Screenshot folder) path screenshots
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Format of screenshots.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
screenshot_format (Screenshot format) enum png png,jpg
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Screenshot quality. Only used for JPEG format.
# 1 means worst quality; 100 means best quality.
# Use 0 for default quality.
2023-08-05 17:55:27 +01:00
#
# Requires: desktop
2022-06-30 20:18:09 +01:00
screenshot_quality (Screenshot quality) int 0 0 100
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
[**Node and Entity Highlighting]
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Method used to highlight selected object.
node_highlighting (Node highlighting) enum box box,halo,none
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Show entity selection boxes
# A restart is required after changing this.
show_entity_selectionbox (Show entity selection boxes) bool false
2016-12-18 23:34:52 +01:00
2022-06-30 20:18:09 +01:00
# Selection box border color (R,G,B).
selectionbox_color (Selection box color) string (0,0,0)
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Width of the selection box lines around nodes.
selectionbox_width (Selection box width) int 2 1 5
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Crosshair color (R,G,B).
# Also controls the object crosshair color
crosshair_color (Crosshair color) string (255,255,255)
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Crosshair alpha (opaqueness, between 0 and 255).
# This also applies to the object crosshair.
crosshair_alpha (Crosshair alpha) int 255 0 255
2021-02-17 19:51:28 +00:00
2022-06-30 20:18:09 +01:00
[**Fog]
2016-02-22 04:26:32 +01:00
2024-05-14 18:31:51 +02:00
# Whether to fog out the end of the visible area.
2015-10-18 10:41:52 +02:00
enable_fog (Fog) bool true
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Make fog and sky colors depend on daytime (dawn/sunset) and view direction.
2023-08-05 17:55:27 +01:00
#
# Requires: enable_fog
2022-06-30 20:18:09 +01:00
directional_colored_fog (Colored fog) bool true
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Fraction of the visible distance at which fog starts to be rendered
2023-08-05 17:55:27 +01:00
#
# Requires: enable_fog
2022-06-30 20:18:09 +01:00
fog_start (Fog start) float 0.4 0.0 0.99
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Clouds]
2021-12-30 00:59:53 +03:00
2025-01-08 10:56:45 +01:00
# Allow clouds to look 3D instead of flat.
2015-10-18 10:41:52 +02:00
enable_3d_clouds (3D clouds) bool true
2015-10-15 21:32:31 +02:00
2024-09-24 20:14:27 +02:00
# Use smooth cloud shading.
#
2025-01-08 10:56:45 +01:00
# Requires: enable_3d_clouds
2024-09-24 20:14:27 +02:00
soft_clouds (Soft clouds) bool false
2022-06-30 20:18:09 +01:00
[**Filtering and Antialiasing]
2015-10-15 21:32:31 +02:00
2023-11-19 20:28:37 +01:00
# Use mipmaps when scaling textures. May slightly increase performance,
2023-10-29 18:24:39 +07:00
# especially when using a high-resolution texture pack.
2023-08-24 10:50:47 +02:00
# Gamma-correct downscaling is not supported.
2015-10-15 21:32:31 +02:00
mip_map (Mipmapping) bool false
2015-10-18 10:41:52 +02:00
2023-11-19 20:28:37 +01:00
# Use bilinear filtering when scaling textures.
2015-10-15 21:32:31 +02:00
bilinear_filter (Bilinear filtering) bool false
2015-10-18 10:41:52 +02:00
2023-11-19 20:28:37 +01:00
# Use trilinear filtering when scaling textures.
2023-08-24 10:50:47 +02:00
# If both bilinear and trilinear filtering are enabled, trilinear filtering
# is applied.
2015-10-15 21:32:31 +02:00
trilinear_filter (Trilinear filtering) bool false
2023-08-24 10:50:47 +02:00
# Use anisotropic filtering when looking at textures from an angle.
2024-12-30 20:37:16 +01:00
# This provides a significant improvement when used together with mipmapping.
2023-08-24 10:50:47 +02:00
anisotropic_filter (Anisotropic filtering) bool false
2015-10-15 21:32:31 +02:00
2023-06-28 05:30:08 +02:00
# Select the antialiasing method to apply.
#
# * None - No antialiasing (default)
#
2024-02-15 08:25:33 -08:00
# * FSAA - Hardware-provided full-screen antialiasing
2023-06-28 05:30:08 +02:00
# A.K.A multi-sample antialiasing (MSAA)
# Smoothens out block edges but does not affect the insides of textures.
2024-11-18 14:06:48 +01:00
#
# If Post Processing is disabled, changing FSAA requires a restart.
# Also, if Post Processing is disabled, FSAA will not work together with
# undersampling or a non-default "3d_mode" setting.
2023-06-28 05:30:08 +02:00
#
2024-11-13 14:24:01 +01:00
# * FXAA - Fast approximate antialiasing
2023-06-28 05:30:08 +02:00
# Applies a post-processing filter to detect and smoothen high-contrast edges.
# Provides balance between speed and image quality.
#
2024-11-13 14:24:01 +01:00
# * SSAA - Super-sampling antialiasing
2023-06-28 05:30:08 +02:00
# Renders higher-resolution image of the scene, then scales down to reduce
# the aliasing effects. This is the slowest and the most accurate method.
antialiasing (Antialiasing method) enum none none,fsaa,fxaa,ssaa
2023-10-29 18:24:39 +07:00
# Defines the size of the sampling grid for FSAA and SSAA antialiasing methods.
2023-06-28 05:30:08 +02:00
# Value of 2 means taking 2x2 = 4 samples.
fsaa (Anti-aliasing scale) enum 2 2,4,8,16
2015-10-18 10:41:52 +02:00
2023-04-14 22:32:25 +01:00
[**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
# Use raytraced occlusion culling in the new culler.
# This flag enables use of raytraced occlusion culling test for
# client mesh sizes smaller than 4x4x4 map blocks.
enable_raytraced_culling (Enable Raytraced Culling) bool true
2017-01-12 12:19:36 +03:00
2024-10-03 11:37:04 +02:00
[*Effects]
# Allows liquids to be translucent.
translucent_liquids (Translucent liquids) bool true
# Leaves style:
# - Fancy: all faces visible
# - Simple: only outer faces
# - 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.
smooth_lighting (Smooth lighting) bool true
# Enables tradeoffs that reduce CPU load or increase rendering performance
# at the expense of minor visual glitches that do not impact game playability.
performance_tradeoffs (Tradeoffs for performance) bool false
2024-11-28 10:38:51 +01:00
2022-06-30 20:18:09 +01:00
[**Waving Nodes]
# Set to true to enable waving leaves.
enable_waving_leaves (Waving leaves) bool false
# Set to true to enable waving plants.
enable_waving_plants (Waving plants) bool false
2015-10-15 21:32:31 +02:00
2019-10-25 22:29:02 +02:00
# Set to true to enable waving liquids (like water).
enable_waving_water (Waving liquids) bool false
2015-10-15 21:32:31 +02:00
2019-10-25 22:29:02 +02:00
# The maximum height of the surface of waving liquids.
2019-12-21 06:33:59 -08:00
# 4.0 = Wave height is two nodes.
2019-10-25 22:29:02 +02:00
# 0.0 = Wave doesn't move at all.
2019-12-21 06:33:59 -08:00
# Default is 1.0 (1/2 node).
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_waving_water
2019-12-21 06:33:59 -08:00
water_wave_height (Waving liquids wave height) float 1.0 0.0 4.0
2015-10-18 10:41:52 +02:00
2019-10-25 22:29:02 +02:00
# Length of liquid waves.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_waving_water
2019-10-25 22:29:02 +02:00
water_wave_length (Waving liquids wavelength) float 20.0 0.1
2015-10-18 10:41:52 +02:00
2019-10-25 22:29:02 +02:00
# How fast liquid waves will move. Higher = faster.
# If negative, liquid waves will move backwards.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_waving_water
2019-10-25 22:29:02 +02:00
water_wave_speed (Waving liquids wave speed) float 5.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Dynamic shadows]
2022-01-31 21:48:14 +00:00
# Set to true to enable Shadow Mapping.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: opengl
2022-01-31 21:48:14 +00:00
enable_dynamic_shadows (Dynamic shadows) bool false
2022-03-26 16:58:26 +01:00
# Set the shadow strength gamma.
# Adjusts the intensity of in-game dynamic shadows.
2022-01-31 21:48:14 +00:00
# Lower value means lighter shadows, higher value means darker shadows.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2022-03-26 16:58:26 +01:00
shadow_strength_gamma (Shadow strength gamma) float 1.0 0.1 10.0
2022-01-31 21:48:14 +00:00
# Maximum distance to render shadows.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2023-08-05 17:33:18 +01:00
shadow_map_max_distance (Shadow map max distance in nodes to render shadows) float 140.0 10.0 1000.0
2022-01-31 21:48:14 +00:00
# Texture size to render the shadow map on.
# This must be a power of two.
# Bigger numbers create better shadows but it is also more expensive.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2023-04-14 22:32:25 +01:00
shadow_map_texture_size (Shadow map texture size) int 2048 128 8192
2022-01-31 21:48:14 +00:00
# Sets shadow texture quality to 32 bits.
# On false, 16 bits texture will be used.
# This can cause much more artifacts in the shadow.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2022-01-31 21:48:14 +00:00
shadow_map_texture_32bit (Shadow map texture in 32 bits) bool true
2023-08-05 17:55:27 +01:00
# Define shadow filtering quality.
# This simulates the soft shadows effect by applying a PCF or Poisson disk
# but also uses more resources.
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2022-01-31 21:48:14 +00:00
shadow_filters (Shadow filter quality) enum 1 0,1,2
2025-02-09 13:15:58 +01:00
# Enable colored shadows for transculent nodes.
# This is expensive.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2022-01-31 21:48:14 +00:00
shadow_map_color (Colored shadows) bool false
# Set the soft shadow radius size.
# Lower values mean sharper shadows, bigger values mean softer shadows.
2022-05-21 16:49:30 +02:00
# Minimum value: 1.0; maximum value: 15.0
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2022-05-21 16:49:30 +02:00
shadow_soft_radius (Soft shadow radius) float 5.0 1.0 15.0
2022-01-31 21:48:14 +00:00
2023-03-24 12:34:21 +01:00
# Set the default tilt of Sun/Moon orbit in degrees.
# Games may change orbit tilt via API.
# Value of 0 means no tilt / vertical orbit.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows, opengl
2023-03-24 12:34:21 +01:00
shadow_sky_body_orbit_tilt (Sky Body Orbit Tilt) float 0.0 -60.0 60.0
2023-04-14 22:32:25 +01:00
[**Post Processing]
2022-09-29 20:34:05 +02:00
2024-02-15 08:25:33 -08:00
# Enables the post processing pipeline.
enable_post_processing (Enable Post Processing) bool true
2023-04-14 22:32:25 +01:00
# Enables Hable's 'Uncharted 2' filmic tone mapping.
# Simulates the tone curve of photographic film and how this approximates the
# appearance of high dynamic range images. Mid-range contrast is slightly
# enhanced, highlights and shadows are gradually compressed.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing
2023-04-14 22:32:25 +01:00
tone_mapping (Filmic tone mapping) bool false
2023-01-06 22:33:25 +01:00
# Enable automatic exposure correction
# When enabled, the post-processing engine will
# automatically adjust to the brightness of the scene,
# simulating the behavior of human eye.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing
2023-01-06 22:33:25 +01:00
enable_auto_exposure (Enable Automatic Exposure) bool false
2023-04-14 22:32:25 +01:00
# Set the exposure compensation in EV units.
# Value of 0.0 (default) means no exposure compensation.
# Range: from -1 to 1.0
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing, enable_auto_exposure
2023-04-14 22:32:25 +01:00
exposure_compensation (Exposure compensation) float 0.0 -1.0 1.0
2022-09-29 20:34:05 +02:00
2023-12-19 20:18:11 +01:00
# Apply dithering to reduce color banding artifacts.
# Dithering significantly increases the size of losslessly-compressed
# screenshots and it works incorrectly if the display or operating system
# performs additional dithering or if the color channels are not quantized
# to 8 bits.
# With OpenGL ES, dithering only works if the shader supports high
# floating-point precision and it may have a higher performance impact.
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing
2023-12-19 20:18:11 +01:00
debanding (Enable Debanding) bool true
2022-09-29 20:34:05 +02:00
# Set to true to enable bloom effect.
# Bright colors will bleed over the neighboring objects.
2023-08-05 17:55:27 +01:00
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing
2022-09-29 20:34:05 +02:00
enable_bloom (Enable Bloom) bool false
2023-10-23 17:05:31 -07:00
# Set to true to enable volumetric lighting effect (a.k.a. "Godrays").
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing, enable_bloom
2023-10-23 17:05:31 -07:00
enable_volumetric_lighting (Volumetric lighting) bool false
2022-09-29 20:34:05 +02:00
2024-09-24 20:14:27 +02:00
[**Other Effects]
# Simulate translucency when looking at foliage in the sunlight.
#
2024-11-13 14:24:01 +01:00
# Requires: enable_dynamic_shadows
2024-09-24 20:14:27 +02:00
enable_translucent_foliage (Translucent foliage) bool false
2024-10-03 11:37:04 +02:00
# When enabled, liquid reflections are simulated.
#
2024-11-13 14:24:01 +01:00
# Requires: enable_waving_water, enable_dynamic_shadows
2024-10-03 11:37:04 +02:00
enable_water_reflections (Liquid reflections) bool false
2022-06-30 20:18:09 +01:00
[*Audio]
2017-06-26 20:03:48 +02:00
2022-06-30 20:18:09 +01:00
# Volume of all sounds.
# Requires the sound system to be enabled.
2023-04-14 22:32:25 +01:00
sound_volume (Volume) float 0.8 0.0 1.0
2015-10-18 10:41:52 +02:00
2023-12-11 01:11:39 +07:00
# Volume multiplier when the window is unfocused.
sound_volume_unfocused (Volume when unfocused) float 0.3 0.0 1.0
2025-01-08 10:56:45 +01:00
# Whether to mute sounds. You can unmute sounds at any time.
2022-06-30 20:18:09 +01:00
# In-game, you can toggle the mute state with the mute key or by using the
# pause menu.
mute_sound (Mute sound) bool false
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
[*User Interfaces]
2017-09-10 03:17:47 +01:00
2024-01-15 19:27:24 +01:00
# Set the language. By default, the system language is used.
2022-06-30 20:18:09 +01:00
# A restart is required after changing this.
language (Language) enum ,be,bg,ca,cs,da,de,el,en,eo,es,et,eu,fi,fr,gd,gl,hu,id,it,ja,jbo,kk,ko,lt,lv,ms,nb,nl,nn,pl,pt,pt_BR,ro,ru,sk,sl,sr_Cyrl,sr_Latn,sv,sw,tr,uk,vi,zh_CN,zh_TW
2015-10-18 10:41:52 +02:00
2023-10-29 18:24:39 +07:00
[**GUI]
2017-10-07 09:11:48 -04:00
2024-06-02 12:58:41 -07:00
# When enabled, the GUI is optimized to be more usable on touchscreens.
# Whether this is enabled by default depends on your hardware form-factor.
touch_gui (Optimize GUI for touchscreens) bool false
2022-06-30 20:18:09 +01:00
# 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 0.5 20
2015-10-18 10:41:52 +02:00
2024-07-12 17:27:21 +02:00
# Enables smooth scrolling.
smooth_scrolling (Smooth scrolling) bool true
2022-06-30 20:18:09 +01:00
# Enables animation of inventory items.
inventory_items_animations (Inventory items animations) bool false
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Formspec full-screen background opacity (between 0 and 255).
formspec_fullscreen_bg_opacity (Formspec Full-Screen Background Opacity) int 140 0 255
2017-05-05 13:47:11 +02:00
2022-06-30 20:18:09 +01:00
# Formspec full-screen background color (R,G,B).
formspec_fullscreen_bg_color (Formspec Full-Screen Background Color) string (0,0,0)
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# 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
2019-10-24 01:08:49 +01:00
2022-06-30 20:18:09 +01:00
# Delay showing tooltips, stated in milliseconds.
tooltip_show_delay (Tooltip delay) int 400 0 18446744073709551615
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Append item name to tooltip.
tooltip_append_itemname (Append item name) bool false
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Use a cloud animation for the main menu background.
menu_clouds (Clouds in menu) bool true
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
[**HUD]
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Modifies the size of the HUD elements.
hud_scaling (HUD scaling) float 1.0 0.5 20
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Whether name tag backgrounds should be shown by default.
# Mods may still set a background.
show_nametag_backgrounds (Show name tag backgrounds by default) bool true
2015-10-18 10:41:52 +02:00
2024-08-24 13:32:39 +02:00
# 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
2024-10-26 17:40:39 +02:00
# 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 0.001 1.0
2022-06-30 20:18:09 +01:00
[**Chat]
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Maximum number of recent chat messages to show
recent_chat_messages (Recent Chat Messages) int 6 2 20
2020-05-22 01:32:20 +01:00
2017-01-29 16:10:17 +00:00
# In-game chat console height, between 0.1 (10%) and 1.0 (100%).
2017-12-17 04:38:54 +00:00
console_height (Console height) float 0.6 0.1 1.0
2017-01-29 16:10:17 +00:00
2015-10-18 10:41:52 +02:00
# 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
2022-06-30 20:18:09 +01:00
# Optional override for chat weblink color.
2023-04-14 22:32:25 +01:00
chat_weblink_color (Weblink color) string #8888FF
2017-08-29 19:25:16 +02:00
2022-06-30 20:18:09 +01:00
# 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
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
[**Content Repository]
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# The URL for the content repository
2024-11-02 20:40:33 +00:00
contentdb_url (ContentDB URL) string https://content.luanti.org
2015-10-18 10:41:52 +02:00
2024-10-28 19:40:18 +01:00
# If enabled and you have ContentDB packages installed, Luanti may contact ContentDB to
2024-07-22 15:35:47 +01:00
# check for package updates when opening the mainmenu.
contentdb_enable_updates_indicator (Enable updates available indicator on content tab) bool true
2022-06-30 20:18:09 +01:00
# 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.
2024-10-28 19:40:18 +01:00
# These flags are independent from Luanti versions,
2024-11-02 20:40:33 +00:00
# so see a full list at https://content.luanti.org/help/content_flags/
2022-06-30 20:18:09 +01:00
contentdb_flag_blacklist (ContentDB Flag Blacklist) string nonfree, desktop_default
2017-10-15 20:28:42 -03:00
2022-06-30 20:18:09 +01:00
# Maximum number of concurrent downloads. Downloads exceeding this limit will be queued.
# This should be lower than curl_parallel_limit.
contentdb_max_concurrent_downloads (ContentDB Max Concurrent Downloads) int 3 1
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
[Client and Server]
2017-04-07 17:10:26 +02:00
2025-04-01 07:55:47 -04:00
[*Client] [client]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Save the map received by the client on disk.
enable_local_map_saving (Saving map received from server) bool false
2017-02-18 21:53:05 +03:00
2022-06-30 20:18:09 +01:00
# URL to the server list displayed in the Multiplayer Tab.
2025-04-01 07:55:47 -04:00
serverlist_url (Serverlist URL) [common] string https://servers.luanti.org
2017-04-15 10:55:52 +03:00
2025-02-09 13:15:58 +01:00
# If enabled, server account registration is separate from login in the UI.
# If disabled, connecting to a server will automatically register a new account.
2022-06-30 20:18:09 +01:00
enable_split_login_register (Enable split login/register) bool true
2015-10-15 21:32:31 +02:00
2024-10-28 19:40:18 +01:00
# URL to JSON file which provides information about the newest Luanti release.
2024-03-30 11:06:28 +01:00
# If this is empty the engine will never check for updates.
2025-02-07 05:16:24 +11:00
update_information_url (Update information URL) string https://www.luanti.org/release_info.json
2022-08-02 21:34:17 +02:00
2025-04-01 07:55:47 -04:00
[*Server] [server]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Name of the player.
2025-02-09 13:15:58 +01:00
# When running a server, a client connecting with this name is admin.
2022-06-30 20:18:09 +01:00
# When starting from the main menu, this is overridden.
name (Admin name) string
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Serverlist and MOTD]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Name of the server, to be displayed when players join and in the serverlist.
2024-10-28 19:40:18 +01:00
server_name (Server name) string Luanti server
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Description of server, to be displayed when players join and in the serverlist.
server_description (Server description) string mine here
2016-01-24 14:19:17 +01:00
2022-06-30 20:18:09 +01:00
# Domain name of server, to be displayed in the serverlist.
2024-11-02 21:40:45 +01:00
server_address (Server address) string game.example.net
2016-12-03 21:43:25 -08:00
2022-06-30 20:18:09 +01:00
# Homepage of server, to be displayed in the serverlist.
2024-11-02 21:40:45 +01:00
server_url (Server URL) string https://game.example.net
2017-04-07 17:10:26 +02:00
2022-06-30 20:18:09 +01:00
# Automatically report to the serverlist.
server_announce (Announce server) bool false
2017-10-15 10:34:14 +03:00
2024-08-12 02:19:53 +08:00
# 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
2022-06-30 20:18:09 +01:00
# Announce to this serverlist.
2025-04-01 07:55:47 -04:00
serverlist_url (Serverlist URL) [common] string https://servers.luanti.org
2017-10-15 10:34:14 +03:00
2022-06-30 20:18:09 +01:00
# Message of the day displayed to players connecting.
motd (Message of the day) string
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Maximum number of players that can be connected simultaneously.
max_users (Maximum users) int 15 0 65535
2022-04-02 10:42:27 +02:00
2022-06-30 20:18:09 +01:00
# If this is set, players will always (re)spawn at the given position.
2023-10-29 18:24:39 +07:00
static_spawnpoint (Static spawn point) string
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Networking]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Network port to listen (UDP).
# This value will be overridden when starting from the main menu.
port (Server port) int 30000 1 65535
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# The network interface that the server listens on.
bind_address (Bind address) string
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 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
2015-10-15 21:32:31 +02:00
2023-12-21 12:53:30 -05:00
# Define the oldest clients allowed to connect.
# 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.
# This allows for more fine-grained control than strict_protocol_version_checking.
2024-10-28 19:40:18 +01:00
# Luanti still enforces its own internal minimum, and enabling
2023-12-21 12:53:30 -05:00
# strict_protocol_version_checking will effectively override this.
protocol_version_min (Protocol version minimum) int 1 1 65535
2022-06-30 20:18:09 +01:00
# 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
2015-10-15 21:32:31 +02:00
2025-01-31 17:14:37 +01:00
# Enable IPv6 support for server.
# Note that clients will be able to connect with both IPv4 and IPv6.
2022-06-30 20:18:09 +01:00
# Ignored if bind_address is set.
2025-02-09 13:15:58 +01:00
#
# Requires: enable_ipv6
2025-01-31 17:14:37 +01:00
ipv6_server (IPv6 server) bool true
2017-09-15 14:31:32 +02:00
2025-04-01 07:55:47 -04:00
[*Server Security] [server]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# New users need to input this password.
default_password (Default password) string
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# If enabled, players cannot join without a password or change theirs to an empty password.
disallow_empty_password (Disallow empty passwords) bool false
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 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
2019-09-10 15:11:26 +02:00
2022-06-30 20:18:09 +01:00
# Privileges that players with basic_privs can grant
basic_privs (Basic privileges) string interact, shout
2021-12-30 12:54:21 -08:00
2024-10-11 15:01:22 +05:00
# Server anticheat configuration.
# Flags are positive. Uncheck the flag to disable corresponding anticheat module.
anticheat_flags (Anticheat flags) flags digging,interaction,movement digging,interaction,movement
# Tolerance of movement cheat detector.
# Increase the value if players experience stuttery movement.
anticheat_movement_tolerance (Anticheat movement tolerance) float 1.0 1.0
2019-09-10 15:11:26 +02:00
2022-06-30 20:18:09 +01:00
# If enabled, actions are recorded for rollback.
# This option is only read when server starts.
enable_rollback_recording (Rollback recording) bool false
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Client-side Modding]
2021-12-30 12:54:21 -08:00
2022-06-30 20:18:09 +01:00
# 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)
csm_restriction_flags (Client side modding restrictions) int 62 0 63
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# If the CSM restriction for node range is enabled, get_node calls are limited
# to this distance from the player to the node.
2023-10-29 18:24:39 +07:00
csm_restriction_noderange (Client-side node lookup range restriction) int 0 0 4294967295
2019-09-10 15:11:26 +02:00
2022-06-30 20:18:09 +01:00
[**Chat]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Remove color codes from incoming chat messages
# Use this to stop players from being able to use color in their messages
strip_color_codes (Strip color codes) bool false
2019-09-10 15:11:26 +02:00
2022-06-30 20:18:09 +01:00
# 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
2020-05-24 14:24:13 +02:00
2023-10-29 18:24:39 +07:00
# Number of messages a player may send per 10 seconds.
2023-04-14 22:32:25 +01:00
chat_message_limit_per_10sec (Chat message count limit) float 8.0 1.0
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Kick players who sent more than X messages per 10 seconds.
chat_message_limit_trigger_kick (Chat message kick threshold) int 50 1 65535
2016-03-07 19:09:07 -03:00
2025-04-01 07:55:47 -04:00
[*Server Gameplay] [server]
2016-03-07 19:09:07 -03:00
2022-06-30 20:18:09 +01:00
# 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 0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Time of day when a new world is started, in millihours (0-23999).
2025-04-01 07:55:47 -04:00
world_start_time (World start time) [world_creation] int 6125 0 23999
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 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 -1
2021-09-26 12:04:09 -04:00
2022-06-30 20:18:09 +01:00
# Specifies the default stack size of nodes, items and tools.
# Note that mods or games may explicitly set a stack for certain (or all) items.
default_stack_max (Default stack size) int 99 1 65535
2017-04-07 17:10:26 +02:00
2022-06-30 20:18:09 +01:00
[**Physics]
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Horizontal and vertical acceleration on ground or when climbing,
# in nodes per second per second.
movement_acceleration_default (Default acceleration) float 3.0 0.0
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# Horizontal acceleration in air when jumping or falling,
# in nodes per second per second.
movement_acceleration_air (Acceleration in air) float 2.0 0.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Horizontal and vertical acceleration in fast mode,
# in nodes per second per second.
movement_acceleration_fast (Fast mode acceleration) float 10.0 0.0
2017-09-26 08:17:50 +02:00
2022-06-30 20:18:09 +01:00
# Walking and flying speed, in nodes per second.
movement_speed_walk (Walking speed) float 4.0 0.0
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Sneaking speed, in nodes per second.
movement_speed_crouch (Sneaking speed) float 1.35 0.0
2021-06-20 11:20:24 -04:00
2022-06-30 20:18:09 +01:00
# Walking, flying and climbing speed in fast mode, in nodes per second.
movement_speed_fast (Fast mode speed) float 20.0 0.0
2021-06-20 11:20:24 -04:00
2022-06-30 20:18:09 +01:00
# Vertical climbing speed, in nodes per second.
movement_speed_climb (Climbing speed) float 3.0 0.0
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Initial vertical speed when jumping, in nodes per second.
movement_speed_jump (Jumping speed) float 6.5 0.0
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# 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
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Maximum liquid resistance. Controls deceleration when entering liquid at
# high speed.
movement_liquid_fluidity_smooth (Liquid fluidity smoothing) float 0.5
2020-04-27 08:31:37 +02:00
2022-06-30 20:18:09 +01:00
# Controls sinking speed in liquid when idling. Negative values will cause
# you to rise instead.
movement_liquid_sink (Liquid sinking) float 10.0
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Acceleration of gravity, in nodes per second per second.
movement_gravity (Gravity) float 9.81
2017-08-27 23:48:51 +01:00
2025-04-01 07:55:47 -04:00
[Mapgen] [world_creation]
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# 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
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Name of map generator to be used when creating a new world.
# Creating a world in the main menu will override this.
# Current mapgens in a highly unstable state:
# - The optional floatlands of v7 (disabled by default).
mg_name (Mapgen name) enum v7 v7,valleys,carpathian,v5,flat,fractal,singlenode,v6
2017-08-27 23:48:51 +01:00
2022-06-30 20:18:09 +01:00
# Water surface level of the world.
water_level (Water level) int 1 -31000 31000
2019-01-27 02:26:37 +07:00
2022-06-30 20:18:09 +01:00
# From how far blocks are generated for clients, stated in mapblocks (16 nodes).
2025-04-01 07:55:47 -04:00
max_block_generate_distance (Max block generate distance) [server] int 10 1 32767
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).
# Only mapchunks completely within the mapgen limit are generated.
# Value is stored per-world.
mapgen_limit (Map generation limit) int 31007 0 31007
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Global map generation attributes.
# In Mapgen v6 the 'decorations' flag controls all decorations except trees
# and jungle grass, in all other mapgens this flag controls all decorations.
2024-09-04 15:19:00 +02:00
mg_flags (Mapgen flags) flags caves,dungeons,light,decorations,biomes,ores caves,dungeons,light,decorations,biomes,ores
2015-10-15 21:32:31 +02:00
2023-10-29 18:24:39 +07:00
[*Biome API]
2022-04-24 20:09:11 +01:00
2022-06-30 20:18:09 +01:00
# Temperature variation for biomes.
mg_biome_np_heat (Heat noise) noise_params_2d 50, 50, (1000, 1000, 1000), 5349, 3, 0.5, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Small-scale temperature variation for blending biomes on borders.
mg_biome_np_heat_blend (Heat blend noise) noise_params_2d 0, 1.5, (8, 8, 8), 13, 2, 1.0, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Humidity variation for biomes.
mg_biome_np_humidity (Humidity noise) noise_params_2d 50, 50, (1000, 1000, 1000), 842, 3, 0.5, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Small-scale humidity variation for blending biomes on borders.
mg_biome_np_humidity_blend (Humidity blend noise) noise_params_2d 0, 1.5, (8, 8, 8), 90003, 2, 1.0, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen V5]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen v5.
2024-09-04 15:19:00 +02:00
mgv5_spflags (Mapgen V5 specific flags) flags caverns caverns
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Controls width of tunnels, a smaller value creates wider tunnels.
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
mgv5_cave_width (Cave width) float 0.09
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y of upper limit of large caves.
mgv5_large_cave_depth (Large cave depth) int -256 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of small caves per mapchunk.
mgv5_small_cave_num_min (Small cave minimum number) int 0 0 256
2017-06-10 12:49:44 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of small caves per mapchunk.
mgv5_small_cave_num_max (Small cave maximum number) int 0 0 256
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of large caves per mapchunk.
mgv5_large_cave_num_min (Large cave minimum number) int 0 0 64
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of large caves per mapchunk.
mgv5_large_cave_num_max (Large cave maximum number) int 2 0 64
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Proportion of large caves that contain liquid.
mgv5_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-level of cavern upper limit.
mgv5_cavern_limit (Cavern limit) int -256 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-distance over which caverns expand to full size.
mgv5_cavern_taper (Cavern taper) int 256 0 32767
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines full size of caverns, smaller values create larger caverns.
mgv5_cavern_threshold (Cavern threshold) float 0.7
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of dungeons.
mgv5_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of dungeons.
mgv5_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Noises]
2020-12-09 14:30:37 -08:00
2022-06-30 20:18:09 +01:00
# Variation of biome filler depth.
mgv5_np_filler_depth (Filler depth noise) noise_params_2d 0, 1, (150, 150, 150), 261, 4, 0.7, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Variation of terrain vertical scale.
# When noise is < -0.55 terrain is near-flat.
mgv5_np_factor (Factor noise) noise_params_2d 0, 1, (250, 250, 250), 920381, 3, 0.45, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-level of average terrain surface.
mgv5_np_height (Height noise) noise_params_2d 0, 10, (250, 250, 250), 84174, 4, 0.5, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# First of two 3D noises that together define tunnels.
mgv5_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Second of two 3D noises that together define tunnels.
mgv5_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise defining giant caverns.
mgv5_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise defining terrain.
mgv5_np_ground (Ground noise) noise_params_3d 0, 40, (80, 80, 80), 983240, 4, 0.55, 2.0, eased
2020-04-13 10:53:10 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise that determines number of dungeons per mapchunk.
mgv5_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen V6]
2017-04-07 17:10:26 +02:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen v6.
# The 'snowbiomes' flag enables the new 5 biome system.
# When the 'snowbiomes' flag is enabled jungles are automatically enabled and
# the 'jungles' flag is ignored.
2024-01-30 21:52:04 +01:00
# The 'temples' flag disables generation of desert temples. Normal dungeons will appear instead.
2024-09-04 15:19:00 +02:00
mgv6_spflags (Mapgen V6 specific flags) flags jungles,biomeblend,mudflow,snowbiomes,noflat,trees,temples jungles,biomeblend,mudflow,snowbiomes,flat,trees,temples
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Deserts occur when np_biome exceeds this value.
# When the 'snowbiomes' flag is enabled, this is ignored.
mgv6_freq_desert (Desert noise threshold) float 0.45
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Sandy beaches occur when np_beach exceeds this value.
mgv6_freq_beach (Beach noise threshold) float 0.15
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of dungeons.
mgv6_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2016-04-09 16:07:45 +01:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of dungeons.
mgv6_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[**Noises]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-level of lower terrain and seabed.
mgv6_np_terrain_base (Terrain base noise) noise_params_2d -4, 20, (250, 250, 250), 82341, 5, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-level of higher terrain that creates cliffs.
mgv6_np_terrain_higher (Terrain higher noise) noise_params_2d 20, 16, (500, 500, 500), 85039, 5, 0.6, 2.0, eased
2017-09-26 00:11:20 +02:00
2022-06-30 20:18:09 +01:00
# Varies steepness of cliffs.
mgv6_np_steepness (Steepness noise) noise_params_2d 0.85, 0.5, (125, 125, 125), -932, 5, 0.7, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines distribution of higher terrain.
mgv6_np_height_select (Height select noise) noise_params_2d 0.5, 1, (250, 250, 250), 4213, 5, 0.69, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Varies depth of biome surface nodes.
mgv6_np_mud (Mud noise) noise_params_2d 4, 2, (200, 200, 200), 91013, 3, 0.55, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines areas with sandy beaches.
mgv6_np_beach (Beach noise) noise_params_2d 0, 1, (250, 250, 250), 59420, 3, 0.50, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Temperature variation for biomes.
mgv6_np_biome (Biome noise) noise_params_2d 0, 1, (500, 500, 500), 9130, 3, 0.50, 2.0, eased
2019-08-08 21:34:46 +05:30
2022-06-30 20:18:09 +01:00
# Variation of number of caves.
mgv6_np_cave (Cave noise) noise_params_2d 6, 6, (250, 250, 250), 34329, 3, 0.50, 2.0, eased
2021-03-13 11:18:25 +01:00
2022-06-30 20:18:09 +01:00
# Humidity variation for biomes.
mgv6_np_humidity (Humidity noise) noise_params_2d 0.5, 0.5, (500, 500, 500), 72384, 3, 0.50, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines tree areas and tree density.
mgv6_np_trees (Trees noise) noise_params_2d 0, 1, (125, 125, 125), 2, 4, 0.66, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines areas where trees have apples.
mgv6_np_apple_trees (Apple trees noise) noise_params_2d 0, 1, (100, 100, 100), 342902, 3, 0.45, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen V7]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen v7.
# 'ridges': Rivers.
# 'floatlands': Floating land masses in the atmosphere.
# 'caverns': Giant caves deep underground.
2024-09-04 15:19:00 +02:00
mgv7_spflags (Mapgen V7 specific flags) flags mountains,ridges,nofloatlands,caverns mountains,ridges,floatlands,caverns
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y of mountain density gradient zero level. Used to shift mountains vertically.
mgv7_mount_zero_level (Mountain zero level) int 0 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of floatlands.
mgv7_floatland_ymin (Floatland minimum Y) int 1024 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of floatlands.
mgv7_floatland_ymax (Floatland maximum Y) int 4096 -31000 31000
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-distance over which floatlands taper from full density to nothing.
# Tapering starts at this distance from the Y limit.
# For a solid floatland layer, this controls the height of hills/mountains.
# Must be less than or equal to half the distance between the Y limits.
mgv7_floatland_taper (Floatland tapering distance) int 256 0 32767
2015-10-15 21:32:31 +02:00
2022-11-09 17:57:19 +01:00
# Exponent of the floatland tapering. Alters the tapering behavior.
2022-06-30 20:18:09 +01:00
# Value = 1.0 creates a uniform, linear tapering.
# Values > 1.0 create a smooth tapering suitable for the default separated
# floatlands.
# Values < 1.0 (for example 0.25) create a more defined surface level with
# flatter lowlands, suitable for a solid floatland layer.
mgv7_float_taper_exp (Floatland taper exponent) float 2.0
2017-09-02 03:18:42 +01:00
2022-06-30 20:18:09 +01:00
# Adjusts the density of the floatland layer.
# Increase value to increase density. Can be positive or negative.
# Value = 0.0: 50% of volume is floatland.
# Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test
# to be sure) creates a solid floatland layer.
mgv7_floatland_density (Floatland density) float -0.6
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Surface level of optional water placed on a solid floatland layer.
# Water is disabled by default and will only be placed if this value is set
# to above 'mgv7_floatland_ymax' - 'mgv7_floatland_taper' (the start of the
# upper tapering).
# ***WARNING, POTENTIAL DANGER TO WORLDS AND SERVER PERFORMANCE***:
2023-10-29 18:24:39 +07:00
# When enabling water placement, floatlands must be configured and tested
2022-06-30 20:18:09 +01:00
# to be a solid layer by setting 'mgv7_floatland_density' to 2.0 (or other
# required value depending on 'mgv7_np_floatland'), to avoid
# server-intensive extreme water flow and to avoid vast flooding of the
# world surface below.
mgv7_floatland_ywater (Floatland water level) int -31000 -31000 31000
2016-10-04 18:17:12 +02:00
2022-06-30 20:18:09 +01:00
# Controls width of tunnels, a smaller value creates wider tunnels.
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
mgv7_cave_width (Cave width) float 0.09
2016-10-04 18:17:12 +02:00
2022-06-30 20:18:09 +01:00
# Y of upper limit of large caves.
mgv7_large_cave_depth (Large cave depth) int -33 -31000 31000
2016-10-04 18:17:12 +02:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of small caves per mapchunk.
mgv7_small_cave_num_min (Small cave minimum number) int 0 0 256
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of small caves per mapchunk.
mgv7_small_cave_num_max (Small cave maximum number) int 0 0 256
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of large caves per mapchunk.
mgv7_large_cave_num_min (Large cave minimum number) int 0 0 64
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of large caves per mapchunk.
mgv7_large_cave_num_max (Large cave maximum number) int 2 0 64
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Proportion of large caves that contain liquid.
mgv7_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Y-level of cavern upper limit.
mgv7_cavern_limit (Cavern limit) int -256 -31000 31000
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Y-distance over which caverns expand to full size.
mgv7_cavern_taper (Cavern taper) int 256 0 32767
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Defines full size of caverns, smaller values create larger caverns.
mgv7_cavern_threshold (Cavern threshold) float 0.7
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of dungeons.
mgv7_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of dungeons.
mgv7_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
[**Noises]
2019-08-28 01:39:33 +01:00
2022-06-30 20:18:09 +01:00
# Y-level of higher terrain that creates cliffs.
mgv7_np_terrain_base (Terrain base noise) noise_params_2d 4, 70, (600, 600, 600), 82341, 5, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y-level of lower terrain and seabed.
mgv7_np_terrain_alt (Terrain alternative noise) noise_params_2d 4, 25, (600, 600, 600), 5934, 5, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Varies roughness of terrain.
# Defines the 'persistence' value for terrain_base and terrain_alt noises.
mgv7_np_terrain_persist (Terrain persistence noise) noise_params_2d 0.6, 0.1, (2000, 2000, 2000), 539, 3, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines distribution of higher terrain and steepness of cliffs.
mgv7_np_height_select (Height select noise) noise_params_2d -8, 16, (500, 500, 500), 4213, 6, 0.7, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Variation of biome filler depth.
mgv7_np_filler_depth (Filler depth noise) noise_params_2d 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Variation of maximum mountain height (in nodes).
mgv7_np_mount_height (Mountain height noise) noise_params_2d 256, 112, (1000, 1000, 1000), 72449, 3, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines large-scale river channel structure.
mgv7_np_ridge_uwater (Ridge underwater noise) noise_params_2d 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0, eased
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise defining mountain structure and height.
# Also defines structure of floatland mountain terrain.
mgv7_np_mountain (Mountain noise) noise_params_3d -0.6, 1, (250, 350, 250), 5333, 5, 0.63, 2.0
2020-12-09 14:30:37 -08:00
2022-06-30 20:18:09 +01:00
# 3D noise defining structure of river canyon walls.
mgv7_np_ridge (Ridge noise) noise_params_3d 0, 1, (100, 100, 100), 6467, 4, 0.75, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise defining structure of floatlands.
# If altered from the default, the noise 'scale' (0.7 by default) may need
# to be adjusted, as floatland tapering functions best when this noise has
# a value range of approximately -2.0 to 2.0.
mgv7_np_floatland (Floatland noise) noise_params_3d 0, 0.7, (384, 96, 384), 1009, 4, 0.75, 1.618
Allow NodeTimer, ABM and block mgmt interval changes.
ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
run at every 1.0s. Block mgmt is running every 2.0sec.
However, these timers can be better tuned for both higher and lower
values by server owners. Some server owners want to, and have the
resources to send more packets per second to clients, and so they
may wish to send smaller updates sooner. Right now all ABM's are
coalesced into 1.0 second intervals, resulting in large send queues
to all clients. By reducing the amount of possible timers, one can
get a far better response rate and lower the perception of lag.
On the other side of the camp, some servers may want to increase
these values, which again isn't easily doable.
The global settings abm_interval and nodetimer_interval are set to
current values by default. I've tested with 0.2/0.5 type values
and noticed a greatly improved response and better scattering of
nodetimers, as well as enjoying not faceplanting into doors with
pressure plates anymore.
2016-03-01 23:14:26 -08:00
2022-06-30 20:18:09 +01:00
# 3D noise defining giant caverns.
mgv7_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
Allow NodeTimer, ABM and block mgmt interval changes.
ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
run at every 1.0s. Block mgmt is running every 2.0sec.
However, these timers can be better tuned for both higher and lower
values by server owners. Some server owners want to, and have the
resources to send more packets per second to clients, and so they
may wish to send smaller updates sooner. Right now all ABM's are
coalesced into 1.0 second intervals, resulting in large send queues
to all clients. By reducing the amount of possible timers, one can
get a far better response rate and lower the perception of lag.
On the other side of the camp, some servers may want to increase
these values, which again isn't easily doable.
The global settings abm_interval and nodetimer_interval are set to
current values by default. I've tested with 0.2/0.5 type values
and noticed a greatly improved response and better scattering of
nodetimers, as well as enjoying not faceplanting into doors with
pressure plates anymore.
2016-03-01 23:14:26 -08:00
2022-06-30 20:18:09 +01:00
# First of two 3D noises that together define tunnels.
mgv7_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2020-08-12 16:02:07 -07:00
2022-06-30 20:18:09 +01:00
# Second of two 3D noises that together define tunnels.
mgv7_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
Allow NodeTimer, ABM and block mgmt interval changes.
ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
run at every 1.0s. Block mgmt is running every 2.0sec.
However, these timers can be better tuned for both higher and lower
values by server owners. Some server owners want to, and have the
resources to send more packets per second to clients, and so they
may wish to send smaller updates sooner. Right now all ABM's are
coalesced into 1.0 second intervals, resulting in large send queues
to all clients. By reducing the amount of possible timers, one can
get a far better response rate and lower the perception of lag.
On the other side of the camp, some servers may want to increase
these values, which again isn't easily doable.
The global settings abm_interval and nodetimer_interval are set to
current values by default. I've tested with 0.2/0.5 type values
and noticed a greatly improved response and better scattering of
nodetimers, as well as enjoying not faceplanting into doors with
pressure plates anymore.
2016-03-01 23:14:26 -08:00
2022-06-30 20:18:09 +01:00
# 3D noise that determines number of dungeons per mapchunk.
mgv7_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen Carpathian]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen Carpathian.
2024-09-04 15:19:00 +02:00
mgcarpathian_spflags (Mapgen Carpathian specific flags) flags caverns,norivers caverns,rivers
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines the base ground level.
mgcarpathian_base_level (Base ground level) float 12.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Defines the width of the river channel.
mgcarpathian_river_width (River channel width) float 0.05
2016-10-30 20:35:55 -07:00
2022-06-30 20:18:09 +01:00
# Defines the depth of the river channel.
mgcarpathian_river_depth (River channel depth) float 24.0
2017-02-27 23:06:15 -08:00
2022-06-30 20:18:09 +01:00
# Defines the width of the river valley.
mgcarpathian_valley_width (River valley width) float 0.25
2017-07-18 21:39:55 +02:00
2022-06-30 20:18:09 +01:00
# Controls width of tunnels, a smaller value creates wider tunnels.
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
mgcarpathian_cave_width (Cave width) float 0.09
2017-07-18 21:39:55 +02:00
2022-06-30 20:18:09 +01:00
# Y of upper limit of large caves.
mgcarpathian_large_cave_depth (Large cave depth) int -33 -31000 31000
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of small caves per mapchunk.
mgcarpathian_small_cave_num_min (Small cave minimum number) int 0 0 256
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of small caves per mapchunk.
mgcarpathian_small_cave_num_max (Small cave maximum number) int 0 0 256
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of large caves per mapchunk.
mgcarpathian_large_cave_num_min (Large cave minimum number) int 0 0 64
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of large caves per mapchunk.
mgcarpathian_large_cave_num_max (Large cave maximum number) int 2 0 64
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Proportion of large caves that contain liquid.
mgcarpathian_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Y-level of cavern upper limit.
mgcarpathian_cavern_limit (Cavern limit) int -256 -31000 31000
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Y-distance over which caverns expand to full size.
mgcarpathian_cavern_taper (Cavern taper) int 256 0 32767
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Defines full size of caverns, smaller values create larger caverns.
mgcarpathian_cavern_threshold (Cavern threshold) float 0.7
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of dungeons.
mgcarpathian_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of dungeons.
mgcarpathian_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
[**Noises]
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Variation of biome filler depth.
mgcarpathian_np_filler_depth (Filler depth noise) noise_params_2d 0, 1, (128, 128, 128), 261, 3, 0.7, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# First of 4 2D noises that together define hill/mountain range height.
mgcarpathian_np_height1 (Hilliness1 noise) noise_params_2d 0, 5, (251, 251, 251), 9613, 5, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Second of 4 2D noises that together define hill/mountain range height.
mgcarpathian_np_height2 (Hilliness2 noise) noise_params_2d 0, 5, (383, 383, 383), 1949, 5, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Third of 4 2D noises that together define hill/mountain range height.
mgcarpathian_np_height3 (Hilliness3 noise) noise_params_2d 0, 5, (509, 509, 509), 3211, 5, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Fourth of 4 2D noises that together define hill/mountain range height.
mgcarpathian_np_height4 (Hilliness4 noise) noise_params_2d 0, 5, (631, 631, 631), 1583, 5, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the size/occurrence of rolling hills.
mgcarpathian_np_hills_terrain (Rolling hills spread noise) noise_params_2d 1, 1, (1301, 1301, 1301), 1692, 3, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the size/occurrence of ridged mountain ranges.
mgcarpathian_np_ridge_terrain (Ridge mountain spread noise) noise_params_2d 1, 1, (1889, 1889, 1889), 3568, 3, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the size/occurrence of step mountain ranges.
mgcarpathian_np_step_terrain (Step mountain spread noise) noise_params_2d 1, 1, (1889, 1889, 1889), 4157, 3, 0.5, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the shape/size of rolling hills.
mgcarpathian_np_hills (Rolling hill size noise) noise_params_2d 0, 3, (257, 257, 257), 6604, 6, 0.5, 2.0, eased
2019-09-07 19:38:54 +02:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the shape/size of ridged mountains.
mgcarpathian_np_ridge_mnt (Ridged mountain size noise) noise_params_2d 0, 12, (743, 743, 743), 5520, 6, 0.7, 2.0, eased
2020-05-14 19:26:15 +02:00
2022-06-30 20:18:09 +01:00
# 2D noise that controls the shape/size of step mountains.
mgcarpathian_np_step_mnt (Step mountain size noise) noise_params_2d 0, 8, (509, 509, 509), 2590, 6, 0.6, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 2D noise that locates the river valleys and channels.
mgcarpathian_np_rivers (River noise) noise_params_2d 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0, eased
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 3D noise for mountain overhangs, cliffs, etc. Usually small variations.
mgcarpathian_np_mnt_var (Mountain variation noise) noise_params_3d 0, 1, (499, 499, 499), 2490, 5, 0.55, 2.0
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# First of two 3D noises that together define tunnels.
mgcarpathian_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Second of two 3D noises that together define tunnels.
mgcarpathian_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise defining giant caverns.
mgcarpathian_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# 3D noise that determines number of dungeons per mapchunk.
mgcarpathian_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen Flat]
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen Flat.
# Occasional lakes and hills can be added to the flat world.
2024-09-04 15:19:00 +02:00
mgflat_spflags (Mapgen Flat specific flags) flags nolakes,nohills,nocaverns lakes,hills,caverns
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Y of flat ground.
mgflat_ground_level (Ground level) int 8 -31000 31000
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Y of upper limit of large caves.
mgflat_large_cave_depth (Large cave depth) int -33 -31000 31000
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of small caves per mapchunk.
mgflat_small_cave_num_min (Small cave minimum number) int 0 0 256
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of small caves per mapchunk.
mgflat_small_cave_num_max (Small cave maximum number) int 0 0 256
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of large caves per mapchunk.
mgflat_large_cave_num_min (Large cave minimum number) int 0 0 64
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of large caves per mapchunk.
mgflat_large_cave_num_max (Large cave maximum number) int 2 0 64
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Proportion of large caves that contain liquid.
mgflat_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2017-04-04 11:59:52 +01:00
2016-04-25 11:47:25 +01:00
# Controls width of tunnels, a smaller value creates wider tunnels.
2019-11-09 02:09:52 +00:00
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
2022-06-30 20:18:09 +01:00
mgflat_cave_width (Cave width) float 0.09
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Terrain noise threshold for lakes.
# Controls proportion of world area covered by lakes.
# Adjust towards 0.0 for a larger proportion.
mgflat_lake_threshold (Lake threshold) float -0.45
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Controls steepness/depth of lake depressions.
mgflat_lake_steepness (Lake steepness) float 48.0
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Terrain noise threshold for hills.
# Controls proportion of world area covered by hills.
# Adjust towards 0.0 for a larger proportion.
mgflat_hill_threshold (Hill threshold) float 0.45
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Controls steepness/height of hills.
mgflat_hill_steepness (Hill steepness) float 64.0
2019-11-08 03:09:43 +00:00
2017-03-12 13:26:09 +00:00
# Y-level of cavern upper limit.
2022-06-30 20:18:09 +01:00
mgflat_cavern_limit (Cavern limit) int -256 -31000 31000
2017-03-12 13:26:09 +00:00
# Y-distance over which caverns expand to full size.
2022-06-30 20:18:09 +01:00
mgflat_cavern_taper (Cavern taper) int 256 0 32767
2017-03-12 13:26:09 +00:00
# Defines full size of caverns, smaller values create larger caverns.
2022-06-30 20:18:09 +01:00
mgflat_cavern_threshold (Cavern threshold) float 0.7
2017-04-04 11:59:52 +01:00
2018-02-17 17:43:13 +00:00
# Lower Y limit of dungeons.
2022-06-30 20:18:09 +01:00
mgflat_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2018-02-17 17:43:13 +00:00
# Upper Y limit of dungeons.
2022-06-30 20:18:09 +01:00
mgflat_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2018-02-17 17:43:13 +00:00
2017-08-13 19:01:04 +01:00
[**Noises]
2022-06-30 20:18:09 +01:00
# Defines location and terrain of optional hills and lakes.
mgflat_np_terrain (Terrain noise) noise_params_2d 0, 1, (600, 600, 600), 7244, 5, 0.6, 2.0, eased
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Variation of biome filler depth.
mgflat_np_filler_depth (Filler depth noise) noise_params_2d 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0, eased
2017-04-04 11:59:52 +01:00
2018-10-20 09:35:39 +01:00
# First of two 3D noises that together define tunnels.
2022-06-30 20:18:09 +01:00
mgflat_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2017-04-04 11:59:52 +01:00
2018-10-20 09:35:39 +01:00
# Second of two 3D noises that together define tunnels.
2022-06-30 20:18:09 +01:00
mgflat_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
2017-04-04 11:59:52 +01:00
# 3D noise defining giant caverns.
2022-06-30 20:18:09 +01:00
mgflat_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
2015-10-15 21:32:31 +02:00
2019-06-01 20:50:43 +01:00
# 3D noise that determines number of dungeons per mapchunk.
2022-06-30 20:18:09 +01:00
mgflat_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
[*Mapgen Fractal]
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen Fractal.
# 'terrain' enables the generation of non-fractal terrain:
# ocean, islands and underground.
2024-09-04 15:19:00 +02:00
mgfractal_spflags (Mapgen Fractal specific flags) flags terrain terrain
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Controls width of tunnels, a smaller value creates wider tunnels.
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
mgfractal_cave_width (Cave width) float 0.09
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Y of upper limit of large caves.
mgfractal_large_cave_depth (Large cave depth) int -33 -31000 31000
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of small caves per mapchunk.
mgfractal_small_cave_num_min (Small cave minimum number) int 0 0 256
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of small caves per mapchunk.
mgfractal_small_cave_num_max (Small cave maximum number) int 0 0 256
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# Minimum limit of random number of large caves per mapchunk.
mgfractal_large_cave_num_min (Large cave minimum number) int 0 0 64
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Maximum limit of random number of large caves per mapchunk.
mgfractal_large_cave_num_max (Large cave maximum number) int 2 0 64
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Proportion of large caves that contain liquid.
mgfractal_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Lower Y limit of dungeons.
mgfractal_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Upper Y limit of dungeons.
mgfractal_dungeon_ymax (Dungeon maximum Y) int 31000 -31000 31000
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Selects one of 18 fractal types.
# 1 = 4D "Roundy" Mandelbrot set.
# 2 = 4D "Roundy" Julia set.
# 3 = 4D "Squarry" Mandelbrot set.
# 4 = 4D "Squarry" Julia set.
# 5 = 4D "Mandy Cousin" Mandelbrot set.
# 6 = 4D "Mandy Cousin" Julia set.
# 7 = 4D "Variation" Mandelbrot set.
# 8 = 4D "Variation" Julia set.
# 9 = 3D "Mandelbrot/Mandelbar" Mandelbrot set.
# 10 = 3D "Mandelbrot/Mandelbar" Julia set.
# 11 = 3D "Christmas Tree" Mandelbrot set.
# 12 = 3D "Christmas Tree" Julia set.
# 13 = 3D "Mandelbulb" Mandelbrot set.
# 14 = 3D "Mandelbulb" Julia set.
# 15 = 3D "Cosine Mandelbulb" Mandelbrot set.
# 16 = 3D "Cosine Mandelbulb" Julia set.
# 17 = 4D "Mandelbulb" Mandelbrot set.
# 18 = 4D "Mandelbulb" Julia set.
mgfractal_fractal (Fractal type) int 1 1 18
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Iterations of the recursive function.
# 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.
mgfractal_iterations (Iterations) int 11 1 65535
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# (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.
mgfractal_scale (Scale) v3f (4096.0, 1024.0, 4096.0)
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# (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.
mgfractal_offset (Offset) v3f (1.79, 0.0, 0.0)
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# 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.
mgfractal_slice_w (Slice w) float 0.0
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Julia set only.
# X component of hypercomplex constant.
# Alters the shape of the fractal.
# Range roughly -2 to 2.
mgfractal_julia_x (Julia x) float 0.33
2015-10-15 21:32:31 +02:00
2022-06-30 20:18:09 +01:00
# Julia set only.
# Y component of hypercomplex constant.
# Alters the shape of the fractal.
# Range roughly -2 to 2.
mgfractal_julia_y (Julia y) float 0.33
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# Julia set only.
# Z component of hypercomplex constant.
# Alters the shape of the fractal.
# Range roughly -2 to 2.
mgfractal_julia_z (Julia z) float 0.33
2015-10-18 10:41:52 +02:00
2022-06-30 20:18:09 +01:00
# 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.
mgfractal_julia_w (Julia w) float 0.33
2017-07-24 22:50:42 +01:00
2022-06-30 20:18:09 +01:00
[**Noises]
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# Y-level of seabed.
mgfractal_np_seabed (Seabed noise) noise_params_2d -14, 9, (600, 600, 600), 41900, 5, 0.6, 2.0, eased
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# Variation of biome filler depth.
mgfractal_np_filler_depth (Filler depth noise) noise_params_2d 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0, eased
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# First of two 3D noises that together define tunnels.
mgfractal_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# Second of two 3D noises that together define tunnels.
mgfractal_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# 3D noise that determines number of dungeons per mapchunk.
mgfractal_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
[*Mapgen Valleys]
2016-04-25 11:47:25 +01:00
2022-06-30 20:18:09 +01:00
# Map generation attributes specific to Mapgen Valleys.
# '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.
2024-09-04 15:19:00 +02:00
mgvalleys_spflags (Mapgen Valleys specific flags) flags altitude_chill,humid_rivers,vary_river_depth,altitude_dry altitude_chill,humid_rivers,vary_river_depth,altitude_dry
2022-06-30 20:18:09 +01:00
# The vertical distance over which heat drops by 20 if 'altitude_chill' is
2023-10-29 18:24:39 +07:00
# enabled. Also, the vertical distance over which humidity drops by 10 if
2022-06-30 20:18:09 +01:00
# 'altitude_dry' is enabled.
mgvalleys_altitude_chill (Altitude chill) int 90 0 65535
# Depth below which you'll find large caves.
mgvalleys_large_cave_depth (Large cave depth) int -33 -31000 31000
2017-06-20 04:55:32 +01:00
2019-11-08 03:09:43 +00:00
# Minimum limit of random number of small caves per mapchunk.
2022-06-30 20:18:09 +01:00
mgvalleys_small_cave_num_min (Small cave minimum number) int 0 0 256
2019-11-08 03:09:43 +00:00
# Maximum limit of random number of small caves per mapchunk.
2022-06-30 20:18:09 +01:00
mgvalleys_small_cave_num_max (Small cave maximum number) int 0 0 256
2019-11-08 03:09:43 +00:00
# Minimum limit of random number of large caves per mapchunk.
2022-06-30 20:18:09 +01:00
mgvalleys_large_cave_num_min (Large cave minimum number) int 0 0 64
2019-11-08 03:09:43 +00:00
# Maximum limit of random number of large caves per mapchunk.
2022-06-30 20:18:09 +01:00
mgvalleys_large_cave_num_max (Large cave maximum number) int 2 0 64
2019-11-08 03:09:43 +00:00
# Proportion of large caves that contain liquid.
2022-06-30 20:18:09 +01:00
mgvalleys_large_cave_flooded (Large cave proportion flooded) float 0.5 0.0 1.0
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Depth below which you'll find giant caverns.
mgvalleys_cavern_limit (Cavern upper limit) int -256 -31000 31000
2017-03-12 13:26:09 +00:00
# Y-distance over which caverns expand to full size.
2022-06-30 20:18:09 +01:00
mgvalleys_cavern_taper (Cavern taper) int 192 0 32767
2017-03-12 13:26:09 +00:00
# Defines full size of caverns, smaller values create larger caverns.
2022-06-30 20:18:09 +01:00
mgvalleys_cavern_threshold (Cavern threshold) float 0.6
# How deep to make rivers.
mgvalleys_river_depth (River depth) int 4 0 65535
# How wide to make rivers.
mgvalleys_river_size (River size) int 5 0 65535
# Controls width of tunnels, a smaller value creates wider tunnels.
# Value >= 10.0 completely disables generation of tunnels and avoids the
# intensive noise calculations.
mgvalleys_cave_width (Cave width) float 0.09
2017-04-04 11:59:52 +01:00
2018-02-17 17:43:13 +00:00
# Lower Y limit of dungeons.
2022-06-30 20:18:09 +01:00
mgvalleys_dungeon_ymin (Dungeon minimum Y) int -31000 -31000 31000
2018-02-17 17:43:13 +00:00
# Upper Y limit of dungeons.
2022-06-30 20:18:09 +01:00
mgvalleys_dungeon_ymax (Dungeon maximum Y) int 63 -31000 31000
2018-02-17 17:43:13 +00:00
2017-08-13 19:01:04 +01:00
[**Noises]
2022-06-30 20:18:09 +01:00
# First of two 3D noises that together define tunnels.
mgvalleys_np_cave1 (Cave noise #1) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Second of two 3D noises that together define tunnels.
mgvalleys_np_cave2 (Cave noise #2) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
2017-04-04 11:59:52 +01:00
2023-10-29 18:24:39 +07:00
# Variation of biome filler depth.
2022-06-30 20:18:09 +01:00
mgvalleys_np_filler_depth (Filler depth) noise_params_2d 0, 1.2, (256, 256, 256), 1605, 3, 0.5, 2.0, eased
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# 3D noise defining giant caverns.
mgvalleys_np_cavern (Cavern noise) noise_params_3d 0, 1, (768, 256, 768), 59033, 6, 0.63, 2.0
2017-04-04 11:59:52 +01:00
# Defines large-scale river channel structure.
2022-06-30 20:18:09 +01:00
mgvalleys_np_rivers (River noise) noise_params_2d 0, 1, (256, 256, 256), -6050, 5, 0.6, 2.0, eased
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Base terrain height.
mgvalleys_np_terrain_height (Terrain height) noise_params_2d -10, 50, (1024, 1024, 1024), 5202, 6, 0.4, 2.0, eased
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Raises terrain to make valleys around the rivers.
mgvalleys_np_valley_depth (Valley depth) noise_params_2d 5, 4, (512, 512, 512), -1914, 1, 1.0, 2.0, eased
2020-05-14 22:27:54 +01:00
2022-06-30 20:18:09 +01:00
# Slope and fill work together to modify the heights.
mgvalleys_np_inter_valley_fill (Valley fill) noise_params_3d 0, 1, (256, 512, 256), 1993, 6, 0.8, 2.0
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Amplifies the valleys.
mgvalleys_np_valley_profile (Valley profile) noise_params_2d 0.6, 0.5, (512, 512, 512), 777, 1, 1.0, 2.0, eased
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Slope and fill work together to modify the heights.
mgvalleys_np_inter_valley_slope (Valley slope) noise_params_2d 0.5, 0.5, (128, 128, 128), 746, 1, 1.0, 2.0, eased
2015-10-15 21:32:31 +02:00
2019-06-01 20:50:43 +01:00
# 3D noise that determines number of dungeons per mapchunk.
2022-06-30 20:18:09 +01:00
mgvalleys_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
2019-06-01 20:50:43 +01:00
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
[Advanced]
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
[*Developer Options]
2018-04-05 21:52:10 +01:00
2022-06-30 20:18:09 +01:00
# Enable Lua modding support on client.
# This support is experimental and API can change.
2025-04-01 07:55:47 -04:00
enable_client_modding (Client modding) [client] bool false
2019-06-19 01:06:08 +01:00
2022-06-30 20:18:09 +01:00
# Replaces the default main menu with a custom one.
2025-04-01 07:55:47 -04:00
main_menu_script (Main menu script) [client] string
2019-06-19 01:06:08 +01:00
2025-04-01 07:55:47 -04:00
[**Mod Security] [server]
2019-06-19 01:06:08 +01:00
2022-06-30 20:18:09 +01:00
# Prevent mods from doing insecure things like running shell commands.
secure.enable_security (Enable mod security) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# 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
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# 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
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
[**Debugging]
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Level of logging to be written to debug.txt:
# - <nothing> (no logging)
# - none (messages with no level)
# - error
# - warning
# - action
# - info
# - verbose
# - trace
2025-04-01 07:55:47 -04:00
debug_log_level (Debug log level) [common] enum action ,none,error,warning,action,info,verbose,trace
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# If the file size of debug.txt exceeds the number of megabytes specified in
# this setting when it is opened, the file is moved to debug.txt.1,
# deleting an older debug.txt.1 if it exists.
# debug.txt is only moved if this setting is positive.
2025-04-01 07:55:47 -04:00
debug_log_size_max (Debug log file size threshold) [common] int 50 1
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Minimal level of logging to be written to chat.
2025-04-01 07:55:47 -04:00
chat_log_level (Chat log level) [client] enum error ,none,error,warning,action,info,verbose,trace
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Handling for deprecated Lua API calls:
# - none: Do not log deprecated calls
# - log: mimic and log backtrace of deprecated call (default).
# - error: abort on usage of deprecated call (suggested for mod developers).
2025-04-01 07:55:47 -04:00
deprecated_lua_api_handling (Deprecated Lua API handling) [common] enum log none,log,error
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Enable random user input (only used for testing).
2025-04-01 07:55:47 -04:00
random_input (Random input) [client] bool false
2017-07-06 21:53:56 +10:00
2024-05-12 14:20:18 +02:00
# Enable random mod loading (mainly used for testing).
2025-04-01 07:55:47 -04:00
random_mod_load_order (Random mod load order) [server] bool false
2024-05-12 14:20:18 +02:00
2022-06-30 20:18:09 +01:00
# Enable mod channels support.
2025-04-01 07:55:47 -04:00
enable_mod_channels (Mod channels) [server] bool false
2017-07-06 21:53:56 +10:00
2025-04-01 07:55:47 -04:00
[**Mod Profiler] [server]
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# 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.
profiler.load (Load the game profiler) bool false
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# The default format in which profiles are being saved,
# when calling `/profiler save [format]` without format.
profiler.default_report_format (Default report format) enum txt txt,csv,lua,json,json_pretty
2017-08-13 19:01:04 +01:00
2023-10-29 18:24:39 +07:00
# The file path relative to your world path in which profiles will be saved to.
2023-10-01 11:19:52 +02:00
profiler.report_path (Report path) string
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument the methods of entities on registration.
instrument.entity (Entity methods) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument the action function of Active Block Modifiers on registration.
instrument.abm (Active Block Modifiers) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument the action function of Loading Block Modifiers on registration.
instrument.lbm (Loading Block Modifiers) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument chat commands on registration.
instrument.chatcommand (Chat commands) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument global callback functions on registration.
2024-10-28 19:40:18 +01:00
# (anything you pass to a core.register_*() function)
2022-06-30 20:18:09 +01:00
instrument.global_callback (Global callbacks) bool true
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Instrument builtin.
# This is usually only needed by core/builtin contributors
instrument.builtin (Builtin) bool false
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# 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.
instrument.profiler (Profiler) bool false
2017-07-06 21:53:56 +10:00
2025-04-01 07:55:47 -04:00
[**Engine Profiler] [common]
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# Print the engine's profiling data in regular intervals (in seconds).
# 0 = disable. Useful for developers.
profiler_print_interval (Engine profiling data print interval) int 0 0
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
[*Advanced]
2019-06-19 01:06:08 +01:00
2025-04-01 07:55:47 -04:00
[**Graphics] [client]
2017-07-06 21:53:56 +10:00
2024-11-28 10:38:51 +01:00
# Enables debug and error-checking in the OpenGL driver.
opengl_debug (OpenGL debug) bool false
2022-06-30 20:18:09 +01:00
# Path to shader directory. If no path is defined, default location will be used.
shader_path (Shader path) path
2017-07-06 21:53:56 +10:00
2022-06-30 20:18:09 +01:00
# The rendering back-end.
2023-03-05 15:07:40 +01:00
# Note: A restart is required after changing this!
# OpenGL is the default for desktop, and OGLES2 for Android.
2024-08-28 20:44:42 +02:00
video_driver (Video driver) enum ,opengl,opengl3,ogles2
2019-06-01 20:50:43 +01:00
2024-09-02 16:09:42 +02:00
# Distance in nodes at which transparency depth sorting is enabled.
# Use this to limit the performance impact of transparency depth sorting.
# Set to 0 to disable it entirely.
2022-06-30 20:18:09 +01:00
transparency_sorting_distance (Transparency Sorting Distance) int 16 0 128
2015-10-30 02:45:38 +00:00
2024-11-28 14:22:53 +01:00
# Draw transparency sorted triangles grouped by their mesh buffers.
# This breaks transparency sorting between mesh buffers, but avoids situations
# where transparency sorting would be very slow otherwise.
transparency_sorting_group_by_buffers (Transparency Sorting Group by Buffers) bool true
2022-06-30 20:18:09 +01:00
# 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.
2025-01-08 10:56:45 +01:00
cloud_radius (Cloud radius) int 12 8 62
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
# Delay between mesh updates on the client in ms. Increasing this will slow
2025-06-23 13:48:47 +02:00
# down the rate of mesh updates, which can help reduce jitter.
mesh_generation_interval (Mapblock mesh generation delay) int 0 0 25
2019-11-08 03:09:43 +00:00
2022-12-27 18:44:18 +01:00
# Number of threads to use for mesh generation.
2025-06-23 13:48:47 +02:00
# Value of 0 (default) will let Luanti automatically choose the number of threads.
2022-12-27 18:44:18 +01:00
mesh_generation_threads (Mapblock mesh generation threads) int 0 0 8
2024-12-11 14:44:49 +01:00
# All mesh buffers with less than this number of vertices will be merged
# during map rendering. This improves rendering performance.
2025-01-14 23:40:57 +01:00
mesh_buffer_min_vertices (Minimum vertex count for mesh buffers) int 300 0 1000
2024-12-11 14:44:49 +01:00
2022-06-30 20:18:09 +01:00
# True = 256
# False = 128
# Usable to make minimap smoother on slower machines.
minimap_double_scan_height (Minimap scan height) bool true
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# 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.
world_aligned_mode (World-aligned textures mode) enum enable disable,enable,force_solid,force_nodebox
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# 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
2025-04-21 12:31:44 +02:00
# to determine the scale automatically based on the texture size.
2022-06-30 20:18:09 +01:00
# See also texture_min_size.
# Warning: This option is EXPERIMENTAL!
autoscale_mode (Autoscaling mode) enum disable disable,enable,force
2016-04-25 11:47:25 +01:00
2024-12-30 20:37:16 +01:00
# When using bilinear/trilinear filtering, low-resolution textures
# can be blurred, so this option automatically upscales them to preserve
# crisp pixels. This defines the minimum texture size for the upscaled textures;
# higher values look sharper, but require more memory.
# This setting is ONLY applied if any of the mentioned filters are enabled.
2023-11-19 20:28:37 +01:00
# This is also used as the base node texture size for world-aligned
# texture autoscaling.
2025-04-21 12:31:44 +02:00
texture_min_size (Base texture size) int 192 192 16384
2023-08-24 10:50:47 +02:00
2023-02-08 13:42:12 -08:00
# 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
2024-11-28 10:38:51 +01:00
# Decide the color depth of the texture used for the post-processing pipeline.
2025-02-09 13:15:58 +01:00
# Reducing this can improve performance, but some effects (e.g. debanding)
# require more than 8 bits to work.
2024-11-28 10:38:51 +01:00
#
# Requires: enable_post_processing
post_processing_texture_bits (Color depth for post-processing texture) enum 16 8,10,16
# Enable Poisson disk filtering.
# On true uses Poisson disk to make "soft shadows". Otherwise uses PCF filtering.
#
# Requires: enable_dynamic_shadows, opengl
shadow_poisson_filter (Poisson filtering) bool true
2025-02-09 13:15:58 +01:00
# Spread a complete update of the shadow map over a given number of frames.
2024-11-28 10:38:51 +01:00
# Higher values might make shadows laggy, lower values
# will consume more resources.
#
# Requires: enable_dynamic_shadows, opengl
2025-01-11 16:41:50 -08:00
shadow_update_frames (Map shadows update frames) int 16 1 32
2024-04-12 11:38:30 +02:00
2024-10-03 11:37:04 +02:00
# Set to true to render debugging breakdown of the bloom effect.
# In debug mode, the screen is split into 4 quadrants:
# top-left - processed base image, top-right - final image
# bottom-left - raw base image, bottom-right - bloom texture.
#
2024-11-13 14:24:01 +01:00
# Requires: enable_post_processing, enable_bloom
2024-10-03 11:37:04 +02:00
enable_bloom_debug (Enable Bloom Debug) bool false
2025-04-01 07:55:47 -04:00
[**Sound] [client]
2024-01-03 21:57:00 +01:00
# 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
2025-04-01 07:55:47 -04:00
[**Font] [client]
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
font_bold (Font bold by default) bool false
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
font_italic (Font italic by default) bool false
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
# Shadow offset (in pixels) of the default font. If 0, then shadow will not be drawn.
font_shadow (Font shadow) int 1 0 65535
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
# Opaqueness (alpha) of the shadow behind the default font, between 0 and 255.
font_shadow_alpha (Font shadow alpha) int 127 0 255
2020-08-05 05:00:00 +01:00
2022-06-30 20:18:09 +01:00
# Font size of the default font where 1 unit = 1 pixel at 96 DPI
font_size (Font size) int 16 5 72
2020-08-05 05:00:00 +01:00
2022-06-30 20:18:09 +01:00
# 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
2020-08-05 05:00:00 +01:00
2022-06-30 20:18:09 +01:00
# Path to the default font. Must be a TrueType font.
# The fallback font will be used if the font cannot be loaded.
font_path (Regular font path) filepath fonts/Arimo-Regular.ttf
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
font_path_bold (Bold font path) filepath fonts/Arimo-Bold.ttf
font_path_italic (Italic font path) filepath fonts/Arimo-Italic.ttf
font_path_bold_italic (Bold and italic font path) filepath fonts/Arimo-BoldItalic.ttf
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# Font size of the monospace font where 1 unit = 1 pixel at 96 DPI
mono_font_size (Monospace font size) int 16 5 72
2017-08-13 19:01:04 +01:00
2022-06-30 20:18:09 +01:00
# 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
2015-10-30 02:45:38 +00:00
2022-06-30 20:18:09 +01:00
# Path to the monospace font. Must be a TrueType font.
# This font is used for e.g. the console and profiler screen.
mono_font_path (Monospace font path) filepath fonts/Cousine-Regular.ttf
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
mono_font_path_bold (Bold monospace font path) filepath fonts/Cousine-Bold.ttf
mono_font_path_italic (Italic monospace font path) filepath fonts/Cousine-Italic.ttf
mono_font_path_bold_italic (Bold and italic monospace font path) filepath fonts/Cousine-BoldItalic.ttf
2017-04-04 11:59:52 +01:00
2022-06-30 20:18:09 +01:00
# Path of the fallback font. Must be a TrueType font.
# This font will be used for certain languages or if the default font is unavailable.
fallback_font_path (Fallback font path) filepath fonts/DroidSansFallbackFull.ttf
2015-10-30 02:45:38 +00:00
2025-04-01 07:55:47 -04:00
[**Lighting] [client]
2020-08-05 05:00:00 +01:00
2022-06-30 20:18:09 +01:00
# Gradient of light curve at minimum light level.
# Controls the contrast of the lowest light levels.
lighting_alpha (Light curve low gradient) float 0.0 0.0 3.0
2019-06-01 20:50:43 +01:00
2022-06-30 20:18:09 +01:00
# Gradient of light curve at maximum light level.
# Controls the contrast of the highest light levels.
lighting_beta (Light curve high gradient) float 1.5 0.0 3.0
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# Strength of light curve boost.
# The 3 'boost' parameters define a range of the light
# curve that is boosted in brightness.
lighting_boost (Light curve boost) float 0.2 0.0 0.4
2019-07-25 19:58:35 +01:00
2022-06-30 20:18:09 +01:00
# Center of light curve boost range.
# Where 0.0 is minimum light level, 1.0 is maximum light level.
lighting_boost_center (Light curve boost center) float 0.5 0.0 1.0
2016-04-25 11:47:25 +01:00
2022-06-30 20:18:09 +01:00
# Spread of light curve boost range.
# Controls the width of the range to be boosted.
# Standard deviation of the light curve boost Gaussian.
lighting_boost_spread (Light curve boost spread) float 0.2 0.0 0.4
2017-06-20 04:55:32 +01:00
2022-06-30 20:18:09 +01:00
[**Networking]
2019-11-08 03:09:43 +00:00
2025-02-19 11:45:31 -06:00
# Enable IPv6 support (for both client and server).
# Required for IPv6 connections to work at all.
2025-04-01 07:55:47 -04:00
enable_ipv6 (IPv6) [common] bool true
2025-02-19 11:45:31 -06:00
2022-06-30 20:18:09 +01:00
# Prometheus listener address.
2025-04-23 09:30:04 +02:00
# If Luanti is compiled with Prometheus support, this setting
# enables the metrics listener for Prometheus on that address.
# By default you can fetch metrics from http://127.0.0.1:30000/metrics.
# An empty value disables the metrics listener.
2025-04-01 07:55:47 -04:00
prometheus_listener_address (Prometheus listener address) [server] string 127.0.0.1:30000
2019-11-08 03:09:43 +00:00
2025-04-01 07:55:47 -04:00
# Maximum size of the client's outgoing chat queue.
2022-06-30 20:18:09 +01:00
# 0 to disable queueing and -1 to make the queue size unlimited.
2025-04-01 07:55:47 -04:00
max_out_chat_queue_size (Maximum size of the client's outgoing chat queue) [client] int 20 -1 32767
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Timeout for client to remove unused map data from memory, in seconds.
2025-04-01 07:55:47 -04:00
client_unload_unused_data_timeout (Mapblock unload timeout) [client] float 600.0 0.0
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# Maximum number of mapblocks for client to be kept in memory.
2025-03-01 00:16:18 +01:00
# Note that there is an internal dynamic minimum number of blocks that
# won't be deleted, depending on the current view range.
# Set to -1 for no limit.
2025-04-01 07:55:47 -04:00
client_mapblock_limit (Mapblock limit) [client] int 7500 -1 2147483647
2019-11-08 03:09:43 +00:00
2022-06-30 20:18:09 +01:00
# 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)
2025-04-01 07:55:47 -04:00
max_simultaneous_block_sends_per_client (Maximum simultaneous block sends per client) [server] int 40 1 4294967295
2018-02-17 17:43:13 +00:00
2022-06-30 20:18:09 +01:00
# 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.
2025-04-01 07:55:47 -04:00
full_block_send_enable_min_time_from_building (Delay in sending blocks after building) [server] float 2.0 0.0
2015-11-11 05:05:20 +00:00
2024-08-18 22:06:48 +02:00
# 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.
2025-04-01 07:55:47 -04:00
max_packets_per_iteration (Max. packets per iteration) [common] int 1024 1 65535
2015-11-04 23:07:29 +00:00
2022-06-30 20:18:09 +01:00
# Compression level to use when sending mapblocks to the client.
# -1 - use default compression level
# 0 - least compression, fastest
# 9 - best compression, slowest
2025-04-01 07:55:47 -04:00
map_compression_level_net (Map Compression Level for Network Transfer) [server] int -1 -1 9
2015-11-04 23:07:29 +00:00
2025-04-01 07:55:47 -04:00
[**Server] [server]
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# Format of player chat messages. The following strings are valid placeholders:
# @name, @message, @timestamp (optional)
chat_message_format (Chat message format) string <@name> @message
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# 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
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# A message to be displayed to all clients when the server shuts down.
kick_msg_shutdown (Shutdown message) string Server shutting down.
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# 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.
2015-11-04 02:18:37 +00:00
2022-06-30 20:18:09 +01:00
# 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
2025-04-01 07:55:47 -04:00
[**Server/Env Performance] [server]
2022-06-30 20:18:09 +01:00
2024-02-26 20:46:57 +01:00
# Length of a server tick (the interval at which everything is generally updated),
# stated in seconds.
# Does not apply to sessions hosted from the client menu.
2024-10-28 15:57:22 +01:00
# This is a lower bound, i.e. server steps may not be shorter than this, but
# they are often longer.
2024-02-26 20:46:57 +01:00
dedicated_server_step (Dedicated server step) float 0.09 0.0 1.0
2022-06-30 20:18:09 +01:00
# 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 0 65535
# 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
2022-12-03 10:41:34 -05:00
# Default maximum number of forceloaded mapblocks.
# Set this to -1 to disable the limit.
max_forceloaded_blocks (Maximum forceloaded blocks) int 16 -1
2022-06-30 20:18:09 +01:00
# Interval of saving important changes in the world, stated in seconds.
server_map_save_interval (Map save interval) float 5.3 0.001
# 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
# Maximum number of statically stored objects in a block.
2025-01-08 10:56:45 +01:00
max_objects_per_block (Maximum objects per block) int 256 256 65535
2022-06-30 20:18:09 +01:00
# Length of time between active block management cycles, stated in seconds.
active_block_mgmt_interval (Active block management interval) float 2.0 0.0
# Length of time between Active Block Modifier (ABM) execution cycles, stated in seconds.
2025-03-18 22:11:37 +01:00
abm_interval (ABM interval) float 1.0 0.1 30.0
2022-06-30 20:18:09 +01:00
# The time budget allowed for ABMs to execute on each step
# (as a fraction of the ABM Interval)
abm_time_budget (ABM time budget) float 0.2 0.1 0.9
# Length of time between NodeTimer execution cycles, stated in seconds.
2025-03-18 22:11:37 +01:00
nodetimer_interval (NodeTimer interval) float 0.2 0.1 1.0
2022-06-30 20:18:09 +01:00
# Max liquids processed per step.
liquid_loop_max (Liquid loop max) int 100000 1 4294967295
# 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
# Liquid update interval in seconds.
liquid_update (Liquid update tick) float 1.0 0.001
# 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
2024-02-22 21:47:42 -08:00
# rendering glitches (some blocks might not be rendered correctly in caves).
2022-06-30 20:18:09 +01:00
# Setting this to a value greater than max_block_send_distance disables this
# optimization.
2023-12-16 15:04:21 -08:00
# Stated in MapBlocks (16 nodes).
block_send_optimize_distance (Block send optimize distance) int 4 2 2047
2022-06-30 20:18:09 +01:00
2023-10-29 18:24:39 +07:00
# If enabled, the server will perform map block occlusion culling based on
2022-06-30 20:18:09 +01:00
# on the eye position of the player. This can reduce the number of blocks
2023-10-29 18:24:39 +07:00
# 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
2022-06-30 20:18:09 +01:00
2023-12-16 15:04:21 -08:00
# 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).
2024-01-06 18:43:46 -08:00
block_cull_optimize_distance (Block cull optimize distance) int 25 2 2047
2023-12-16 15:04:21 -08:00
2025-04-01 07:55:47 -04:00
[**Mapgen] [server]
2022-06-30 20:18:09 +01:00
# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
2023-10-29 18:24:39 +07:00
# WARNING: There is no benefit, and there are several dangers, in
2022-06-30 20:18:09 +01:00
# 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.
2025-04-01 07:55:47 -04:00
chunksize (Chunk size) [world_creation] int 5 1 10
2022-06-30 20:18:09 +01:00
# Dump the mapgen debug information.
enable_mapgen_debug_info (Mapgen debug) bool false
# Maximum number of blocks that can be queued for loading.
emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 1024 1 1000000
# Maximum number of blocks to be queued that are to be loaded from file.
# This limit is enforced per player.
emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 128 1 1000000
# Maximum number of blocks to be queued that are to be generated.
# This limit is enforced per player.
emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 128 1 1000000
# Number of emerge threads to use.
# Value 0:
# - Automatic selection. The number of emerge threads will be
# - 'number of processors - 2', with a lower limit of 1.
# Any other value:
# - Specifies the number of emerge threads, with a lower limit of 1.
# WARNING: Increasing the number of emerge threads increases engine mapgen
# speed, but this may harm game performance by interfering with other
# processes, especially in singleplayer and/or when running Lua code in
# 'on_generated'. For many users the optimum setting may be '1'.
num_emerge_threads (Number of emerge threads) int 1 0 32767
2025-04-01 07:55:47 -04:00
[**cURL] [common]
2022-06-30 20:18:09 +01:00
# Maximum time an interactive request (e.g. server list fetch) may take, stated in milliseconds.
2023-09-26 16:00:16 +02:00
curl_timeout (cURL interactive timeout) int 20000 1000 2147483647
2022-06-30 20:18:09 +01:00
# 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 1 2147483647
# Maximum time a file download (e.g. a mod download) may take, stated in milliseconds.
2023-09-26 16:00:16 +02:00
curl_file_download_timeout (cURL file download timeout) int 300000 5000 2147483647
2022-06-30 20:18:09 +01:00
2025-04-20 20:20:49 +02:00
[**Client Debugging] [client]
# Key for toggling the camera update. Only usable with 'debug' privilege.
keymap_toggle_update_camera (Toggle camera update) key
# Key for switching to the previous entry in Quicktune.
keymap_quicktune_prev (Quicktune: select previous entry) key
# Key for switching to the next entry in Quicktune.
keymap_quicktune_next (Quicktune: select next entry) key
# Key for decrementing the selected value in Quicktune.
keymap_quicktune_dec (Quicktune: decrement value) key
# Key for incrementing the selected value in Quicktune.
keymap_quicktune_inc (Quicktune: increment value) key
2023-10-29 18:24:39 +07:00
[**Miscellaneous]
2022-06-30 20:18:09 +01:00
2025-02-19 11:45:31 -06:00
# Clickable weblinks (middle-click or Ctrl+left-click) enabled in chat console output.
2025-04-01 07:55:47 -04:00
clickable_chat_weblinks (Chat weblinks) [client] bool true
2025-02-19 11:45:31 -06:00
# If enabled, invalid world data won't cause the server to shut down.
# Only enable this if you know what you are doing.
2025-04-01 07:55:47 -04:00
ignore_world_load_errors (Ignore world errors) [server] bool false
2025-02-19 11:45:31 -06:00
2022-06-30 20:18:09 +01:00
# Adjust the detected display density, used for scaling UI elements.
2025-04-01 07:55:47 -04:00
display_density_factor (Display Density Scaling Factor) [client] float 1 0.5 5.0
2022-06-30 20:18:09 +01:00
2024-10-28 19:40:18 +01:00
# Windows systems only: Start Luanti with the command line window in the background.
2022-06-30 20:18:09 +01:00
# Contains the same information as the file debug.txt (default name).
2025-04-01 07:55:47 -04:00
enable_console (Enable console window) [common] bool false
2022-06-30 20:18:09 +01:00
# 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).
2025-04-01 07:55:47 -04:00
max_clearobjects_extra_loaded_blocks (Max. clearobjects extra blocks) [server] int 4096 0 4294967295
2022-06-30 20:18:09 +01:00
# World directory (everything in the world is stored here).
# Not needed if starting from the main menu.
2025-04-01 07:55:47 -04:00
map-dir (Map directory) [server] path
2022-06-30 20:18:09 +01:00
# See https://www.sqlite.org/pragma.html#pragma_synchronous
2025-04-01 07:55:47 -04:00
sqlite_synchronous (Synchronous SQLite) [server] enum 2 0,1,2
2022-06-30 20:18:09 +01:00
# Compression level to use when saving mapblocks to disk.
# -1 - use default compression level
# 0 - least compression, fastest
# 9 - best compression, slowest
2025-04-01 07:55:47 -04:00
map_compression_level_disk (Map Compression Level for Disk Storage) [server] int -1 -1 9
2022-06-30 20:18:09 +01:00
# 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.
2025-04-01 07:55:47 -04:00
enable_remote_media_server (Connect to external media server) [client] bool true
2022-06-30 20:18:09 +01:00
# File in client/serverlist/ that contains your favorite servers displayed in the
# Multiplayer Tab.
2025-04-01 07:55:47 -04:00
serverlist_file (Serverlist file) [client] string favoriteservers.json
2022-06-30 20:18:09 +01:00
2025-04-01 07:55:47 -04:00
[*Gamepads] [client]
2022-06-30 20:18:09 +01:00
# Enable joysticks. Requires a restart to take effect
enable_joysticks (Enable joysticks) bool false
# The identifier of the joystick to use
joystick_id (Joystick ID) int 0 0 255
# The type of joystick
joystick_type (Joystick type) enum auto auto,generic,xbox,dragonrise_gamecube
# The time in seconds it takes between repeated events
# when holding down a joystick button combination.
repeat_joystick_button_time (Joystick button repetition interval) float 0.17 0.001
# The dead zone of the joystick
joystick_deadzone (Joystick dead zone) int 2048 0 65535
# The sensitivity of the joystick axes for moving the
# in-game view frustum around.
joystick_frustum_sensitivity (Joystick frustum sensitivity) float 170.0 0.001
2025-04-01 07:55:47 -04:00
[*Hide: Temporary Settings] [common]
2022-06-30 20:18:09 +01:00
# Path to texture directory. All textures are first searched from here.
texture_path (Texture path) path
# Enables minimap.
enable_minimap (Minimap) bool true
# Shape of the minimap. Enabled = round, disabled = square.
minimap_shape_round (Round minimap) bool true
# Address to connect to.
# Leave this blank to start a local server.
# Note that the address field in the main menu overrides this setting.
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
# Enable players getting damage and dying.
enable_damage (Damage) bool false
# Enable creative mode for all players
creative_mode (Creative) bool false
# Whether to allow players to damage and kill each other.
enable_pvp (Player versus player) bool true
# Player is able to fly without being affected by gravity.
# This requires the "fly" privilege on the server.
free_move (Flying) bool false
# If enabled, makes move directions relative to the player's pitch when flying or swimming.
pitch_move (Pitch move mode) bool false
# Fast movement (via the "Aux1" 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
# Continuous forward movement, toggled by autoforward key.
# Press the autoforward key again or the backwards movement to disable.
continuous_forward (Continuous forward) bool false
2023-04-14 22:32:25 +01:00
# This can be bound to a key to toggle camera smoothing when looking around.
# Useful for recording videos
cinematic (Cinematic mode) bool false
2022-06-30 20:18:09 +01:00
# Affects mods and texture packs in the Content and Select Mods menus, as well as
2023-10-07 21:34:59 +02:00
# setting names.
# Controlled by a checkbox in the settings menu.
2022-06-30 20:18:09 +01:00
show_technical_names (Show technical names) bool false
2023-10-07 21:34:59 +02:00
# Controlled by a checkbox in the settings menu.
show_advanced (Show advanced settings) bool false