Luanti (formerly Minetest) ========================== ![Build Status](https://github.com/minetest/minetest/workflows/build/badge.svg) [![Translation status](https://hosted.weblate.org/widgets/minetest/-/svg-badge.svg)](https://hosted.weblate.org/engage/minetest/?utm_source=widget) [![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) Luanti is a free open-source voxel game engine with easy modding and game creation. Copyright (C) 2010-2024 Perttu Ahola and contributors (see source file comments and the version control log) Table of Contents ------------------ 1. [Further Documentation](#further-documentation) 2. [Default Controls](#default-controls) 3. [Paths](#paths) 4. [Configuration File](#configuration-file) 5. [Command-line Options](#command-line-options) 6. [Compiling](#compiling) 7. [Docker](#docker) 8. [Version Scheme](#version-scheme) Further documentation ---------------------- - Website: https://www.minetest.net/ - Wiki: https://wiki.minetest.net/ - Forum: https://forum.luanti.org/ - GitHub: https://github.com/minetest/minetest/ - [Developer documentation](doc/developing/) - [doc/](doc/) directory of source distribution Default controls ---------------- All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab. | Button | Action | |-------------------------------|----------------------------------------------------------------| | Move mouse | Look around | | W, A, S, D | Move | | Space | Jump/move up | | Shift | Sneak/move down | | Q | Drop itemstack | | Shift + Q | Drop single item | | Left mouse button | Dig/punch/use | | Right mouse button | Place/use | | Shift + right mouse button | Build (without using) | | I | Inventory menu | | Mouse wheel | Select item | | 0-9 | Select item | | Z | Zoom (needs zoom privilege) | | T | Chat | | / | Command | | Esc | Pause menu/abort/exit (pauses only singleplayer game) | | + | Increase view range | | - | Decrease view range | | K | Enable/disable fly mode (needs fly privilege) | | J | Enable/disable fast mode (needs fast privilege) | | H | Enable/disable noclip mode (needs noclip privilege) | | E | Aux1 (Move fast in fast mode. Games may add special features) | | C | Cycle through camera modes | | V | Cycle through minimap modes | | Shift + V | Change minimap orientation | | F1 | Hide/show HUD | | F2 | Hide/show chat | | F3 | Disable/enable fog | | F4 | Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds) | | F5 | Cycle through debug information screens | | F6 | Cycle through profiler info screens | | F10 | Show/hide console | | F12 | Take screenshot | Paths ----- Locations: * `bin` - Compiled binaries * `share` - Distributed read-only data * `user` - User-created modifiable data Where each location is on each platform: * Windows .zip / RUN_IN_PLACE source: * `bin` = `bin` * `share` = `.` * `user` = `.` * Windows installed: * `bin` = `C:\Program Files\Minetest\bin (Depends on the install location)` * `share` = `C:\Program Files\Minetest (Depends on the install location)` * `user` = `%APPDATA%\Minetest` or `%MINETEST_USER_PATH%` * Linux installed: * `bin` = `/usr/bin` * `share` = `/usr/share/minetest` * `user` = `~/.minetest` or `$MINETEST_USER_PATH` * macOS: * `bin` = `Contents/MacOS` * `share` = `Contents/Resources` * `user` = `Contents/User` or `~/Library/Application Support/minetest` or `$MINETEST_USER_PATH` Worlds can be found as separate folders in: `user/worlds/` Configuration file ------------------ - Default location: `user/minetest.conf` - This file is created by closing Luanti for the first time. - A specific file can be specified on the command line: `--config ` - A run-in-place build will look for the configuration file in `location_of_exe/../minetest.conf` and also `location_of_exe/../../minetest.conf` Command-line options -------------------- - Use `--help` Compiling --------- - [Compiling - common information](doc/compiling/README.md) - [Compiling on GNU/Linux](doc/compiling/linux.md) - [Compiling on Windows](doc/compiling/windows.md) - [Compiling on MacOS](doc/compiling/macos.md) Docker ------ - [Developing minetestserver with Docker](doc/developing/docker.md) - [Running a server with Docker](doc/docker_server.md) Version scheme -------------- We use `major.minor.patch` since 5.0.0-dev. Prior to that we used `0.major.minor`. - Major is incremented when the release contains breaking changes, all other numbers are set to 0. - Minor is incremented when the release contains new non-breaking features, patch is set to 0. - Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary. Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release, i.e.: 5.0.0-dev is the development version leading to 5.0.0. Prior to that we used `previous_version-dev`.