Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minetest #272

Open
wants to merge 1 commit into
base: v2.6
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions minetest/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Minetest

> These PufferPanel templates install the Minetest game engine.

As there are no precompiled binaries, the installer compiles Minetest from source, resulting in long installation times. The number of available CPU cores can be obtained using `nproc`

Please make sure the following dependencies are installed (for Debian/Ubuntu users):
```sh
sudo apt install g++ make libc6-dev cmake libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext
```
*If you are using another distribution, a depency list can be found in the official Minetest documentation.*

Due to some versions requiring an additional dependency, there are two different template files:

- For Minetest versions between and including 5.5.0 and 5.8.0, please use the `minetest-irrlichtmt.json` template file.
- Please specify the required IrrlichtMT version:
- Minetest `5.5.0` requires IrrlichtMT `1.9.0mt4`
- Minetest `5.5.1` requires IrrlichtMT `1.9.0mt4` or `1.9.0mt5`
- Minetest `5.6.0` requires IrrlichtMT `1.9.0mt7`
- Minetest `5.6.1` requires IrrlichtMT `1.9.0mt8`
- Minetest `5.7.0` requires IrrlichtMT `1.9.0mt10`
- Minetest `5.8.0` requires IrrlichtMT `1.9.0mt13`
- For Minetest versions below 5.5.0 and above 5.8.0, please use the `minetest.json` template file.

Minetest is only a game engine, games have to be downloaded from https://content.minetest.net/packages/?type=game and installed in the `minetest/games` directory.
90 changes: 90 additions & 0 deletions minetest/minetest-irrlichmt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
{
"name": "minetest",
"display": "Minetest",
"type": "game",
"install": [
{
"type": "download",
"files": [
"https://github.com/minetest/minetest/archive/refs/tags/${version}.tar.gz",
"https://github.com/minetest/irrlicht/archive/refs/tags/${irrlichtmt}.tar.gz"
]
},
{
"type": "command",
"commands": [
"tar -xzf minetest-${version}.tar.gz",
"tar -xzf irrlicht-${irrlichtmt}.tar.gz",
"rm minetest-${version}.tar.gz irrlicht-${irrlichtmt}.tar.gz",
"mv minetest-${version} minetest",
"mv irrlicht-${irrlichtmt} minetest/lib/irrlichtmt",
"cmake -S minetest -B minetest -DRUN_IN_PLACE=TRUE -DBUILD_SERVER=TRUE -DBUILD_CLIENT=FALSE -DCMAKE_BUILD_TYPE=Release",
"make -C minetest -j${cores}'"
]
},
{
"type": "writefile",
"target": "INFO.txt",
"text": "Minetest Version ${version}\nIrrlichtMT Version ${irrlichtmt}"
}
],
"run": {
"stopCode": 2,
"command": "./bin/minetestserver --worldname ${worldname} --port ${port}",
"workingDirectory": "minetest",
"pre": [],
"post": [],
"environmentVars": {}
},
"data": {
"worldname": {
"type": "string",
"desc": "Name of the world",
"display": "World name",
"required": true,
"userEdit": true,
"value": "world"
},
"port": {
"type": "integer",
"desc": "Server port",
"display": "Port",
"required": true,
"userEdit": true,
"value": "30000"
},
"version": {
"type": "string",
"desc": "Minetest version, e.g. 5.8.0",
"display": "Version",
"required": true,
"userEdit": true
},
"irrlichtmt": {
"type": "string",
"desc": "IrrlichtMT version, e.g. 1.9.0mt13",
"display": "IrrlichtMT",
"required": true,
"userEdit": true
},
"cores": {
"type": "integer",
"desc": "Available CPU cores",
"display": "Cores",
"required": true,
"userEdit": true,
"value": "1"
}
},
"environment": {
"type": "standard"
},
"supportedEnvironments": [
{
"type": "standard"
}
],
"requirements": {
"os": "linux"
}
}
80 changes: 80 additions & 0 deletions minetest/minetest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"name": "minetest",
"display": "Minetest",
"type": "game",
"install": [
{
"type": "download",
"files": [
"https://github.com/minetest/minetest/archive/refs/tags/${version}.tar.gz"
]
},
{
"type": "command",
"commands": [
"tar -xzf minetest-${version}.tar.gz",
"rm minetest-${version}.tar.gz",
"mv minetest-${version} minetest",
"cmake -S minetest -B minetest -DRUN_IN_PLACE=TRUE -DBUILD_SERVER=TRUE -DBUILD_CLIENT=FALSE -DCMAKE_BUILD_TYPE=Release",
"make -C minetest -j${cores}"
]
},
{
"type": "writefile",
"target": "INFO.txt",
"text": "Minetest Version ${version}"
}
],
"run": {
"stopCode": 2,
"command": "./bin/minetestserver --worldname ${worldname} --port ${port}",
"workingDirectory": "minetest",
"pre": [],
"post": [],
"environmentVars": {}
},
"data": {
"worldname": {
"type": "string",
"desc": "Name of the world",
"display": "World name",
"required": true,
"userEdit": true,
"value": "world"
},
"port": {
"type": "integer",
"desc": "Server port",
"display": "Port",
"required": true,
"userEdit": true,
"value": "30000"
},
"version": {
"type": "string",
"desc": "Minetest version, e.g. 5.4.1",
"display": "Version",
"required": true,
"userEdit": true
},
"cores": {
"type": "integer",
"desc": "Available CPU cores",
"display": "Cores",
"required": true,
"userEdit": true,
"value": "1"
}
},
"environment": {
"type": "standard"
},
"supportedEnvironments": [
{
"type": "standard"
}
],
"requirements": {
"os": "linux"
}
}