A Github-free Minetest source code hosting.

Lars Müller 643d1cbd8d Docs: Remove outdated glTF status notice 13 小時之前
.github 0794145b64 Build benchmarks in one CI run 3 周之前
.vscode 82790b1556 Add documentation for IDE developer setup (#13935) 1 年之前
android d1d33ae4bc Translated using Weblate (Ukrainian) 2 周之前
builtin 77dd86a79c Do not mark system-wide content as updateable 3 天之前
client 03affa1bbb Some minor code cleanups 3 月之前
clientmods 467d3a8c62 Rename `hud_elem_type` to `type` (#14065) 1 年之前
cmake 4b90e582b4 Rename to Luanti (#15294) 8 月之前
doc 643d1cbd8d Docs: Remove outdated glTF status notice 13 小時之前
fastlane a983b72713 Add Fastlane metadata for F-Droid (#15411) 8 月之前
fonts 76dbd0d2d0 Fully remove bitmap font support (#11863) 3 年之前
games 4f42b4308c Add persistent unique identifiers for objects (#14135) 1 周之前
irr e8e5ef0369 Deleted unused parts of blitter 3 天之前
lib ce2380b58e Include header files in CMake sources (#16297) 1 周之前
misc 49f48e0a7c Update links and names in the documentation (#16153) 3 周之前
mods 180ec92ef9 Remove trailing whitespace (#13505) 2 年之前
po 33940021a1 Run updatepo.sh 1 周之前
src 251488b3aa Enforce explicit size limit for media files 3 天之前
textures 75862e33b6 ContentDB: Add reviews tab (#15254) 3 月之前
util 3dd99e1492 updatepo: Drop strings that are obsolete for >1 script run 1 周之前
worlds fcd670e6f7 Add a worlds_here.txt file in the worlds folder and update .gitignore (#12720) 2 年之前
.clang-tidy 0667cbf5a2 Clang-Tidy config: Ignore performance-avoid-endl and performance-inefficient-string-concatenation 4 月之前
.dockerignore c4b048fbb3 fix: don't send the whole local context to the docker image 4 年之前
.editorconfig 44db47e64a Fix `.editorconfig` mandating tabs for Markdown 11 月之前
.gitattributes a37bdbf8b7 Restore `.x` models to working state (#15550) 7 月之前
.gitignore db97b2bd93 Updates some Minetest references to Luanti (#15712) 5 月之前
.gitlab-ci.yml d98ea7fdb6 Remove GitLab CI and redirect GitLab pages to api.minetest.net 1 年之前
.luacheckrc 23bfb2db72 Move keybinding settings to (Lua-based) setting menu (#15791) 3 月之前
.mailmap c3b5cc8611 Rename erle in credits (as requested by them) 8 月之前
CMakeLists.txt 66aa5f3fac Continue with 5.13.0-dev 1 月之前
CMakePresets.json 82790b1556 Add documentation for IDE developer setup (#13935) 1 年之前
CNAME 8d43ad2522 Migrate rendered Lua API docs CNAME to `api.luanti.org` 7 月之前
COPYING.LESSER 6b6cd42ce4 Added copy of LGPL-2.1 (#12950) 2 年之前
Dockerfile 4b90e582b4 Rename to Luanti (#15294) 8 月之前
LICENSE.txt 75862e33b6 ContentDB: Add reviews tab (#15254) 3 月之前
README.md 49f48e0a7c Update links and names in the documentation (#16153) 3 周之前
minetest.conf.example 15f41eb82e Update minetest.conf.example and translation file 1 周之前
shell.nix a0e33ba9ea dev: add shell.nix (#14823) 11 月之前
vcpkg.json 0c7149b8df Build-related fixes (#16102) 2 月之前

README.md

<img src="textures/base/pack/logo.png" width="32%">
<h1>Luanti (formerly Minetest)</h1>
<img src="https://github.com/luanti-org/luanti/workflows/build/badge.svg" alt="Build Status">
<a href="https://hosted.weblate.org/engage/minetest/?utm_source=widget"><img src="https://hosted.weblate.org/widgets/minetest/-/svg-badge.svg" alt="Translation status"></a>
<a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html"><img src="https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg" alt="License"></a>


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.

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)
Shift + Esc Exit directly to main menu from anywhere, bypassing pause menu
+ 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 <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.