use the minetest-luk3yx-4 brand as the 4.1 brand, this handle almost 5.0 features
* this brand needs so much newer versions of gcc to build * this brand features almost all the features of 5.0 release * this brand its not supoorted anymore, was tagget as 0.4.18.X * this will be released as 4.1 in minenux only for newer systems * the supported release of older brands will be only the 4.0 one * README updated with information related * CMakefile fixed with project name and pointed sources for same
This commit is contained in:
parent
bbad2a9825
commit
f3e39e53a0
@ -15,10 +15,10 @@ set(GCC_MINIMUM_VERSION "4.8")
|
|||||||
set(CLANG_MINIMUM_VERSION "3.4")
|
set(CLANG_MINIMUM_VERSION "3.4")
|
||||||
|
|
||||||
# Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing
|
# Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing
|
||||||
set(VERSION_MAJOR 0)
|
set(VERSION_MAJOR 4)
|
||||||
set(VERSION_MINOR 4)
|
set(VERSION_MINOR 1)
|
||||||
set(VERSION_PATCH 18)
|
set(VERSION_PATCH 0)
|
||||||
set(VERSION_TWEAK 5)
|
set(VERSION_TWEAK "")
|
||||||
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
|
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
|
||||||
|
|
||||||
# Change to false for releases
|
# Change to false for releases
|
||||||
@ -185,20 +185,20 @@ install(FILES "doc/lua_api.txt" DESTINATION "${DOCDIR}")
|
|||||||
install(FILES "doc/menu_lua_api.txt" DESTINATION "${DOCDIR}")
|
install(FILES "doc/menu_lua_api.txt" DESTINATION "${DOCDIR}")
|
||||||
install(FILES "doc/texture_packs.txt" DESTINATION "${DOCDIR}")
|
install(FILES "doc/texture_packs.txt" DESTINATION "${DOCDIR}")
|
||||||
install(FILES "doc/world_format.txt" DESTINATION "${DOCDIR}")
|
install(FILES "doc/world_format.txt" DESTINATION "${DOCDIR}")
|
||||||
install(FILES "minetest.conf.example" DESTINATION "${EXAMPLE_CONF_DIR}")
|
install(FILES "minetest.conf.example" DESTINATION "${EXAMPLE_CONF_DIR}" RENAME "${PROJECT_NAME}.conf.example")
|
||||||
|
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
install(FILES "doc/minetest.6" "doc/minetestserver.6" DESTINATION "${MANDIR}/man6")
|
install(FILES "doc/${PROJECT_NAME}.6" "doc/${PROJECT_NAME}server.6" DESTINATION "${MANDIR}/man6")
|
||||||
install(FILES "misc/net.minetest.minetest.desktop" DESTINATION "${XDG_APPS_DIR}")
|
install(FILES "misc/net.minetest.minetest.desktop" DESTINATION "${XDG_APPS_DIR}" RENAME "net.${PROJECT_NAME}.${PROJECT_NAME}.desktop")
|
||||||
install(FILES "misc/net.minetest.minetest.appdata.xml" DESTINATION "${APPDATADIR}")
|
install(FILES "misc/net.minetest.minetest.appdata.xml" DESTINATION "${APPDATADIR}" RENAME "net.${PROJECT_NAME}.${PROJECT_NAME}.appdata.xml")
|
||||||
install(FILES "misc/minetest.svg" DESTINATION "${ICONDIR}/hicolor/scalable/apps")
|
install(FILES "misc/minetest.svg" DESTINATION "${ICONDIR}/hicolor/scalable/apps" RENAME "${PROJECT_NAME}.svg")
|
||||||
install(FILES "misc/minetest-xorg-icon-128.png"
|
install(FILES "misc/minetest-xorg-icon-128.png"
|
||||||
DESTINATION "${ICONDIR}/hicolor/128x128/apps"
|
DESTINATION "${ICONDIR}/hicolor/128x128/apps"
|
||||||
RENAME "minetest.png")
|
RENAME "${PROJECT_NAME}.png")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
install(FILES "misc/minetest-icon.icns" DESTINATION "${SHAREDIR}")
|
install(FILES "misc/minetest-icon.icns" DESTINATION "${SHAREDIR}" RENAME "${PROJECT_NAME}-icon.icns")
|
||||||
install(FILES "misc/Info.plist" DESTINATION "${BUNDLE_PATH}/Contents")
|
install(FILES "misc/Info.plist" DESTINATION "${BUNDLE_PATH}/Contents")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Contributions are welcome! Here's how you can help:
|
**This is the original file of minetest contribution way of:**
|
||||||
|
|
||||||
- [Contributing code](#code)
|
- [Contributing code](#code)
|
||||||
- [Reporting issues](#issues)
|
- [Reporting issues](#issues)
|
||||||
|
400
README.md
400
README.md
@ -1,35 +1,26 @@
|
|||||||
<div align="center">
|
Minetest4
|
||||||
<h1>
|
=========
|
||||||
minetest-luk3yx-4
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
Notice
|
[](https://hosted.weblate.org/engage/minetest/?utm_source=widget)
|
||||||
------
|
[](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html)
|
||||||
|
|
||||||
This is a mostly unmaintained fork of an outdated version of Minetest
|
Minetest is a free open-source voxel game engine with easy modding and game creation.
|
||||||
(0.4.17.1) to add features and bugfixes from 5.0.0 before 5.0.0 was officially
|
**this source is minetest modified *"minetest-luk3yx-4,"* a fork of an older version
|
||||||
released and most servers were still on 0.4.17.1. Please only use this if you
|
but improved with 5.0 changes up to pre 5.1, some 5.0 mods will work with this engine**
|
||||||
*have* to connect to legacy servers, otherwise I strongly recommend using the
|
of Minetest so playing on older servers isn’t a bug-filled nightmare”
|
||||||
official and more stable [Minetest](https://github.com/minetest/minetest).
|
also features the client identification patch to property get rid of cheaters.
|
||||||
|
|
||||||
|
Copyright (C) 2010-2019 Perttu Ahola <celeron55@gmail.com>
|
||||||
|
and contributors (see source file comments and the version control log)
|
||||||
|
|
||||||
Old description
|
In case you downloaded the source code
|
||||||
---------------
|
--------------------------------------
|
||||||
|
|
||||||
A [Minetest](https://github.com/minetest/minetest) fork with backported features
|
If you downloaded the **Minetest Engine** source code from git, in which this file is
|
||||||
and bugfixes from 5.0.0.
|
contained, you probably want to download the Minetest Game at https://codeberg.org/minenux/minetest-game-minetest/src/branch/stable-4.0
|
||||||
|
project too. See its README.md information. Those sources are a little modification of original Minetest.
|
||||||
|
|
||||||
Minetest is copyright © 2010-2019 by Perttu Ahola <celeron55@gmail.com>
|
For Minetest5 series of same engine please use the respective branch.
|
||||||
and contributors (see source file comments and the [version control log])
|
|
||||||
|
|
||||||
[version control log]: https://github.com/luk3yx/minetest/graphs/contributors
|
|
||||||
|
|
||||||
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 fork](https://github.com/luk3yx/minetest_game/)
|
|
||||||
(or the [original](https://github.com/minetest/minetest_game))project too. See its README.txt for more information.
|
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
------------------
|
------------------
|
||||||
@ -40,21 +31,39 @@ Table of Contents
|
|||||||
4. [Configuration File](#configuration-file)
|
4. [Configuration File](#configuration-file)
|
||||||
5. [Command-line Options](#command-line-options)
|
5. [Command-line Options](#command-line-options)
|
||||||
6. [Compiling](#compiling)
|
6. [Compiling](#compiling)
|
||||||
7. [Docker](#docker-stock-minetest)
|
7. [Docker](#docker)
|
||||||
8. [Version Scheme](#version-scheme)
|
8. [Version Scheme](#version-scheme)
|
||||||
|
|
||||||
|
|
||||||
Further documentation (on "stock" Minetest)
|
Further documentation
|
||||||
----------------------
|
----------------------
|
||||||
- Website: http://minetest.net/
|
- This sources https://codeberg.org/minenux/minetest-engine/src/branch/stable-4.1
|
||||||
- Wiki: http://wiki.minetest.net/
|
- Minetest4 sources https://codeberg.org/minenux/minetest-engine/src/branch/stable-4.0
|
||||||
- Developer wiki: http://dev.minetest.net/
|
- Wiki of this project (minenux) https://codeberg.org/venenux/venenux-minetest/wiki
|
||||||
- Forum: http://forum.minetest.net/
|
- Original Minetest Website: http://minetest.net/
|
||||||
- GitHub: https://github.com/minetest/minetest/
|
- Original Minetest Wiki: http://wiki.minetest.net/
|
||||||
|
- Minetest Developer wiki: http://dev.minetest.net/
|
||||||
|
- Minetest Forum: http://forum.minetest.net/
|
||||||
|
- Original Minetest GitHub: https://github.com/minetest/minetest/
|
||||||
- [doc/](doc/) directory of source distribution
|
- [doc/](doc/) directory of source distribution
|
||||||
|
|
||||||
|
Generals of game
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This is **an engine that can acts as server and client**, it has **two main components**:
|
||||||
|
|
||||||
|
1. the **games** (that contains the mods and definition of how to play) and
|
||||||
|
2. the **world** (that contains the creeated and playable data).
|
||||||
|
|
||||||
|
Paths places of those are in the [Paths](#paths) sections of this file.
|
||||||
|
|
||||||
|
Players used the client role of the program, that joins to a server that can be the same invoked
|
||||||
|
or a remote server, currently many phone clients (apps like minetest that stolen its name)
|
||||||
|
just used those remote servers to play.
|
||||||
|
|
||||||
Default controls
|
Default controls
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
All controls are re-bindable using settings.
|
All controls are re-bindable using settings.
|
||||||
Some can be changed in the key config dialog in the settings tab.
|
Some can be changed in the key config dialog in the settings tab.
|
||||||
|
|
||||||
@ -80,7 +89,7 @@ Some can be changed in the key config dialog in the settings tab.
|
|||||||
| + | Increase view range |
|
| + | Increase view range |
|
||||||
| - | Decrease view range |
|
| - | Decrease view range |
|
||||||
| K | Enable/disable fly mode (needs fly privilege) |
|
| K | Enable/disable fly mode (needs fly privilege) |
|
||||||
| L | Enable/disable pitch move mode |
|
| P | Enable/disable pitch move mode |
|
||||||
| J | Enable/disable fast mode (needs fast privilege) |
|
| J | Enable/disable fast mode (needs fast privilege) |
|
||||||
| H | Enable/disable noclip mode (needs noclip privilege) |
|
| H | Enable/disable noclip mode (needs noclip privilege) |
|
||||||
| E | Move fast in fast mode |
|
| E | Move fast in fast mode |
|
||||||
@ -96,8 +105,18 @@ Some can be changed in the key config dialog in the settings tab.
|
|||||||
| F10 | Show/hide console |
|
| F10 | Show/hide console |
|
||||||
| F12 | Take screenshot |
|
| F12 | Take screenshot |
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
The minenux project provides most packages for almost any linux at OBS service:
|
||||||
|
https://build.opensuse.org/project/show/home:venenux:minenux
|
||||||
|
|
||||||
|
The code is on Codeberg but the releases are at github to fill the shit of M$ platform.
|
||||||
|
https://github.com/minenux/minenux/releases
|
||||||
|
|
||||||
Paths
|
Paths
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Locations:
|
Locations:
|
||||||
|
|
||||||
* `bin` - Compiled binaries
|
* `bin` - Compiled binaries
|
||||||
@ -106,118 +125,131 @@ Locations:
|
|||||||
|
|
||||||
Where each location is on each platform:
|
Where each location is on each platform:
|
||||||
|
|
||||||
* Windows .zip / RUN_IN_PLACE source:
|
* Others OS's / RUN_IN_PLACE source:
|
||||||
* bin = `bin`
|
* `bin` = `bin`
|
||||||
* share = `.`
|
* `share` = `.`
|
||||||
* user = `.`
|
* `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`
|
|
||||||
* Linux installed:
|
* Linux installed:
|
||||||
* `bin` = `/usr/bin`
|
* `bin` = `/usr/bin`
|
||||||
* `share` = `/usr/share/minetest`
|
* `share` = `/usr/share/minetest5`
|
||||||
* `user` = `~/.minetest`
|
* `user` = `~/.minetest5`
|
||||||
* macOS:
|
* macOS:
|
||||||
* `bin` = `Contents/MacOS`
|
* `bin` = `Contents/MacOS`
|
||||||
* `share` = `Contents/Resources`
|
* `share` = `Contents/Resources`
|
||||||
* `user` = `Contents/User OR ~/Library/Application Support/minetest`
|
* `user` = `Contents/User OR ~/Library/Application Support/minetest5`
|
||||||
|
|
||||||
Worlds can be found as separate folders in: `user/worlds/`
|
Worlds can be found as separate folders in: `user/worlds/`
|
||||||
|
|
||||||
Configuration file:
|
Configuration file
|
||||||
-------------------
|
------------------
|
||||||
- Default location:
|
|
||||||
`user/minetest.conf`
|
- Default location: `user/minetest.conf`
|
||||||
- It is created by Minetest when it is ran the first time.
|
- This file is created by closing Minetest for the first time.
|
||||||
- A specific file can be specified on the command line:
|
- A specific file can be specified on the command line: `--config <path-to-file>`
|
||||||
`--config <path-to-file>`
|
- A run-in-place build will look for the configuration file in `location_of_bin/../minetest.conf` and also `location_of_bin/../../minetest.conf`
|
||||||
- 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
|
||||||
|
--------------------
|
||||||
|
|
||||||
Command-line options:
|
|
||||||
---------------------
|
|
||||||
- Use `--help`
|
- Use `--help`
|
||||||
|
|
||||||
Compiling
|
Compiling
|
||||||
---------
|
---------
|
||||||
|
|
||||||
### Compiling on GNU/Linux
|
### Compiling on GNU/Linux
|
||||||
|
|
||||||
#### Dependencies
|
#### Dependencies
|
||||||
|
|
||||||
| Dependency | Version | Commentary |
|
| Dependency | Version | Commentary |
|
||||||
|------------|---------|------------|
|
|------------|---------|------------|
|
||||||
| GCC | 4.9+ | Can be replaced with Clang 3.4+ |
|
| GCC | 4.8+ | Can be replaced with Clang 3.4+ |
|
||||||
| CMake | 2.6+ | |
|
| CMake | 2.6+ | |
|
||||||
| Irrlicht | 1.7.3+ | |
|
| Irrlicht | 1.6.0+ | Custom version recommended, see https://github.com/minetest/irrlicht |
|
||||||
| SQLite3 | 3.0+ | |
|
| SQLite3 | 3.0+ | |
|
||||||
| LuaJIT | 2.0+ | Bundled Lua 5.1 is used if not present |
|
| LuaJIT | 2.0+ | Bundled Lua 5.1 is used if not present |
|
||||||
| GMP | 5.0.0+ | Bundled mini-GMP 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 |
|
| JsonCPP | 1.0.0+ | Bundled JsonCPP is used if not present |
|
||||||
|
|
||||||
For Debian/Ubuntu:
|
For Debian/Ubuntu users:
|
||||||
|
|
||||||
sudo apt 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
|
`apt install g++ make libc6-dev 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:
|
For Fedora users:
|
||||||
|
|
||||||
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
|
`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`
|
||||||
|
|
||||||
|
For Arch users:
|
||||||
|
|
||||||
|
`pacman -S base-devel libcurl-gnutls cmake libxxf86vm irrlicht libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses`
|
||||||
|
|
||||||
|
For Alpine users:
|
||||||
|
|
||||||
|
`apk add build-base irrlicht-dev cmake bzip2-dev libpng-dev jpeg-dev libxxf86vm-dev mesa-dev sqlite-dev libogg-dev libvorbis-dev openal-soft-dev curl-dev freetype-dev zlib-dev gmp-dev jsoncpp-dev luajit-dev`
|
||||||
|
|
||||||
#### Download
|
#### Download
|
||||||
|
|
||||||
You can install Git for easily keeping your copy up to date.
|
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.
|
If you don’t want Git, read below on how to get the source without Git.
|
||||||
This is an example for installing Git on Debian/Ubuntu:
|
|
||||||
|
|
||||||
sudo apt install git
|
This is an example for installing Git on:
|
||||||
|
|
||||||
For Fedora users:
|
* For Debian/Ubuntu: `apt install git`
|
||||||
|
* For Fedora users: `dnf install git`
|
||||||
sudo dnf install git
|
* For alpine users: `apk add git`
|
||||||
|
|
||||||
Download source (this is the URL to the latest of source repository, which might not work at all times) using Git:
|
Download source (this is the URL to the latest of source repository, which might not work at all times) using Git:
|
||||||
|
|
||||||
git clone --depth 1 https://github.com/luk3yx/minetest.git
|
```
|
||||||
|
git clone --recursive https://codeberg.org/minenux/minetest-engine.git minetest
|
||||||
cd minetest
|
cd minetest
|
||||||
|
```
|
||||||
|
|
||||||
Download minetest_game (otherwise only the "Minimal development test" game is available) using Git:
|
Download minetest_game (otherwise only the "Minimal development test" game is available) using Git:
|
||||||
|
|
||||||
git clone --depth 1 https://github.com/luk3yx/minetest_game.git games/minetest_game
|
```
|
||||||
|
git submodule init && git submodule update --recursive
|
||||||
|
```
|
||||||
|
|
||||||
Download source, without using Git:
|
Download source, without using Git:
|
||||||
|
|
||||||
wget https://github.com/luk3yx/minetest/archive/master.tar.gz
|
```
|
||||||
tar xf master.tar.gz
|
wget https://codeberg.org/minenux/minetest-engine/archive/stable-4.1.tar.gz
|
||||||
cd minetest-master
|
tar xf stable-4.1.tar.gz
|
||||||
|
cd stable-4.1
|
||||||
|
```
|
||||||
|
|
||||||
Download minetest_game, without using Git:
|
Download minetest_game, without using Git:
|
||||||
|
|
||||||
|
```
|
||||||
cd games/
|
cd games/
|
||||||
wget https://github.com/luk3yx/minetest_game/archive/master.tar.gz
|
wget https://codeberg.org/minenux/minetest-game-minetest/archive/stable-4.1.tar.gz
|
||||||
tar xf master.tar.gz
|
tar xf stable-4.1.tar.gz
|
||||||
mv minetest_game-master minetest_game
|
mv minetest-game-minetest_stable-4.1 minetest
|
||||||
cd ..
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
#### Build
|
#### Build
|
||||||
|
|
||||||
Build a version that runs directly from the source directory:
|
Build a version that runs directly from the source directory there program are:
|
||||||
|
|
||||||
|
```
|
||||||
cmake . -DRUN_IN_PLACE=TRUE
|
cmake . -DRUN_IN_PLACE=TRUE
|
||||||
make -j <number of processors>
|
make -j$(nproc)
|
||||||
|
```
|
||||||
|
|
||||||
Run it:
|
Run it:
|
||||||
|
|
||||||
./bin/minetest
|
./bin/minetest
|
||||||
|
|
||||||
- Use `cmake . -LH` to see all CMake options and their current state
|
- Use `cmake . -LH` to see all CMake options and their current state.
|
||||||
- If you want to install it system-wide (or are making a distribution package),
|
- If you want to install it system-wide (or are making a distribution package),
|
||||||
you will want to use `-DRUN_IN_PLACE=FALSE`
|
you will want to use `-DRUN_IN_PLACE=FALSE`.
|
||||||
- You can build a bare server by specifying `-DBUILD_SERVER=TRUE`
|
- You can build a bare server by specifying `-DBUILD_SERVER=TRUE`.
|
||||||
- You can disable the client build by specifying `-DBUILD_CLIENT=FALSE`
|
- You can disable the client build by specifying `-DBUILD_CLIENT=FALSE`.
|
||||||
- You can select between Release and Debug build by `-DCMAKE_BUILD_TYPE=<Debug or Release>`
|
- You can select between Release and Debug build by `-DCMAKE_BUILD_TYPE=<Debug or Release>`.
|
||||||
- Debug build is slower, but gives much more useful output in a debugger
|
- Debug build is slower, but gives much more useful output in a debugger.
|
||||||
- If you build a bare server, you don't need to have Irrlicht installed.
|
- If you build a bare server you don't need to have Irrlicht installed.
|
||||||
- In that case use `-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source`
|
- In that case use `-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source`.
|
||||||
|
|
||||||
### CMake options
|
### CMake options
|
||||||
|
|
||||||
@ -235,7 +267,7 @@ General options and their default values:
|
|||||||
ENABLE_CURSES=ON - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
|
ENABLE_CURSES=ON - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
|
||||||
ENABLE_FREETYPE=ON - Build with FreeType2; Allows using TTF fonts
|
ENABLE_FREETYPE=ON - Build with FreeType2; Allows using TTF fonts
|
||||||
ENABLE_GETTEXT=ON - Build with Gettext; Allows using translations
|
ENABLE_GETTEXT=ON - Build with Gettext; Allows using translations
|
||||||
ENABLE_GLES=OFF - Search for Open GLES headers & libraries and use them
|
ENABLE_GLES=OFF - Build for OpenGL ES instead of OpenGL (requires support by Irrlicht)
|
||||||
ENABLE_LEVELDB=ON - Build with LevelDB; Enables use of LevelDB map backend
|
ENABLE_LEVELDB=ON - Build with LevelDB; Enables use of LevelDB map backend
|
||||||
ENABLE_POSTGRESQL=ON - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
|
ENABLE_POSTGRESQL=ON - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
|
||||||
ENABLE_REDIS=ON - Build with libhiredis; Enables use of Redis map backend
|
ENABLE_REDIS=ON - Build with libhiredis; Enables use of Redis map backend
|
||||||
@ -274,7 +306,7 @@ Library specific options:
|
|||||||
LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll.a
|
LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll.a
|
||||||
LEVELDB_DLL - Only when building with LevelDB on Windows; path to libleveldb.dll
|
LEVELDB_DLL - Only when building with LevelDB on Windows; path to libleveldb.dll
|
||||||
PostgreSQL_INCLUDE_DIR - Only when building with PostgreSQL; directory that contains libpq-fe.h
|
PostgreSQL_INCLUDE_DIR - Only when building with PostgreSQL; directory that contains libpq-fe.h
|
||||||
POSTGRESQL_LIBRARY - Only when building with PostgreSQL; path to libpq.a/libpq.so
|
PostgreSQL_LIBRARY - Only when building with PostgreSQL; path to libpq.a/libpq.so/libpq.lib
|
||||||
REDIS_INCLUDE_DIR - Only when building with Redis; directory that contains hiredis.h
|
REDIS_INCLUDE_DIR - Only when building with Redis; directory that contains hiredis.h
|
||||||
REDIS_LIBRARY - Only when building with Redis; path to libhiredis.a/libhiredis.so
|
REDIS_LIBRARY - Only when building with Redis; path to libhiredis.a/libhiredis.so
|
||||||
SPATIAL_INCLUDE_DIR - Only when building with LibSpatial; directory that contains spatialindex/SpatialIndex.h
|
SPATIAL_INCLUDE_DIR - Only when building with LibSpatial; directory that contains spatialindex/SpatialIndex.h
|
||||||
@ -299,183 +331,12 @@ Library specific options:
|
|||||||
VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a
|
VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a
|
||||||
XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/libXXf86vm.so
|
XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/libXXf86vm.so
|
||||||
ZLIB_DLL - Only on Windows; path to zlib1.dll
|
ZLIB_DLL - Only on Windows; path to zlib1.dll
|
||||||
ZLIBWAPI_DLL - Only on Windows; path to zlibwapi.dll
|
|
||||||
ZLIB_INCLUDE_DIR - Directory that contains zlib.h
|
ZLIB_INCLUDE_DIR - Directory that contains zlib.h
|
||||||
ZLIB_LIBRARY - Path to libz.a/libz.so/zlibwapi.lib
|
ZLIB_LIBRARY - Path to libz.a/libz.so/zlib.lib
|
||||||
|
|
||||||
### Compiling on Windows
|
|
||||||
|
|
||||||
* This section is outdated. In addition to what is described here:
|
|
||||||
* In addition to minetest, you need to download [minetest_game](https://github.com/luk3yx/minetest_game).
|
|
||||||
* If you wish to have sound support, you need libogg, libvorbis and libopenal
|
|
||||||
|
|
||||||
* You need:
|
|
||||||
* CMake:
|
|
||||||
http://www.cmake.org/cmake/resources/software.html
|
|
||||||
* A compiler
|
|
||||||
* MinGW: http://www.mingw.org/
|
|
||||||
* or Visual Studio: http://msdn.microsoft.com/en-us/vstudio/default
|
|
||||||
* Irrlicht SDK 1.7:
|
|
||||||
http://irrlicht.sourceforge.net/downloads.html
|
|
||||||
* Zlib headers (zlib125.zip)
|
|
||||||
http://www.winimage.com/zLibDll/index.html
|
|
||||||
* Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
|
|
||||||
http://www.winimage.com/zLibDll/index.html
|
|
||||||
* SQLite3 headers and library
|
|
||||||
https://www.sqlite.org/download.html
|
|
||||||
* Optional: gettext library and tools:
|
|
||||||
http://gnuwin32.sourceforge.net/downlinks/gettext.php
|
|
||||||
* This is used for other UI languages. Feel free to leave it out.
|
|
||||||
* And, of course, Minetest:
|
|
||||||
http://minetest.net/download
|
|
||||||
* Steps:
|
|
||||||
* Select a directory called DIR hereafter in which you will operate.
|
|
||||||
* Make sure you have CMake and a compiler installed.
|
|
||||||
* Download all the other stuff to DIR and extract them into there.
|
|
||||||
("extract here", not "extract to packagename/")
|
|
||||||
* NOTE: zlib125dll.zip needs to be extracted into zlib125dll
|
|
||||||
* NOTE: You need to extract sqlite3.h & sqlite3ext.h from the SQLite 3
|
|
||||||
source and sqlite3.dll & sqlite3.def from the SQLite 3 precompiled
|
|
||||||
binaries into "sqlite3" directory, and generate sqlite3.lib using
|
|
||||||
command "LIB /DEF:sqlite3.def /OUT:sqlite3.lib"
|
|
||||||
* All those packages contain a nice base directory in them, which
|
|
||||||
should end up being the direct subdirectories of DIR.
|
|
||||||
* You will end up with a directory structure like this (+=dir, -=file):
|
|
||||||
-----------------
|
|
||||||
+ DIR
|
|
||||||
* zlib-1.2.5.tar.gz
|
|
||||||
* zlib125dll.zip
|
|
||||||
* irrlicht-1.8.3.zip
|
|
||||||
* sqlite-amalgamation-3130000.zip (SQLite3 headers)
|
|
||||||
* sqlite-dll-win32-x86-3130000.zip (SQLite3 library for 32bit system)
|
|
||||||
* 110214175330.zip (or whatever, this is the minetest source)
|
|
||||||
+ zlib-1.2.5
|
|
||||||
* zlib.h
|
|
||||||
+ win32
|
|
||||||
...
|
|
||||||
+ zlib125dll
|
|
||||||
* readme.txt
|
|
||||||
+ dll32
|
|
||||||
...
|
|
||||||
+ irrlicht-1.8.3
|
|
||||||
+ lib
|
|
||||||
+ include
|
|
||||||
...
|
|
||||||
+ sqlite3
|
|
||||||
sqlite3.h
|
|
||||||
sqlite3ext.h
|
|
||||||
sqlite3.lib
|
|
||||||
sqlite3.dll
|
|
||||||
+ gettext (optional)
|
|
||||||
+bin
|
|
||||||
+include
|
|
||||||
+lib
|
|
||||||
+ minetest
|
|
||||||
+ src
|
|
||||||
+ doc
|
|
||||||
* CMakeLists.txt
|
|
||||||
...
|
|
||||||
-----------------
|
|
||||||
* Start up the CMake GUI
|
|
||||||
* Select "Browse Source..." and select DIR/minetest
|
|
||||||
* Now, if using MSVC:
|
|
||||||
* Select "Browse Build..." and select DIR/minetest-build
|
|
||||||
* Else if using MinGW:
|
|
||||||
* Select "Browse Build..." and select DIR/minetest
|
|
||||||
* Select "Configure"
|
|
||||||
* Select your compiler
|
|
||||||
* It will warn about missing stuff, ignore that at this point. (later don't)
|
|
||||||
* Make sure the configuration is as follows
|
|
||||||
(note that the versions may differ for you):
|
|
||||||
|
|
||||||
BUILD_CLIENT [X]
|
|
||||||
BUILD_SERVER [ ]
|
|
||||||
CMAKE_BUILD_TYPE Release
|
|
||||||
CMAKE_INSTALL_PREFIX DIR/minetest-install
|
|
||||||
IRRLICHT_SOURCE_DIR DIR/irrlicht-1.8.3
|
|
||||||
RUN_IN_PLACE [X]
|
|
||||||
WARN_ALL [ ]
|
|
||||||
ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll
|
|
||||||
ZLIB_INCLUDE_DIR DIR/zlib-1.2.5
|
|
||||||
ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib
|
|
||||||
GETTEXT_BIN_DIR DIR/gettext/bin
|
|
||||||
GETTEXT_INCLUDE_DIR DIR/gettext/include
|
|
||||||
GETTEXT_LIBRARIES DIR/gettext/lib/intl.lib
|
|
||||||
GETTEXT_MSGFMT DIR/gettext/bin/msgfmt
|
|
||||||
|
|
||||||
* If CMake complains it couldn't find SQLITE3, choose "Advanced" box on the
|
|
||||||
right top corner, then specify the location of SQLITE3_INCLUDE_DIR and
|
|
||||||
SQLITE3_LIBRARY manually.
|
|
||||||
* If you want to build 64-bit minetest, you will need to build 64-bit version
|
|
||||||
of irrlicht engine manually, as only 32-bit pre-built library is provided.
|
|
||||||
* Hit "Configure"
|
|
||||||
* Hit "Configure" once again 8)
|
|
||||||
* If something is still coloured red, you have a problem.
|
|
||||||
* Hit "Generate"
|
|
||||||
If using MSVC:
|
|
||||||
* Open the generated minetest.sln
|
|
||||||
* The project defaults to the "Debug" configuration. Make very sure to
|
|
||||||
select "Release", unless you want to debug some stuff (it's slower
|
|
||||||
and might not even work at all)
|
|
||||||
* Build the ALL_BUILD project
|
|
||||||
* Build the INSTALL project
|
|
||||||
* You should now have a working game with the executable in
|
|
||||||
DIR/minetest-install/bin/minetest.exe
|
|
||||||
* Additionally you may create a zip package by building the PACKAGE
|
|
||||||
project.
|
|
||||||
If using MinGW:
|
|
||||||
* Using the command line, browse to the build directory and run 'make'
|
|
||||||
(or mingw32-make or whatever it happens to be)
|
|
||||||
* You may need to copy some of the downloaded DLLs into bin/, see what
|
|
||||||
running the produced executable tells you it doesn't have.
|
|
||||||
* You should now have a working game with the executable in
|
|
||||||
DIR/minetest/bin/minetest.exe
|
|
||||||
|
|
||||||
### Bat script to build Windows releases of Minetest
|
|
||||||
|
|
||||||
This is how we build Windows releases.
|
|
||||||
|
|
||||||
set sourcedir=%CD%
|
|
||||||
set installpath="C:\tmp\minetest_install"
|
|
||||||
set irrlichtpath="C:\tmp\irrlicht-1.7.2"
|
|
||||||
|
|
||||||
set builddir=%sourcedir%\bvc10
|
|
||||||
mkdir %builddir%
|
|
||||||
pushd %builddir%
|
|
||||||
cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=TRUE -DCMAKE_INSTALL_PREFIX=%installpath%
|
|
||||||
if %errorlevel% neq 0 goto fail
|
|
||||||
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release
|
|
||||||
if %errorlevel% neq 0 goto fail
|
|
||||||
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release
|
|
||||||
if %errorlevel% neq 0 goto fail
|
|
||||||
"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release
|
|
||||||
if %errorlevel% neq 0 goto fail
|
|
||||||
popd
|
|
||||||
echo Finished.
|
|
||||||
exit /b 0
|
|
||||||
|
|
||||||
:fail
|
|
||||||
popd
|
|
||||||
echo Failed.
|
|
||||||
exit /b 1
|
|
||||||
|
|
||||||
### Windows Installer using WIX Toolset
|
|
||||||
|
|
||||||
Requirements:
|
|
||||||
* Visual Studio 2017
|
|
||||||
* Wix Toolset
|
|
||||||
|
|
||||||
In Visual Studio 2017 Installer select "Optional Features" -> "Wix Toolset"
|
|
||||||
|
|
||||||
Build the binaries like described above, but make sure you unselect "RUN_IN_PLACE".
|
|
||||||
|
|
||||||
Open the generated Project file with VS. Right click "PACKAGE" and choose "Generate".
|
|
||||||
It may take some minutes to generate the installer.
|
|
||||||
|
|
||||||
|
|
||||||
Docker ("stock" Minetest)
|
Docker
|
||||||
------
|
------
|
||||||
Minetest provides Minetest server docker images using the Gitlab mirror registry.
|
|
||||||
|
|
||||||
Images are built on each commit and available using the following tag scheme:
|
Images are built on each commit and available using the following tag scheme:
|
||||||
|
|
||||||
@ -483,27 +344,32 @@ Images are built on each commit and available using the following tag scheme:
|
|||||||
* `registry.gitlab.com/minetest/minetest/server:<branch/tag>` (current branch or current tag)
|
* `registry.gitlab.com/minetest/minetest/server:<branch/tag>` (current branch or current tag)
|
||||||
* `registry.gitlab.com/minetest/minetest/server:<commit-id>` (current commit id)
|
* `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:
|
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>
|
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
|
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:
|
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
|
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`.
|
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.
|
**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`.
|
You can also host your Minetest server inside a Kubernetes cluster. See our example implementation in [`misc/kubernetes.yml`](misc/kubernetes.yml).
|
||||||
|
|
||||||
|
|
||||||
Version scheme
|
Version scheme
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Minetest uses `major.minor.patch` since 5.0.0-dev,
|
We use `major.minor.patch` since 5.0.0-dev. Prior to that we used `0.major.minor`.
|
||||||
more information [here](https://github.com/minetest/minetest/#version-scheme).
|
|
||||||
|
|
||||||
minetest-luk3yx-4 currently uses `0.4.major.minor`, however that will probably
|
In minenux we used `4.minor.patch` for 0.4.X and `5.2.patch` for 5.2.X
|
||||||
change (and `major` releases do not necessarily contain breaking changes).
|
|
||||||
|
- Major in minenux is used only to those two releases, until 6.X comes in.
|
||||||
|
- Minor in 4.X will be always "0" cos will be only backported things.
|
||||||
|
- Patch is incremented when release contains bugfixes and veryminor/trivial features.
|
||||||
|
|
||||||
|
In minenux we do not use "-dev" notation, next release is never reached until
|
||||||
|
a new tag. We only backports patchs and push bugfixes, fetures are avoided as possible.
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#if defined USE_CMAKE_CONFIG_H
|
#if defined USE_CMAKE_CONFIG_H
|
||||||
#include "cmake_config.h"
|
#include "cmake_config.h"
|
||||||
#elif defined (__ANDROID__) || defined (ANDROID)
|
#elif defined (__ANDROID__) || defined (ANDROID)
|
||||||
#define PROJECT_NAME "minetest"
|
#define PROJECT_NAME "minetest" // TODO: PROJECT_NAME
|
||||||
#define PROJECT_NAME_C "Minetest"
|
#define PROJECT_NAME_C "Minetest"
|
||||||
#define STATIC_SHAREDIR ""
|
#define STATIC_SHAREDIR ""
|
||||||
#include "android_version.h"
|
#include "android_version.h"
|
||||||
|
@ -33,7 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
|
|
||||||
bool getGameMinetestConfig(const std::string &game_path, Settings &conf)
|
bool getGameMinetestConfig(const std::string &game_path, Settings &conf)
|
||||||
{
|
{
|
||||||
std::string conf_path = game_path + DIR_DELIM + "minetest.conf";
|
std::string conf_path = game_path + DIR_DELIM + PROJECT_NAME + ".conf";
|
||||||
return conf.readConfigFile(conf_path.c_str());
|
return conf.readConfigFile(conf_path.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ void set_default_settings(Settings *settings)
|
|||||||
settings->setDefault("max_simultaneous_block_sends_server_total", "40");
|
settings->setDefault("max_simultaneous_block_sends_server_total", "40");
|
||||||
settings->setDefault("time_send_interval", "5");
|
settings->setDefault("time_send_interval", "5");
|
||||||
|
|
||||||
settings->setDefault("default_game", "minetest");
|
settings->setDefault("default_game", PROJECT_NAME);
|
||||||
settings->setDefault("motd", "");
|
settings->setDefault("motd", "");
|
||||||
settings->setDefault("max_users", "15");
|
settings->setDefault("max_users", "15");
|
||||||
settings->setDefault("creative_mode", "false");
|
settings->setDefault("creative_mode", "false");
|
||||||
|
@ -477,16 +477,16 @@ static bool read_config_file(const Settings &cmd_args)
|
|||||||
g_settings_path = cmd_args.get("config");
|
g_settings_path = cmd_args.get("config");
|
||||||
} else {
|
} else {
|
||||||
std::vector<std::string> filenames;
|
std::vector<std::string> filenames;
|
||||||
filenames.push_back(porting::path_user + DIR_DELIM + "minetest.conf");
|
filenames.push_back(porting::path_user + DIR_DELIM + PROJECT_NAME + ".conf");
|
||||||
// Legacy configuration file location
|
// Legacy configuration file location
|
||||||
filenames.push_back(porting::path_user +
|
filenames.push_back(porting::path_user +
|
||||||
DIR_DELIM + ".." + DIR_DELIM + "minetest.conf");
|
DIR_DELIM + ".." + DIR_DELIM + PROJECT_NAME + ".conf");
|
||||||
|
|
||||||
#if RUN_IN_PLACE
|
#if RUN_IN_PLACE
|
||||||
// Try also from a lower level (to aid having the same configuration
|
// Try also from a lower level (to aid having the same configuration
|
||||||
// for many RUN_IN_PLACE installs)
|
// for many RUN_IN_PLACE installs)
|
||||||
filenames.push_back(porting::path_user +
|
filenames.push_back(porting::path_user +
|
||||||
DIR_DELIM + ".." + DIR_DELIM + ".." + DIR_DELIM + "minetest.conf");
|
DIR_DELIM + ".." + DIR_DELIM + ".." + DIR_DELIM + PROJECT_NAME + ".conf");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (size_t i = 0; i < filenames.size(); i++) {
|
for (size_t i = 0; i < filenames.size(); i++) {
|
||||||
|
@ -147,7 +147,7 @@ void initAndroid()
|
|||||||
/* in the start-up code */
|
/* in the start-up code */
|
||||||
__android_log_print(ANDROID_LOG_ERROR, PROJECT_NAME_C,
|
__android_log_print(ANDROID_LOG_ERROR, PROJECT_NAME_C,
|
||||||
"Initializing GPROF profiler");
|
"Initializing GPROF profiler");
|
||||||
monstartup("libminetest.so");
|
monstartup("libminetest.so"); // TODO PROJECT_NAME
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user