.github Loading last commit info...
.vscode
android
builtin
client
clientmods/preview
cmake/Modules
doc
fastlane/metadata/android/en-US
fonts
games/devtest
irr
lib
misc
mods
po
src
textures
util
worlds
.clang-tidy
.dockerignore
.editorconfig
.gitattributes
.gitignore
.gitlab-ci.yml
.luacheckrc
.mailmap
CMakeLists.txt
CMakePresets.json
CNAME
COPYING.LESSER
Dockerfile
LICENSE.txt
README.md
minetest.conf.example
shell.nix
vcpkg.json
README.md

Luanti (formerly Minetest)

Build Status Translation status License

Luanti is a free open-source voxel game engine with easy modding and game creation.

Copyright (C) 2010-2025 Perttu Ahola celeron55@gmail.com and contributors (see source file comments and the version control log)

Table of Contents

  1. Further Documentation
  2. Default Controls
  3. Paths
  4. Configuration File
  5. Command-line Options
  6. Compiling
  7. Docker
  8. Version Scheme

Further documentation

Default controls

All controls are re-bindable using settings. Some can be changed in the key config dialog in the settings tab.

ButtonAction
Move mouseLook around
W, A, S, DMove
SpaceJump/move up
ShiftSneak/move down
QDrop itemstack
Shift + QDrop single item
Left mouse buttonDig/punch/use
Right mouse buttonPlace/use
Shift + right mouse buttonBuild (without using)
IInventory menu
Mouse wheelSelect item
0-9Select item
ZZoom (needs zoom privilege)
TChat
/Command
EscPause menu/abort/exit (pauses only singleplayer game)
Shift + EscExit directly to main menu from anywhere, bypassing pause menu
+Increase view range
-Decrease view range
KEnable/disable fly mode (needs fly privilege)
JEnable/disable fast mode (needs fast privilege)
HEnable/disable noclip mode (needs noclip privilege)
EAux1 (Move fast in fast mode. Games may add special features)
CCycle through camera modes
VCycle through minimap modes
Shift + VChange minimap orientation
F1Hide/show HUD
F2Hide/show chat
F3Disable/enable fog
F4Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)
F5Cycle through debug information screens
F6Cycle through profiler info screens
F10Show/hide console
F12Take 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 <path-to-file>
  • 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

Docker

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.

Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover