Typo in lua_api.md (#15440)
[minetest.git] / README.md
blobaa8faccd5937b4fc987acbd7869ae4fb1ff598e5
1 Luanti (formerly Minetest)
2 ==========================
4 ![Build Status](https://github.com/minetest/minetest/workflows/build/badge.svg)
5 [![Translation status](https://hosted.weblate.org/widgets/minetest/-/svg-badge.svg)](https://hosted.weblate.org/engage/minetest/?utm_source=widget)
6 [![License](https://img.shields.io/badge/license-LGPLv2.1%2B-blue.svg)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
8 Luanti is a free open-source voxel game engine with easy modding and game creation.
10 Copyright (C) 2010-2024 Perttu Ahola <celeron55@gmail.com>
11 and contributors (see source file comments and the version control log)
13 Table of Contents
14 ------------------
16 1. [Further Documentation](#further-documentation)
17 2. [Default Controls](#default-controls)
18 3. [Paths](#paths)
19 4. [Configuration File](#configuration-file)
20 5. [Command-line Options](#command-line-options)
21 6. [Compiling](#compiling)
22 7. [Docker](#docker)
23 8. [Version Scheme](#version-scheme)
26 Further documentation
27 ----------------------
28 - Website: https://www.luanti.org/
29 - Wiki: https://wiki.luanti.org/
30 - Forum: https://forum.luanti.org/
31 - GitHub: https://github.com/minetest/minetest/
32 - [Developer documentation](doc/developing/)
33 - [doc/](doc/) directory of source distribution
35 Default controls
36 ----------------
37 All controls are re-bindable using settings.
38 Some can be changed in the key config dialog in the settings tab.
40 | Button                        | Action                                                         |
41 |-------------------------------|----------------------------------------------------------------|
42 | Move mouse                    | Look around                                                    |
43 | W, A, S, D                    | Move                                                           |
44 | Space                         | Jump/move up                                                   |
45 | Shift                         | Sneak/move down                                                |
46 | Q                             | Drop itemstack                                                 |
47 | Shift + Q                     | Drop single item                                               |
48 | Left mouse button             | Dig/punch/use                                                  |
49 | Right mouse button            | Place/use                                                      |
50 | Shift + right mouse button    | Build (without using)                                          |
51 | I                             | Inventory menu                                                 |
52 | Mouse wheel                   | Select item                                                    |
53 | 0-9                           | Select item                                                    |
54 | Z                             | Zoom (needs zoom privilege)                                    |
55 | T                             | Chat                                                           |
56 | /                             | Command                                                        |
57 | Esc                           | Pause menu/abort/exit (pauses only singleplayer game)          |
58 | +                             | Increase view range                                            |
59 | -                             | Decrease view range                                            |
60 | K                             | Enable/disable fly mode (needs fly privilege)                  |
61 | J                             | Enable/disable fast mode (needs fast privilege)                |
62 | H                             | Enable/disable noclip mode (needs noclip privilege)            |
63 | E                             | Aux1 (Move fast in fast mode. Games may add special features)  |
64 | C                             | Cycle through camera modes                                     |
65 | V                             | Cycle through minimap modes                                    |
66 | Shift + V                     | Change minimap orientation                                     |
67 | F1                            | Hide/show HUD                                                  |
68 | F2                            | Hide/show chat                                                 |
69 | F3                            | Disable/enable fog                                             |
70 | F4                            | Disable/enable camera update (Mapblocks are not updated anymore when disabled, disabled in release builds)  |
71 | F5                            | Cycle through debug information screens                        |
72 | F6                            | Cycle through profiler info screens                            |
73 | F10                           | Show/hide console                                              |
74 | F12                           | Take screenshot                                                |
76 Paths
77 -----
78 Locations:
80 * `bin`   - Compiled binaries
81 * `share` - Distributed read-only data
82 * `user`  - User-created modifiable data
84 Where each location is on each platform:
86 * Windows .zip / RUN_IN_PLACE source:
87     * `bin`   = `bin`
88     * `share` = `.`
89     * `user`  = `.`
90 * Windows installed:
91     * `bin`   = `C:\Program Files\Minetest\bin (Depends on the install location)`
92     * `share` = `C:\Program Files\Minetest (Depends on the install location)`
93     * `user`  = `%APPDATA%\Minetest` or `%MINETEST_USER_PATH%`
94 * Linux installed:
95     * `bin`   = `/usr/bin`
96     * `share` = `/usr/share/minetest`
97     * `user`  = `~/.minetest` or `$MINETEST_USER_PATH`
98 * macOS:
99     * `bin`   = `Contents/MacOS`
100     * `share` = `Contents/Resources`
101     * `user`  = `Contents/User` or `~/Library/Application Support/minetest` or `$MINETEST_USER_PATH`
103 Worlds can be found as separate folders in: `user/worlds/`
105 Configuration file
106 ------------------
107 - Default location:
108     `user/minetest.conf`
109 - This file is created by closing Luanti for the first time.
110 - A specific file can be specified on the command line:
111     `--config <path-to-file>`
112 - A run-in-place build will look for the configuration file in
113     `location_of_exe/../minetest.conf` and also `location_of_exe/../../minetest.conf`
115 Command-line options
116 --------------------
117 - Use `--help`
119 Compiling
120 ---------
122 - [Compiling - common information](doc/compiling/README.md)
123 - [Compiling on GNU/Linux](doc/compiling/linux.md)
124 - [Compiling on Windows](doc/compiling/windows.md)
125 - [Compiling on MacOS](doc/compiling/macos.md)
127 Docker
128 ------
130 - [Developing minetestserver with Docker](doc/developing/docker.md)
131 - [Running a server with Docker](doc/docker_server.md)
133 Version scheme
134 --------------
135 We use `major.minor.patch` since 5.0.0-dev. Prior to that we used `0.major.minor`.
137 - Major is incremented when the release contains breaking changes, all other
138 numbers are set to 0.
139 - Minor is incremented when the release contains new non-breaking features,
140 patch is set to 0.
141 - Patch is incremented when the release only contains bugfixes and very
142 minor/trivial features considered necessary.
144 Since 5.0.0-dev and 0.4.17-dev, the dev notation refers to the next release,
145 i.e.: 5.0.0-dev is the development version leading to 5.0.0.
146 Prior to that we used `previous_version-dev`.