minetest-tiler/README.md

71 lines
2.9 KiB
Markdown

# Minetest Tiler
An easy wrapper for [Minetest Mapper](https://github.com/minetest/minetestmapper) generating tiles for web.
The output can be used with [Leaflet](https://leafletjs.com/).
[Demo map here (Juneland Survival)](https://juneland.fr/map/survival)
## Use
Choose the strategy you prefer between complete periodic generation and cached on-demand generation:
### Python generator
Runs minetestmapper once for a given part of the map. You can run it with cron. You also need an external webserver (e.g. Apache, Nginx) to serve the generated tiles.
Dependencies:
* [Python3](https://www.python.org/)
* [Python-PIL](https://pillow.readthedocs.io/en/stable/installation.html)
* [minetestmapper](https://github.com/minetest/minetestmapper)
* [Colors.txt](https://github.com/MilesBDyson/Colors.txt) (optional -- more complete colorset)
Edit the settings in `mtmapper.py` according to your configuration.
```bash
python3 mtmapper.py
```
Depending on the world and the settings (number of zoom levels, number of blocks), it may take a while.
### Rust mapserver
A program that runs minetestserver automatically and serves cached tiles through an included webserver. You can run it as a daemon.
Dependencies:
* [Rust](https://rustup.rs/) (minimal toolchain is enough) (for building only)
* [minetestmapper](https://github.com/minetest/minetestmapper)
* [Colors.txt](https://github.com/MilesBDyson/Colors.txt) (optional -- more complete colorset)
```bash
cd mapserver
cargo build --release
./target/release/mapserver --help
# Example with arguments:
./target/release/mapserver -w /var/games/minetest-server/.minetest/worlds/juneland-survival/ -p /home/tuxmain/minetestmapper/minetestmapper -- --drawalpha --max-y 2000 --colors /home/tuxmain/Colors.txt/colors.txt
```
### Web interface
Both generation methods need a webpage(can be served by a webserver like Apache, Nginx):
Edit `index.html` (change the tiles URL, title, attribution and points of interest).
You can keep my server as a CDN for Leaflet, but it's preferable to host your own copy of Leaflet.
## Share
If you make substancial modifications or fixes to the backend (Python) code, please share (Affero clause). An accessible hyperlink to the file on the map webpage is sufficient, but a PR is welcome.
## License
CopyLeft 2020-2022 Pascal Engélibert
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.