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/

rubenwardy 48ab1835da Replace settings tab with button 9 mēneši atpakaļ
.github 54eacca287 Use issue templates for creating issues (#13222) 9 mēneši atpakaļ
android ba6de431a2 Android: Remove Migration Code (#13590) 10 mēneši atpakaļ
builtin 48ab1835da Replace settings tab with button 8 mēneši atpakaļ
client 0ade097e99 Allow the server to control fog_distance and fog_start via the sky-api (#13448) 11 mēneši atpakaļ
clientmods 6ec6acc539 Add `minetest.settings` to CSM API and allow CSMs to provide `settingtypes.txt` (#12131) 1 gadu atpakaļ
cmake 8cccd75e81 Android build via CMake (#13528) 1 gadu atpakaļ
doc 48ab1835da Replace settings tab with button 8 mēneši atpakaļ
fonts 76dbd0d2d0 Fully remove bitmap font support (#11863) 2 gadi atpakaļ
games aea9242a96 Allow nodes to have their post_effect_color affected by lighting (#13637) 9 mēneši atpakaļ
lib 180ec92ef9 Remove trailing whitespace (#13505) 1 gadu atpakaļ
misc 72ed8514c5 Use newer IrrlichtMt 10 mēneši atpakaļ
mods 180ec92ef9 Remove trailing whitespace (#13505) 1 gadu atpakaļ
po cc29bb473d Translated using Weblate (Russian) 1 gadu atpakaļ
src 010d08f6a4 Fix -Wmissing-braces warnings in mapblock_mesh.cpp 8 mēneši atpakaļ
textures 798b9eae4a Add settings button icon 8 mēneši atpakaļ
util 8cccd75e81 Android build via CMake (#13528) 1 gadu atpakaļ
worlds fcd670e6f7 Add a worlds_here.txt file in the worlds folder and update .gitignore (#12720) 1 gadu atpakaļ
.clang-format aaae9d5a77 Fix `.clang-format` file config values 11 mēneši atpakaļ
.clang-tidy 8546d6089a Update clang-tidy configuration and scripts 4 gadi atpakaļ
.dockerignore c4b048fbb3 fix: don't send the whole local context to the docker image 3 gadi atpakaļ
.editorconfig d16d1a1341 Settings GUI: Add setting dependencies (#13704) 10 mēneši atpakaļ
.gitattributes f4856a33c9 .gitattributes 12 gadi atpakaļ
.gitignore 531122ee86 Add .fleet folder to gitignore (#13611) 11 mēneši atpakaļ
.gitlab-ci.yml cae7ec1eb4 Cut back on Gitlab-ci & misc pipeline updates 1 gadu atpakaļ
.luacheckrc 83b85ba16a Rewrite the gamebar (#13768) 9 mēneši atpakaļ
.mailmap 0a698d92c3 Update credits tab and mailmap 1 gadu atpakaļ
CMakeLists.txt 72ed8514c5 Use newer IrrlichtMt 10 mēneši atpakaļ
COPYING.LESSER 6b6cd42ce4 Added copy of LGPL-2.1 (#12950) 1 gadu atpakaļ
Dockerfile 28fce8aad5 Add dev stage to docker image (#13573) 10 mēneši atpakaļ
LICENSE.txt 798b9eae4a Add settings button icon 8 mēneši atpakaļ
README.md 28fce8aad5 Add dev stage to docker image (#13573) 10 mēneši atpakaļ
minetest.conf.example 752ce1a1b2 Settings GUI: Move shadow presets to Shaders, remove Most Used (#13713) 10 mēneši atpakaļ

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)

In case you downloaded the source code

If you downloaded the Minetest Engine source code in which this file is contained, you probably want to download the Minetest Game project too. See its README.txt for more information.

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 Minetest server Docker images using the GitLab mirror registry.

Images are built on each commit and available using the following tag scheme:

  • registry.gitlab.com/minetest/minetest/server:latest (latest build)
  • registry.gitlab.com/minetest/minetest/server:<branch/tag> (current branch or current tag)
  • registry.gitlab.com/minetest/minetest/server:<commit-id> (current commit id)

If you want to test it on a Docker server you can easily run:

sudo docker run registry.gitlab.com/minetest/minetest/server:<docker tag>

If you want to use it in a production environment you should use volumes bound to the Docker host to persist data and modify the configuration:

sudo docker create -v /home/minetest/data/:/var/lib/minetest/ -v /home/minetest/conf/:/etc/minetest/ registry.gitlab.com/minetest/minetest/server:master

Data will be written to /home/minetest/data on the host, and configuration will be read from /home/minetest/conf/minetest.conf.

Note: If you don't understand the previous commands please read the official Docker documentation before use.

You can also host your Minetest server inside a Kubernetes cluster. See our example implementation in misc/kubernetes.yml.

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.