An InfiniMiner/Minecraft inspired game.
-Copyright (c) 2010-2017 Perttu Ahola <celeron55@gmail.com>
+Copyright (c) 2010-2018 Perttu Ahola <celeron55@gmail.com>
and contributors (see source file comments and the version control log)
In case you downloaded the source code:
Default controls
----------------
-
All controls are re-bindable using settings.
Some can be changes in the key config dialog in the settings tab.
-- 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/take item
-- 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)
-- R: Enable/disable full range view
-- +: 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: Move fast in fast mode
-- 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 info screens
-- F6: Cycle through profiler info screens
-- F7: Cycle through camera modes
-- F8: Toggle cinematic mode
-- F9: Cycle through minimap modes
-- Shift + F9: Change minimap orientation
-- F10: Show/hide console
-- F12: Take screenshot
-- P: Write stack traces into debug.txt
+| 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/take item |
+| 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) |
+| R | Enable/disable full range view |
+| + | 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 | Move fast in fast mode |
+| 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 info screens |
+| F6 | Cycle through profiler info screens |
+| F7 | Cycle through camera modes |
+| F8 | Toggle cinematic mode |
+| F9 | Cycle through minimap modes |
+| Shift + F9 | Change minimap orientation |
+| F10 | Show/hide console |
+| F12 | Take screenshot |
Paths
-----
### Compiling on GNU/Linux
-Install dependencies. Here's an example for Debian/Ubuntu:
+#### Dependencies
+
+| Dependency | Version | Commentary |
+|------------|---------|------------|
+| GCC | 4.9+ | Can be replaced with Clang 3.4+ |
+| CMake | 2.6+ | |
+| Irrlicht | 1.7.3+ | |
+| SQLite3 | 3.0+ | |
+| LuaJIT | 2.0+ | Bundled Lua 5.1 is used if not present |
+| GMP | 5.0.0+ | Bundled mini-GMP is used if not present |
+| JsonCPP | 1.0.0+ | Bundled JsonCPP is used if not present |
+
+For Debian/Ubuntu:
$ sudo apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
For Fedora users:
- $ sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl* openal* libvorbis* libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel
+ $ sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel
+
+#### Download
You can install git for easily keeping your copy up to date.
If you don’t want git, read below on how to get the source without git.
$ mv minetest_game-master minetest_game
$ cd ..
+#### Build
+
Build a version that runs directly from the source directory:
$ cmake . -DRUN_IN_PLACE=TRUE
General options:
- BUILD_CLIENT - Build Minetest client
- BUILD_SERVER - Build Minetest server
- CMAKE_BUILD_TYPE - Type of build (Release vs. Debug)
- Release - Release build
- Debug - Debug build
- SemiDebug - Partially optimized debug build
- RelWithDebInfo - Release build with Debug information
- MinSizeRel - Release build with -Os passed to compiler to make executable as small as possible
- ENABLE_CURL - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
- ENABLE_CURSES - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
- ENABLE_FREETYPE - Build with FreeType2; Allows using TTF fonts
- ENABLE_GETTEXT - Build with Gettext; Allows using translations
- ENABLE_GLES - Search for Open GLES headers & libraries and use them
- ENABLE_LEVELDB - Build with LevelDB; Enables use of LevelDB map backend
- ENABLE_POSTGRESQL - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
- ENABLE_REDIS - Build with libhiredis; Enables use of Redis map backend
- ENABLE_SPATIAL - Build with LibSpatial; Speeds up AreaStores
- ENABLE_SOUND - Build with OpenAL, libogg & libvorbis; in-game Sounds
- ENABLE_LUAJIT - Build with LuaJIT (much faster than non-JIT Lua)
- ENABLE_SYSTEM_GMP - Use GMP from system (much faster than bundled mini-gmp)
- RUN_IN_PLACE - Create a portable install (worlds, settings etc. in current directory)
- USE_GPROF - Enable profiling using GProf
- VERSION_EXTRA - Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar)
+ BUILD_CLIENT - Build Minetest client
+ BUILD_SERVER - Build Minetest server
+ CMAKE_BUILD_TYPE - Type of build (Release vs. Debug)
+ Release - Release build
+ Debug - Debug build
+ SemiDebug - Partially optimized debug build
+ RelWithDebInfo - Release build with Debug information
+ MinSizeRel - Release build with -Os passed to compiler to make executable as small as possible
+ ENABLE_CURL - Build with cURL; Enables use of online mod repo, public serverlist and remote media fetching via http
+ ENABLE_CURSES - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
+ ENABLE_FREETYPE - Build with FreeType2; Allows using TTF fonts
+ ENABLE_GETTEXT - Build with Gettext; Allows using translations
+ ENABLE_GLES - Search for Open GLES headers & libraries and use them
+ ENABLE_LEVELDB - Build with LevelDB; Enables use of LevelDB map backend
+ ENABLE_POSTGRESQL - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
+ ENABLE_REDIS - Build with libhiredis; Enables use of Redis map backend
+ ENABLE_SPATIAL - Build with LibSpatial; Speeds up AreaStores
+ ENABLE_SOUND - Build with OpenAL, libogg & libvorbis; in-game Sounds
+ ENABLE_LUAJIT - Build with LuaJIT (much faster than non-JIT Lua)
+ ENABLE_SYSTEM_GMP - Use GMP from system (much faster than bundled mini-gmp)
+ ENABLE_SYSTEM_JSONCPP - Use JsonCPP from system
+ RUN_IN_PLACE - Create a portable install (worlds, settings etc. in current directory)
+ USE_GPROF - Enable profiling using GProf
+ VERSION_EXTRA - Text to append to version (e.g. VERSION_EXTRA=foobar -> Minetest 0.4.9-foobar)
Library specific options: