Minetest, an open source infinite-world block sandbox game engine with support for survival and crafting. Also see https://github.com/minetest/minetest_game http://minetest.net/

sfan5 fbec378869 Fix more type promotion mistakes 20 hours ago
.github 229389b7f6 Use newer IrrlichtMt 22 hours ago
android a29d3cf074 Save the settings in more cases to avoid losing setting changes (especially on Android) (#14266) 1 month ago
builtin 5d8a22066c Change how max_lag is calculated and reported (#14378) 22 hours ago
client 9e3a11534f Allow fog color to be overriden properly (#14296) 1 month ago
clientmods 467d3a8c62 Rename `hud_elem_type` to `type` (#14065) 1 month ago
cmake 8cccd75e81 Android build via CMake (#13528) 9 months ago
doc 229389b7f6 Use newer IrrlichtMt 22 hours ago
fonts 76dbd0d2d0 Fully remove bitmap font support (#11863) 2 years ago
games 762fca538c Expose SHA256 algorithm to Lua (#14403) 2 days ago
lib 2bcebc4e4e Update mini-gmp to 6.3.0 1 month ago
misc 229389b7f6 Use newer IrrlichtMt 22 hours ago
mods 180ec92ef9 Remove trailing whitespace (#13505) 9 months ago
po 4be8b77598 Run updatepo.sh 2 months ago
src fbec378869 Fix more type promotion mistakes 20 hours ago
textures 4ee32c5441 Add package update detection on Content tab (#13807) 4 months ago
util 229389b7f6 Use newer IrrlichtMt 22 hours ago
worlds fcd670e6f7 Add a worlds_here.txt file in the worlds folder and update .gitignore (#12720) 1 year ago
.clang-tidy 8546d6089a Update clang-tidy configuration and scripts 4 years ago
.dockerignore c4b048fbb3 fix: don't send the whole local context to the docker image 2 years ago
.editorconfig 6caa06eaed Remove mistaken exec mode from three files 1 month ago
.gitattributes f4856a33c9 .gitattributes 12 years ago
.gitignore af69d4f7a9 Allow dynamic_add_media at mod load time 1 week ago
.gitlab-ci.yml d98ea7fdb6 Remove GitLab CI and redirect GitLab pages to api.minetest.net 1 month ago
.luacheckrc 34286d77c7 Allow toggling touchscreen mode at runtime (#14075) 5 days ago
.mailmap 0a698d92c3 Update credits tab and mailmap 11 months ago
CMakeLists.txt 229389b7f6 Use newer IrrlichtMt 22 hours ago
CNAME 5949172735 Build MkDocs Lua API docs using GitHub CI, deploy to api.minetest.net (#13675) 5 months ago
COPYING.LESSER 6b6cd42ce4 Added copy of LGPL-2.1 (#12950) 1 year ago
Dockerfile 0f2517070e Update Docker image base 1 week ago
LICENSE.txt 4ee32c5441 Add package update detection on Content tab (#13807) 4 months ago
README.md dd094d7606 Write down some developer documentation 1 month ago
minetest.conf.example c2c8d4d410 Remove controls listed in the pause menu (no touchscreen) (#13282) 1 month ago

README.md

Minetest

Build Status Translation status License

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

Copyright (C) 2010-2022 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)
+ 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 Minetest 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

We provide a Dockerfile that can be used to build the server.

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.