mirror of
https://github.com/minetest/minetest.git
synced 2024-11-09 01:03:46 +01:00
169 lines
8.1 KiB
Markdown
169 lines
8.1 KiB
Markdown
Minetest
|
|
========
|
|
|
|
![Build Status](https://github.com/minetest/minetest/workflows/build/badge.svg)
|
|
[![Translation status](https://hosted.weblate.org/widgets/minetest/-/svg-badge.svg)](https://hosted.weblate.org/engage/minetest/?utm_source=widget)
|
|
[![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
|
|
|
|
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](#further-documentation)
|
|
2. [Default Controls](#default-controls)
|
|
3. [Paths](#paths)
|
|
4. [Configuration File](#configuration-file)
|
|
5. [Command-line Options](#command-line-options)
|
|
6. [Compiling](#compiling)
|
|
7. [Docker](#docker)
|
|
8. [Version Scheme](#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/](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 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
|
|
---------
|
|
|
|
- [Compiling on GNU/Linux](doc/compiling/linux.md)
|
|
- [Compiling on Windows](doc/compiling/windows.md)
|
|
- [Compiling on MacOS](doc/compiling/macos.md)
|
|
|
|
Docker
|
|
------
|
|
|
|
- [Developing minetestserver with Docker](doc/developing/docker.md)
|
|
|
|
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`](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`.
|