# This file contains a list of all available settings and their default value for minetest.conf # By default, all the settings are commented and not functional. # Uncomment settings by removing the preceding #. # minetest.conf is read by default from: # ../minetest.conf # ../../minetest.conf # Any other path can be chosen by passing the path as a parameter # to the program, eg. "minetest.exe --config ../minetest.conf.example". # Further documentation: # http://wiki.minetest.net/ # # Client # ## Controls # If enabled, you can place blocks at the position (feet + eye level) where you stand. # This is helpful when working with nodeboxes in small areas. # type: bool # enable_build_where_you_stand = false # Player is able to fly without being affected by gravity. # This requires the "fly" privilege on the server. # type: bool # free_move = false # Fast movement (via use key). # This requires the "fast" privilege on the server. # type: bool # fast_move = false # If enabled together with fly mode, player is able to fly through solid nodes. # This requires the "noclip" privilege on the server. # type: bool # noclip = false # Smooths camera when looking around. Also called look or mouse smoothing. # Useful for recording videos. # type: bool # cinematic = false # Smooths rotation of camera. 0 to disable. # type: float min: 0 max: 0.99 # camera_smoothing = 0.0 # Smooths rotation of camera in cinematic mode. 0 to disable. # type: float min: 0 max: 0.99 # cinematic_camera_smoothing = 0.7 # Invert vertical mouse movement. # type: bool # invert_mouse = false # Mouse sensitivity multiplier. # type: float # mouse_sensitivity = 0.2 # If enabled, "use" key instead of "sneak" key is used for climbing down and descending. # type: bool # aux1_descends = false # Double-tapping the jump key toggles fly mode. # type: bool # doubletap_jump = false # If disabled "use" key is used to fly fast if both fly and fast mode are enabled. # type: bool # always_fly_fast = true # The time in seconds it takes between repeated right clicks when holding the right mouse button. # type: float # repeat_rightclick_time = 0.25 # Enable random user input (only used for testing). # type: bool # random_input = false # Continuous forward movement (only used for testing). # type: bool # continuous_forward = false # Enable Joysticks # type: bool # enable_joysticks = false # The identifier of the joystick to use # type: int # joystick_id = 0 # The type of joystick # type: enum values: auto, generic, xbox # joystick_type = auto # The time in seconds it takes between repeated events # when holding down a joystick button combination. # type: float # repeat_joystick_button_time = 0.17 # The sensitivity of the joystick axes for moving the # ingame view frustum around. # type: float # joystick_frustum_sensitivity = 170 # Key for moving the player forward. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_forward = KEY_KEY_W # Key for moving the player backward. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_backward = KEY_KEY_S # Key for moving the player left. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_left = KEY_KEY_A # Key for moving the player right. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_right = KEY_KEY_D # Key for jumping. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_jump = KEY_SPACE # Key for sneaking. # Also used for climbing down and descending in water if aux1_descends is disabled. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_sneak = KEY_LSHIFT # Key for opening the inventory. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_inventory = KEY_KEY_I # Key for moving fast in fast mode. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_special1 = KEY_KEY_E # Key for opening the chat window. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_chat = KEY_KEY_T # Key for opening the chat window to type commands. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_cmd = / # Key for opening the chat window to type local commands. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_cmd_local = . # Key for opening the chat console. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keyman_console = KEY_F10 # Key for toggling unlimited view range. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_rangeselect = KEY_KEY_R # Key for toggling flying. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_freemove = KEY_KEY_K # Key for toggling fast mode. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_fastmove = KEY_KEY_J # Key for toggling noclip mode. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_noclip = KEY_KEY_H # Key for selecting the next item in the hotbar. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_hotbar_next = KEY_KEY_N # Key for selecting the previous item in the hotbar. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_hotbar_previous = KEY_KEY_B # Key for muting the game. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_mute = KEY_KEY_M # Key for increasing the volume. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_increase_volume = # Key for decreasing the volume. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_decrease_volume = # Key for toggling autorun. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_autorun = # Key for toggling cinematic mode. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_cinematic = # Key for toggling display of minimap. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_minimap = KEY_F9 # Key for taking screenshots. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_screenshot = KEY_F12 # Key for dropping the currently selected item. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_drop = KEY_KEY_Q # Key to use view zoom when possible. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_zoom = KEY_KEY_Z # Key for toggling the display of the HUD. # See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3 # type: key # keymap_toggle_hud = KEY_F1 # Key for toggling the display of the chat. # See http://irrlicht.sourceforge.net/docu/namespaceirr./* Minetest Copyright (C) 2013 sapier <sapier AT gmx DOT net> This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "threading/semaphore.h" #include <iostream> #include <cstdlib> #include <cassert> #define UNUSED(expr) do { (void)(expr); } while (0) #ifdef _WIN32 #include <climits> #define MAX_SEMAPHORE_COUNT LONG_MAX - 1 #else #include <cerrno> #include <sys/time.h> #include <pthread.h> #if defined(__MACH__) && defined(__APPLE__) #include <mach/mach.h> #include <mach/task.h> #include <mach/semaphore.h> #include <sys/semaphore.h> #include <unistd.h> #undef sem_t #undef sem_init #undef sem_wait #undef sem_post #undef sem_destroy #define sem_t semaphore_t #define sem_init(s, p, c) semaphore_create(mach_task_self(), (s), 0, (c)) #define sem_wait(s) semaphore_wait(*(s)) #define sem_post(s) semaphore_signal(*(s)) #define sem_destroy(s) semaphore_destroy(mach_task_self(), *(s)) #endif #endif Semaphore::Semaphore(int val) { #ifdef _WIN32 semaphore = CreateSemaphore(NULL, val, MAX_SEMAPHORE_COUNT, NULL); #else int ret = sem_init(&semaphore, 0, val); assert(!ret); UNUSED(ret); #endif } Semaphore::~Semaphore() { #ifdef _WIN32 CloseHandle(semaphore); #else int ret = sem_destroy(&semaphore); #ifdef __ANDROID__ // Workaround for broken bionic semaphore implementation! assert(!ret || errno == EBUSY); #else assert(!ret); #endif UNUSED(ret); #endif } void Semaphore::post(unsigned int num) { assert(num > 0); #ifdef _WIN32 ReleaseSemaphore(semaphore, num, NULL); #else for (unsigned i = 0; i < num; i++) { int ret = sem_post(&semaphore); assert(!ret); UNUSED(ret); } #endif } void Semaphore::wait() { #ifdef _WIN32 WaitForSingleObject(semaphore, INFINITE); #else int ret = sem_wait(&semaphore); assert(!ret); UNUSED(ret); #endif } bool Semaphore::wait(unsigned int time_ms) { #ifdef _WIN32 unsigned int ret = WaitForSingleObject(semaphore, time_ms); if (ret == WAIT_OBJECT_0) { return true; } else { assert(ret == WAIT_TIMEOUT); return false; } #else # if defined(__MACH__) && defined(__APPLE__) mach_timespec_t wait_time; wait_time.tv_sec = time_ms / 1000; wait_time.tv_nsec = 1000000 * (time_ms % 1000); errno = 0; int ret = semaphore_timedwait(semaphore, wait_time); switch (ret) { case KERN_OPERATION_TIMED_OUT: errno = ETIMEDOUT; break; case KERN_ABORTED: errno = EINTR; break; default: if (ret) errno = EINVAL; } # else struct timespec wait_time; struct timeval now; if (gettimeofday(&now, NULL) == -1) { std::cerr << "Semaphore::wait(ms): Unable to get time with gettimeofday!" << std::endl; abort(); } wait_time.tv_nsec = ((time_ms % 1000) * 1000 * 1000) + (now.tv_usec * 1000); wait_time.tv_sec = (time_ms / 1000) + (wait_time.tv_nsec / (1000 * 1000 * 1000)) + now.tv_sec; wait_time.tv_nsec %= 1000 * 1000 * 1000; int ret = sem_timedwait(&semaphore, &wait_time); # endif assert(!ret || (errno == ETIMEDOUT || errno == EINTR)); return !ret; #endif } as found. # type: bool # inventory_image_hack = false # Fraction of the visible distance at which fog starts to be rendered # type: float min: 0 max: 0.99 # fog_start = 0.4 # Makes all liquids opaque # type: bool # opaque_water = false ### Menus # Use a cloud animation for the main menu background. # type: bool # menu_clouds = true # Scale gui by a user specified value. # Use a nearest-neighbor-anti-alias filter to scale the GUI. # This will smooth over some of the rough edges, and blend # pixels when scaling down, at the cost of blurring some # edge pixels when images are scaled by non-integer sizes. # type: float # gui_scaling = 1.0 # When gui_scaling_filter is true, all GUI images need to be # filtered in software, but some images are generated directly # to hardware (e.g. render-to-texture for nodes in inventory). # type: bool # gui_scaling_filter = false # When gui_scaling_filter_txr2img is true, copy those images # from hardware to software for scaling. When false, fall back # to the old scaling method, for video drivers that don't # properly support downloading textures back from hardware. # type: bool # gui_scaling_filter_txr2img = true # Delay showing tooltips, stated in milliseconds. # type: int # tooltip_show_delay = 400 # Whether freetype fonts are used, requires freetype support to be compiled in. # type: bool # freetype = true # Path to TrueTypeFont or bitmap. # type: path # font_path = fonts/liberationsans.ttf # type: int # font_size = 16 # Font shadow offset, if 0 then shadow will not be drawn. # type: int # font_shadow = 1 # Font shadow alpha (opaqueness, between 0 and 255). # type: int min: 0 max: 255 # font_shadow_alpha = 127 # type: path # mono_font_path = fonts/liberationmono.ttf # type: int # mono_font_size = 15 # This font will be used for certain languages. # type: path # fallback_font_path = fonts/DroidSansFallbackFull.ttf # type: int # fallback_font_size = 15 # type: int # fallback_font_shadow = 1 # type: int min: 0 max: 255 # fallback_font_shadow_alpha = 128 # Path to save screenshots at. # type: path # screenshot_path = # Format of screenshots. # type: enum values: png, jpg, bmp, pcx, ppm, tga # screenshot_format = png # Screenshot quality. Only used for JPEG format. # 1 means worst quality; 100 means best quality. # Use 0 for default quality. # type: int min: 0 max: 100 # screenshot_quality = 0 ### Advanced # Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens. # type: int # screen_dpi = 72 # Windows systems only: Start Minetest with the command line window in the background. # Contains the same information as the file debug.txt (default name). # type: bool # enable_console = false ## Sound # type: bool # enable_sound = true # type: float min: 0 max: 1 # sound_volume = 0.7 ## Advanced # Timeout for client to remove unused map data from memory. # type: int # client_unload_unused_data_timeout = 600 # Maximum number of mapblocks for client to be kept in memory. # Set to -1 for unlimited amount. # type: int # client_mapblock_limit = 5000 # Whether to show the client debug info (has the same effect as hitting F5). # type: bool # show_debug = false # # Server / Singleplayer # # Name of the server, to be displayed when players join and in the serverlist. # type: string # server_name = Minetest server # Description of server, to be displayed when players join and in the serverlist. # type: string # server_description = mine here # Domain name of server, to be displayed in the serverlist. # type: string # server_address = game.minetest.net # Homepage of server, to be displayed in the serverlist. # type: string # server_url = http://minetest.net # Automaticaly report to the serverlist. # type: bool # server_announce = false # Announce to this serverlist. # If you want to announce your ipv6 address, use serverlist_url = v6.servers.minetest.net. # type: string # serverlist_url = servers.minetest.net # Disable escape sequences, e.g. chat coloring. # Use this if you want to run a server with pre-0.4.14 clients and you want to disable # the escape sequences generated by mods. # type: bool # disable_escape_sequences = false ## Network # Network port to listen (UDP). # This value will be overridden when starting from the main menu. # type: int # port = 30000 # The network interface that the server listens on. # type: string # bind_address = # 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. # type: bool # strict_protocol_version_checking = false # Specifies URL from which client fetches media instead of using UDP. # $filename should be accessible from $remote_media$filename via cURL # (obviously, remote_media should end with a slash). # Files that are not present will be fetched the usual way. # type: string # remote_media = # Enable/disable running an IPv6 server. An IPv6 server may be restricted # to IPv6 clients, depending on system configuration. # Ignored if bind_address is set. # type: bool # ipv6_server = false ### Advanced # Maximum number of blocks that are simultaneously sent per client. # type: int # max_simultaneous_block_sends_per_client = 10 # Maximum number of blocks that are simultaneously sent in total. # type: int # max_simultaneous_block_sends_server_total = 40 # To reduce lag, block transfers are slowed down when a player is building something. # This determines how long they are slowed down after placing or removing a node. # type: float # full_block_send_enable_min_time_from_building = 2.0 # Maximum number of packets sent per send step, if you have a slow connection # try reducing it, but don't reduce it to a number below double of targeted # client number. # type: int # max_packets_per_iteration = 1024 ## Game # Default game when creating a new world. # This will be overridden when creating a world from the main menu. # type: string # default_game = minetest # Message of the day displayed to players connecting. # type: string # motd = # Maximum number of players that can connect simultaneously. # type: int # max_users = 15 # World directory (everything in the world is stored here). # Not needed if starting from the main menu. # type: path # map-dir = # Time in seconds for item entity (dropped items) to live. # Setting it to -1 disables the feature. # type: int # item_entity_ttl = 900 # If enabled, show the server status message on player connection. # type: bool # show_statusline_on_connect = true # Enable players getting damage and dying. # type: bool # enable_damage = false # Enable creative mode for new created maps. # type: bool # creative_mode = false # A chosen map seed for a new map, leave empty for random. # Will be overridden when creating a new world in the main menu. # type: string # fixed_map_seed = # New users need to input this password. # type: string # default_password = # The privileges that new users automatically get. # See /privs in game for a full list on your server and mod configuration. # type: string # default_privs = interact, shout # Privileges that players with basic_privs can grant # type: string # basic_privs = interact, shout # Whether players are shown to clients without any range limit. # Deprecated, use the setting player_transfer_distance instead. # type: bool # unlimited_player_transfer_distance = true # Defines the maximal player transfer distance in blocks (0 = unlimited). # type: int # player_transfer_distance = 0 # Whether to allow players to damage and kill each other. # type: bool # enable_pvp = true # If this is set, players will always (re)spawn at the given position. # type: string # static_spawnpoint = # If enabled, new players cannot join with an empty password. # type: bool # disallow_empty_password = false # If enabled, disable cheat prevention in multiplayer. # type: bool # disable_anticheat = false # If enabled, actions are recorded for rollback. # This option is only read when server starts. # type: bool # enable_rollback_recording = false # A message to be displayed to all clients when the server shuts down. # type: string # kick_msg_shutdown = Server shutting down. # A message to be displayed to all clients when the server crashes. # type: string # kick_msg_crash = This server has experienced an internal error. You will now be disconnected. # Whether to ask clients to reconnect after a (Lua) crash. # Set this to true if your server is set up to restart automatically. # type: bool # ask_reconnect_on_crash = false # From how far clients know about objects, stated in mapblocks (16 nodes). # type: int # active_object_send_range_blocks = 3 # How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes). # In active blocks objects are loaded and ABMs run. # type: int # active_block_range = 3 # From how far blocks are sent to clients, stated in mapblocks (16 nodes). # type: int # max_block_send_distance = 10 # Maximum number of forceloaded mapblocks. # type: int # max_forceloaded_blocks = 16 # Interval of sending time of day to clients. # type: int # time_send_interval = 5 # Controls length of day/night cycle. # Examples: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged. # type: int # time_speed = 72 # Interval of saving important changes in the world, stated in seconds. # type: float # server_map_save_interval = 5.3 ### Physics # type: float # movement_acceleration_default = 3 # type: float # movement_acceleration_air = 2 # type: float # movement_acceleration_fast = 10 # type: float # movement_speed_walk = 4 # type: float # movement_speed_crouch = 1.35 # type: float # movement_speed_fast = 20 # type: float # movement_speed_climb = 3 # type: float # movement_speed_jump = 6.5 # type: float # movement_speed_descend = 6 # type: float # movement_liquid_fluidity = 1 # type: float # movement_liquid_fluidity_smooth = 0.5 # type: float # movement_liquid_sink = 10 # type: float # movement_gravity = 9.81 ### Advanced # Handling for deprecated lua api calls: # - legacy: (try to) mimic old behaviour (default for release). # - log: mimic and log backtrace of deprecated call (default for debug). # - error: abort on usage of deprecated call (suggested for mod developers). # type: enum values: legacy, log, error # deprecated_lua_api_handling = legacy # Number of extra blocks that can be loaded by /clearobjects at once. # This is a trade-off between sqlite transaction overhead and # memory consumption (4096=100MB, as a rule of thumb). # type: int # max_clearobjects_extra_loaded_blocks = 4096 # How much the server will wait before unloading unused mapblocks. # Higher value is smoother, but will use more RAM. # type: int # server_unload_unused_data_timeout = 29 # Maximum number of statically stored objects in a block. # type: int # max_objects_per_block = 64 # See http://www.sqlite.org/pragma.html#pragma_synchronous # type: enum values: 0, 1, 2 # sqlite_synchronous = 2 # Length of a server tick and the interval at which objects are generally updated over network. # type: float # dedicated_server_step = 0.1 # Time in between active block management cycles # type: float # active_block_mgmt_interval = 2.0 # Length of time between ABM execution cycles # type: float # abm_interval = 1.0 # Length of time between NodeTimer execution cycles # type: float # nodetimer_interval = 0.2 # If enabled, invalid world data won't cause the server to shut down. # Only enable this if you know what you are doing. # type: bool # ignore_world_load_errors = false # Max liquids processed per step. # type: int # liquid_loop_max = 100000 # The time (in seconds) that the liquids queue may grow beyond processing # capacity until an attempt is made to decrease its size by dumping old queue # items. A value of 0 disables the functionality. # type: int # liquid_queue_purge_time = 0 # Liquid update interval in seconds. # type: float # liquid_update = 1.0 # At this distance the server will aggressively optimize which blocks are sent to clients. # Small values potentially improve performance a lot, at the expense of visible rendering glitches. # (some blocks will not be rendered under water and in caves, as well as sometimes on land) # Setting this to a value greater than max_block_send_distance disables this optimization. # Stated in mapblocks (16 nodes) # type: int min: 2 # block_send_optimize_distance = 4 # If enabled the server will perform map block occlusion culling based on # on the eye position of the player. This can reduce the number of blocks # sent to the client 50-80%. The client will not longer receive most invisible # so that the utility of noclip mode is reduced. # type: bool # server_side_occlusion_culling = true ## Mapgen # Name of map generator to be used when creating a new world. # Creating a world in the main menu will override this. # type: enum values: v5, v6, v7, flat, valleys, fractal, singlenode # mg_name = v7 # Water surface level of the world. # type: int # water_level = 1 # From how far blocks are generated for clients, stated in mapblocks (16 nodes). # type: int # max_block_generate_distance = 6 # Limit of map generation, in nodes, in all 6 directions from (0, 0, 0). # Only mapchunks completely within the mapgen limit are generated. # Value is stored per-world. # type: int min: 0 max: 31000 # mapgen_limit = 31000 # Global map generation attributes. # In Mapgen v6 the 'decorations' flag controls all decorations except trees # and junglegrass, in all other mapgens this flag controls all decorations. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: caves, dungeons, light, decorations, nocaves, nodungeons, nolight, nodecorations # mg_flags = caves,dungeons,light,decorations ### Advanced # Size of chunks to be generated at once by mapgen, stated in mapblocks (16 nodes). # type: int # chunksize = 5 # Dump the mapgen debug infos. # type: bool # enable_mapgen_debug_info = false # Maximum number of blocks that can be queued for loading. # type: int # emergequeue_limit_total = 256 # Maximum number of blocks to be queued that are to be loaded from file. # Set to blank for an appropriate amount to be chosen automatically. # type: int # emergequeue_limit_diskonly = 32 # Maximum number of blocks to be queued that are to be generated. # Set to blank for an appropriate amount to be chosen automatically. # type: int # emergequeue_limit_generate = 32 # Number of emerge threads to use. Make this field blank, or increase this number # to use multiple threads. On multiprocessor systems, this will improve mapgen speed greatly # at the cost of slightly buggy caves. # type: int # num_emerge_threads = 1 #### Biome API temperature and humidity noise parameters # Temperature variation for biomes. # type: noise_params # mg_biome_np_heat = 50, 50, (1000, 1000, 1000), 5349, 3, 0.5, 2.0 # Small-scale temperature variation for blending biomes on borders. # type: noise_params # mg_biome_np_heat_blend = 0, 1.5, (8, 8, 8), 13, 2, 1.0, 2.0 # Humidity variation for biomes. # type: noise_params # mg_biome_np_humidity = 50, 50, (1000, 1000, 1000), 842, 3, 0.5, 2.0 # Small-scale humidity variation for blending biomes on borders. # type: noise_params # mg_biome_np_humidity_blend = 0, 1.5, (8, 8, 8), 90003, 2, 1.0, 2.0 #### Mapgen v5 # Map generation attributes specific to Mapgen v5. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: caverns, nocaverns # mgv5_spflags = caverns # Controls width of tunnels, a smaller value creates wider tunnels. # type: float # mgv5_cave_width = 0.125 # Y-level of cavern upper limit. # type: int # mgv5_cavern_limit = -256 # Y-distance over which caverns expand to full size. # type: int # mgv5_cavern_taper = 256 # Defines full size of caverns, smaller values create larger caverns. # type: float # mgv5_cavern_threshold = 0.7 # Variation of biome filler depth. # type: noise_params # mgv5_np_filler_depth = 0, 1, (150, 150, 150), 261, 4, 0.7, 2.0 # Variation of terrain vertical scale. # When noise is < -0.55 terrain is near-flat. # type: noise_params # mgv5_np_factor = 0, 1, (250, 250, 250), 920381, 3, 0.45, 2.0 # Y-level of average terrain surface. # type: noise_params # mgv5_np_height = 0, 10, (250, 250, 250), 84174, 4, 0.5, 2.0 # First of 2 3D noises that together define tunnels. # type: noise_params # mgv5_np_cave1 = 0, 12, (50, 50, 50), 52534, 4, 0.5, 2.0 # Second of 2 3D noises that together define tunnels. # type: noise_params # mgv5_np_cave2 = 0, 12, (50, 50, 50), 10325, 4, 0.5, 2.0 # 3D noise defining giant caverns. # type: noise_params # mgv5_np_cavern = 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0 #### Mapgen v6 # Map generation attributes specific to Mapgen v6. # The 'snowbiomes' flag enables the new 5 biome system. # When the new biome system is enabled jungles are automatically enabled and # the 'jungles' flag is ignored. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, flat, trees, nojungles, nobiomeblend, nomudflow, nosnowbiomes, noflat, notrees # mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,trees # Deserts occur when np_biome exceeds this value. # When the new biome system is enabled, this is ignored. # type: float # mgv6_freq_desert = 0.45 # Sandy beaches occur when np_beach exceeds this value. # type: float # mgv6_freq_beach = 0.15 # Y-level of lower terrain and lakebeds. # type: noise_params # mgv6_np_terrain_base = -4, 20, (250, 250, 250), 82341, 5, 0.6, 2.0 # Y-level of higher (cliff-top) terrain. # type: noise_params # mgv6_np_terrain_higher = 20, 16, (500, 500, 500), 85039, 5, 0.6, 2.0 # Varies steepness of cliffs. # type: noise_params # mgv6_np_steepness = 0.85, 0.5, (125, 125, 125), -932, 5, 0.7, 2.0 # Defines areas of 'terrain_higher' (cliff-top terrain). # type: noise_params # mgv6_np_height_select = 0.5, 1, (250, 250, 250), 4213, 5, 0.69, 2.0 # Varies depth of biome surface nodes. # type: noise_params # mgv6_np_mud = 4, 2, (200, 200, 200), 91013, 3, 0.55, 2.0 # Defines areas with sandy beaches. # type: noise_params # mgv6_np_beach = 0, 1, (250, 250, 250), 59420, 3, 0.50, 2.0 # Temperature variation for biomes. # type: noise_params # mgv6_np_biome = 0, 1, (500, 500, 500), 9130, 3, 0.50, 2.0 # Variation of number of caves. # type: noise_params # mgv6_np_cave = 6, 6, (250, 250, 250), 34329, 3, 0.50, 2.0 # Humidity variation for biomes. # type: noise_params # mgv6_np_humidity = 0.5, 0.5, (500, 500, 500), 72384, 3, 0.50, 2.0 # Defines tree areas and tree density. # type: noise_params # mgv6_np_trees = 0, 1, (125, 125, 125), 2, 4, 0.66, 2.0 # Defines areas where trees have apples. # type: noise_params # mgv6_np_apple_trees = 0, 1, (100, 100, 100), 342902, 3, 0.45, 2.0 #### Mapgen v7 # Map generation attributes specific to Mapgen v7. # The 'ridges' flag enables the rivers. # Floatlands are currently experimental and subject to change. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: mountains, ridges, floatlands, caverns, nomountains, noridges, nofloatlands, nocaverns # mgv7_spflags = mountains,ridges,nofloatlands,caverns # Controls width of tunnels, a smaller value creates wider tunnels. # type: float # mgv7_cave_width = 0.09 # Controls the density of floatland mountain terrain. # Is an offset added to the 'np_mountain' noise value. # type: float # mgv7_float_mount_density = 0.6 # Typical maximum height, above and below midpoint, of floatland mountain terrain. # type: float # mgv7_float_mount_height = 128.0 # Y-level of floatland midpoint and lake surface. # type: int # mgv7_floatland_level = 1280 # Y-level to which floatland shadows extend. # type: int # mgv7_shadow_limit = 1024 # Y-level of cavern upper limit. # type: int # mgv7_cavern_limit = -256 # Y-distance over which caverns expand to full size. # type: int # mgv7_cavern_taper = 256 # Defines full size of caverns, smaller values create larger caverns. # type: float # mgv7_cavern_threshold = 0.7 # Y-level of higher (cliff-top) terrain. # type: noise_params # mgv7_np_terrain_base = 4, 70, (600, 600, 600), 82341, 5, 0.6, 2.0 # Y-level of lower terrain and lakebeds. # type: noise_params # mgv7_np_terrain_alt = 4, 25, (600, 600, 600), 5934, 5, 0.6, 2.0 # Varies roughness of terrain. # Defines the 'persistence' value for terrain_base and terrain_alt noises. # type: noise_params # mgv7_np_terrain_persist = 0.6, 0.1, (2000, 2000, 2000), 539, 3, 0.6, 2.0 # Defines areas of higher (cliff-top) terrain and affects steepness of cliffs. # type: noise_params # mgv7_np_height_select = -8, 16, (500, 500, 500), 4213, 6, 0.7, 2.0 # Variation of biome filler depth. # type: noise_params # mgv7_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0 # Variation of maximum mountain height (in nodes). # type: noise_params # mgv7_np_mount_height = 256, 112, (1000, 1000, 1000), 72449, 3, 0.6, 2.0 # Defines large-scale river channel structure. # type: noise_params # mgv7_np_ridge_uwater = 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0 # Defines areas of floatland smooth terrain. # Smooth floatlands occur when noise > 0. # type: noise_params # mgv7_np_floatland_base = -0.6, 1.5, (600, 600, 600), 114, 5, 0.6, 2.0 # Variation of hill height and lake depth on floatland smooth terrain. # type: noise_params # mgv7_np_float_base_height = 48, 24, (300, 300, 300), 907, 4, 0.7, 2.0 # 3D noise defining mountain structure and height. # Also defines structure of floatland mountain terrain. # type: noise_params # mgv7_np_mountain = -0.6, 1, (250, 350, 250), 5333, 5, 0.63, 2.0 # 3D noise defining structure of river canyon walls. # type: noise_params # mgv7_np_ridge = 0, 1, (100, 100, 100), 6467, 4, 0.75, 2.0 # 3D noise defining giant caverns. # type: noise_params # mgv7_np_cavern = 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0 # First of 2 3D noises that together define tunnels. # type: noise_params # mgv7_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0 # Second of 2 3D noises that together define tunnels. # type: noise_params # mgv7_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0 #### Mapgen flat # Map generation attributes specific to Mapgen flat. # Occasional lakes and hills can be added to the flat world. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: lakes, hills, nolakes, nohills # mgflat_spflags = nolakes,nohills # Y of flat ground. # type: int # mgflat_ground_level = 8 # Y of upper limit of large pseudorandom caves. # type: int # mgflat_large_cave_depth = -33 # Controls width of tunnels, a smaller value creates wider tunnels. # type: float # mgflat_cave_width = 0.09 # Terrain noise threshold for lakes. # Controls proportion of world area covered by lakes. # Adjust towards 0.0 for a larger proportion. # type: float # mgflat_lake_threshold = -0.45 # Controls steepness/depth of lake depressions. # type: float # mgflat_lake_steepness = 48.0 # Terrain noise threshold for hills. # Controls proportion of world area covered by hills. # Adjust towards 0.0 for a larger proportion. # type: float # mgflat_hill_threshold = 0.45 # Controls steepness/height of hills. # type: float # mgflat_hill_steepness = 64.0 # Defines location and terrain of optional hills and lakes. # type: noise_params # mgflat_np_terrain = 0, 1, (600, 600, 600), 7244, 5, 0.6, 2.0 # Variation of biome filler depth. # type: noise_params # mgflat_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0 # First of 2 3D noises that together define tunnels. # type: noise_params # mgflat_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0 # Second of 2 3D noises that together define tunnels. # type: noise_params # mgflat_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0 #### Mapgen fractal # Controls width of tunnels, a smaller value creates wider tunnels. # type: float # mgfractal_cave_width = 0.09 # Choice of 18 fractals from 9 formulas. # 1 = 4D "Roundy" mandelbrot set. # 2 = 4D "Roundy" julia set. # 3 = 4D "Squarry" mandelbrot set. # 4 = 4D "Squarry" julia set. # 5 = 4D "Mandy Cousin" mandelbrot set. # 6 = 4D "Mandy Cousin" julia set. # 7 = 4D "Variation" mandelbrot set. # 8 = 4D "Variation" julia set. # 9 = 3D "Mandelbrot/Mandelbar" mandelbrot set. # 10 = 3D "Mandelbrot/Mandelbar" julia set. # 11 = 3D "Christmas Tree" mandelbrot set. # 12 = 3D "Christmas Tree" julia set. # 13 = 3D "Mandelbulb" mandelbrot set. # 14 = 3D "Mandelbulb" julia set. # 15 = 3D "Cosine Mandelbulb" mandelbrot set. # 16 = 3D "Cosine Mandelbulb" julia set. # 17 = 4D "Mandelbulb" mandelbrot set. # 18 = 4D "Mandelbulb" julia set. # type: int min: 1 max: 18 # mgfractal_fractal = 1 # Iterations of the recursive function. # Controls the amount of fine detail. # type: int # mgfractal_iterations = 11 # Approximate (X,Y,Z) scale of fractal in nodes. # type: v3f # mgfractal_scale = (4096.0, 1024.0, 4096.0) # (X,Y,Z) offset of fractal from world centre in units of 'scale'. # Used to move a suitable spawn area of low land close to (0, 0). # The default is suitable for mandelbrot sets, it needs to be edited for julia sets. # Range roughly -2 to 2. Multiply by 'scale' for offset in nodes. # type: v3f # mgfractal_offset = (1.79, 0.0, 0.0) # W co-ordinate of the generated 3D slice of a 4D fractal. # Determines which 3D slice of the 4D shape is generated. # Has no effect on 3D fractals. # Range roughly -2 to 2. # type: float # mgfractal_slice_w = 0.0 # Julia set only: X component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_x = 0.33 # Julia set only: Y component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_y = 0.33 # Julia set only: Z component of hypercomplex constant determining julia shape. # Range roughly -2 to 2. # type: float # mgfractal_julia_z = 0.33 # Julia set only: W component of hypercomplex constant determining julia shape. # Has no effect on 3D fractals. # Range roughly -2 to 2. # type: float # mgfractal_julia_w = 0.33 # Y-level of seabed. # type: noise_params # mgfractal_np_seabed = -14, 9, (600, 600, 600), 41900, 5, 0.6, 2.0 # Variation of biome filler depth. # type: noise_params # mgfractal_np_filler_depth = 0, 1.2, (150, 150, 150), 261, 3, 0.7, 2.0 # First of 2 3D noises that together define tunnels. # type: noise_params # mgfractal_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0 # Second of 2 3D noises that together define tunnels. # type: noise_params # mgfractal_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0 #### Mapgen Valleys ##### General # Map generation attributes specific to Mapgen Valleys. # 'altitude_chill' makes higher elevations colder, which may cause biome issues. # 'humid_rivers' modifies the humidity around rivers and in areas where water would tend to pool, # it may interfere with delicately adjusted biomes. # Flags that are not specified in the flag string are not modified from the default. # Flags starting with 'no' are used to explicitly disable them. # type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers # mg_valleys_spflags = altitude_chill,humid_rivers # The altitude at which temperature drops by 20C # type: int # mgvalleys_altitude_chill = 90 # Depth below which you'll find large caves. # type: int # mgvalleys_large_cave_depth = -33 # Creates unpredictable lava features in caves. # These can make mining difficult. Zero disables them. (0-10) # type: int # mgvalleys_lava_features = 0 # Depth below which you'll find massive caves. # type: int # mgvalleys_massive_cave_depth = -256 # How deep to make rivers # type: int # mgvalleys_river_depth = 4 # How wide to make rivers # type: int # mgvalleys_river_size = 5 # Creates unpredictable water features in caves. # These can make mining difficult. Zero disables them. (0-10) # type: int # mgvalleys_water_features = 0 # Controls width of tunnels, a smaller value creates wider tunnels. # type: float # mgvalleys_cave_width = 0.09 ##### Noises # Caves and tunnels form at the intersection of the two noises # type: noise_params # mgvalleys_np_cave1 = 0, 12, (61, 61, 61), 52534, 3, 0.5, 2.0 # Caves and tunnels form at the intersection of the two noises # type: noise_params # mgvalleys_np_cave2 = 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0 # The depth of dirt or other filler # type: noise_params # mgvalleys_np_filler_depth = 0, 1.2, (256, 256, 256), 1605, 3, 0.5, 2.0 # Massive caves form here. # type: noise_params # mgvalleys_np_massive_caves = 0, 1, (768, 256, 768), 59033, 6, 0.63, 2.0 # River noise -- rivers occur close to zero # type: noise_params # mgvalleys_np_rivers = 0, 1, (256, 256, 256), -6050, 5, 0.6, 2.0 # Base terrain height # type: noise_params # mgvalleys_np_terrain_height = -10, 50, (1024, 1024, 1024), 5202, 6, 0.4, 2.0 # Raises terrain to make valleys around the rivers # type: noise_params # mgvalleys_np_valley_depth = 5, 4, (512, 512, 512), -1914, 1, 1.0, 2.0 # Slope and fill work together to modify the heights # type: noise_params # mgvalleys_np_inter_valley_fill = 0, 1, (256, 512, 256), 1993, 6, 0.8, 2.0 # Amplifies the valleys # type: noise_params # mgvalleys_np_valley_profile = 0.6, 0.5, (512, 512, 512), 777, 1, 1.0, 2.0 # Slope and fill work together to modify the heights # type: noise_params # mgvalleys_np_inter_valley_slope = 0.5, 0.5, (128, 128, 128), 746, 1, 1.0, 2.0 ## Security # Prevent mods from doing insecure things like running shell commands. # type: bool # secure.enable_security = true # Comma-separated list of trusted mods that are allowed to access insecure # functions even when mod security is on (via request_insecure_environment()). # type: string # secure.trusted_mods = # Comma-separated list of mods that are allowed to access HTTP APIs, which # allow them to upload and download data to/from the internet. # type: string # secure.http_mods = ## Advanced ### Profiling # Load the game profiler to collect game profiling data. # Provides a /profiler command to access the compiled profile. # Useful for mod developers and server operators. # type: bool # profiler.load = false # The default format in which profiles are being saved, # when calling `/profiler save [format]` without format. # type: enum values: txt, csv, lua, json, json_pretty # profiler.default_report_format = txt # The file path relative to your worldpath in which profiles will be saved to. # type: string # profiler.report_path = "" #### Instrumentation # Instrument the methods of entities on registration. # type: bool # instrument.entity = true # Instrument the action function of Active Block Modifiers on registration. # type: bool # instrument.abm = true # Instrument the action function of Loading Block Modifiers on registration. # type: bool # instrument.lbm = true # Instrument chatcommands on registration. # type: bool # instrument.chatcommand = true # Instrument global callback functions on registration. # (anything you pass to a minetest.register_*() function) # type: bool # instrument.global_callback = true ##### Advanced # Instrument builtin. # This is usually only needed by core/builtin contributors # type: bool # instrument.builtin = false # Have the profiler instrument itself: # * Instrument an empty function. # This estimates the overhead, that instrumentation is adding (+1 function call). # * Instrument the sampler being used to update the statistics. # type: bool # instrument.profiler = false # # Client and Server # # Name of the player. # When running a server, clients connecting with this name are admins. # When starting from the main menu, this is overridden. # type: string # name = # Set the language. Leave empty to use the system language. # A restart is required after changing this. # type: enum values: , be, ca, cs, da, de, en, eo, es, et, fr, he, hu, id, it, ja, jbo, ko, ky, lt, nb, nl, pl, pt, pt_BR, ro, ru, sr_Cyrl, tr, uk, zh_CN, zh_TW # language = # Level of logging to be written to debug.txt: # - (no logging) # - none (messages with no level) # - error # - warning # - action # - info # - verbose # type: enum values: , warning, action, info, verbose # debug_log_level = action # IPv6 support. # type: bool # enable_ipv6 = true ## Advanced # Default timeout for cURL, stated in milliseconds. # Only has an effect if compiled with cURL. # type: int # curl_timeout = 5000 # Limits number of parallel HTTP requests. Affects: # - Media fetch if server uses remote_media setting. # - Serverlist download and server announcement. # - Downloads performed by main menu (e.g. mod manager). # Only has an effect if compiled with cURL. # type: int # curl_parallel_limit = 8 # Maximum time in ms a file download (e.g. a mod download) may take. # type: int # curl_file_download_timeout = 300000 # Makes DirectX work with LuaJIT. Disable if it causes troubles. # type: bool # high_precision_fpu = true # Replaces the default main menu with a custom one. # type: string # main_menu_script = # type: int # main_menu_game_mgr = 0 # type: int # main_menu_mod_mgr = 1 # type: string # modstore_download_url = https://forum.minetest.net/media/ # type: string # modstore_listmods_url = https://forum.minetest.net/mmdb/mods/ # type: string # modstore_details_url = https://forum.minetest.net/mmdb/mod/*/ # Print the engine's profiling data in regular intervals (in seconds). 0 = disable. Useful for developers. # type: int # profiler_print_interval = 0