back to home

luanti-org / luanti

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation

12,351 stars
2,255 forks
1,419 issues
C++LuaC

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing luanti-org/luanti in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/luanti-org/luanti)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview
<div align="center"> <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> </div> <br>

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

Copyright (C) 2010-2026 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)
+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.