.github | ||
android | ||
builtin | ||
client | ||
clientmods/preview | ||
cmake/Modules | ||
doc | ||
fonts | ||
games/devtest | ||
lib | ||
misc | ||
mods | ||
po | ||
src | ||
textures | ||
util | ||
worlds | ||
.clang-format | ||
.clang-tidy | ||
.dockerignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.luacheckrc | ||
.mailmap | ||
CMakeLists.txt | ||
COPYING.LESSER | ||
Dockerfile | ||
LICENSE.txt | ||
minetest.conf.example | ||
README.md |
Minetest
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
- Further Documentation
- Default Controls
- Paths
- Configuration File
- Command-line Options
- Compiling
- Docker
- Version Scheme
Further documentation
- Website: https://minetest.net/
- Wiki: https://wiki.minetest.net/
- Developer wiki: https://dev.minetest.net/
- Forum: https://forum.minetest.net/
- GitHub: https://github.com/minetest/minetest/
- doc/ directory of source distribution
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 binariesshare
- Distributed read-only datauser
- 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 alsolocation_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
.