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 c24a04d246 Optimize pushing collision data for entity on_step пре 6 месеци
.github d767ab0890 Add runtime test to mingw CI пре 7 месеци
android 4ab3c54f5b Basic tablet/phone/watch autodetection (#14400) пре 6 месеци
builtin c24a04d246 Optimize pushing collision data for entity on_step пре 6 месеци
client a9a0f1e129 Fix GLES shader precision issues (#14516) пре 7 месеци
clientmods 467d3a8c62 Rename `hud_elem_type` to `type` (#14065) пре 10 месеци
cmake 07fdf7158d Migrate the Android port to SDL2 пре 7 месеци
doc 2efd0996e6 Document empty string as form name (#14601) пре 6 месеци
fonts 76dbd0d2d0 Fully remove bitmap font support (#11863) пре 2 година
games 72cb4e9bea Allow `nil` puncher in `object:punch` (#14319) пре 6 месеци
irr af27d97003 Log delays introduced by SDL_PollEvent пре 6 месеци
lib fa072c1d2c Update Lua BitOp's stdint.h check for MSVC пре 8 месеци
misc 3a35db6e67 Turn dos files into unix files пре 7 месеци
mods 180ec92ef9 Remove trailing whitespace (#13505) пре 1 година
po 4be8b77598 Run updatepo.sh пре 11 месеци
src c24a04d246 Optimize pushing collision data for entity on_step пре 6 месеци
textures 4ee32c5441 Add package update detection on Content tab (#13807) пре 1 година
util 815b5cb086 Translation updater: Add comment propagation (#14416) пре 6 месеци
worlds fcd670e6f7 Add a worlds_here.txt file in the worlds folder and update .gitignore (#12720) пре 2 година
.clang-tidy 8546d6089a Update clang-tidy configuration and scripts пре 4 година
.dockerignore c4b048fbb3 fix: don't send the whole local context to the docker image пре 3 година
.editorconfig 6caa06eaed Remove mistaken exec mode from three files пре 10 месеци
.gitattributes d4b10db998 Add LF config to .gitattributes пре 7 месеци
.gitignore 9cee9bc279 Build with the imported IrrlichtMt at irr пре 7 месеци
.gitlab-ci.yml d98ea7fdb6 Remove GitLab CI and redirect GitLab pages to api.minetest.net пре 10 месеци
.luacheckrc 34286d77c7 Allow toggling touchscreen mode at runtime (#14075) пре 8 месеци
.mailmap 0a698d92c3 Update credits tab and mailmap пре 1 година
CMakeLists.txt b9adf244e5 Simplify Irrlicht CMake for static linking пре 7 месеци
CNAME 5949172735 Build MkDocs Lua API docs using GitHub CI, deploy to api.minetest.net (#13675) пре 1 година
COPYING.LESSER 6b6cd42ce4 Added copy of LGPL-2.1 (#12950) пре 2 година
Dockerfile 9cee9bc279 Build with the imported IrrlichtMt at irr пре 7 месеци
LICENSE.txt 4ee32c5441 Add package update detection on Content tab (#13807) пре 1 година
README.md 5a27c05b6a Docker image workflow (publish on `ghcr.io`) (#14230) пре 7 месеци
minetest.conf.example c2c8d4d410 Remove controls listed in the pause menu (no touchscreen) (#13282) пре 10 месеци

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

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.