Minetestmapper generates an overview image from a Minetest map.
A port of minetestmapper.py to C++ from https://github.com/minetest/minetest/tree/0.4.17/util. This version is both faster and provides more features than the now obsolete Python script.
Minetestmapper ships with a colors.txt file for Minetest Game, if you use a different game or have many mods installed you should generate a matching colors.txt for better results. The generate_colorstxt.py script in the util folder exists for this purpose, detailed instructions can be found within.
- C++ compiler, zlib, zstd
- LevelDB (optional)
- hiredis (optional)
- Postgres libraries (optional)
sudo apt install cmake libgd-dev libhiredis-dev libleveldb-dev libpq-dev libsqlite3-dev zlib1g-dev libzstd-dev
sudo zypper install gd-devel hiredis-devel leveldb-devel postgresql-devel sqlite3-devel zlib-devel libzstd-devel
Minetestmapper for Windows can be downloaded from the Releases section.
After extracting the archive, it can be invoked from cmd.exe:
cd C:\Users\yourname\Desktop\example\path minetestmapper.exe --help
cmake . -DENABLE_LEVELDB=1 make -j$(nproc)
minetestmapper has two mandatory paremeters, -i (input world path) and -o (output image path).
./minetestmapper -i ~/.minetest/worlds/my_world/ -o map.png
- Background color of image, e.g.
- Color of scale marks and text, e.g.
- Color of player indicators, e.g.
- Color of origin indicator, e.g.
- Draw scale(s) with tick marks and numbers,
- Draw player indicators with name,
- Draw origin indicator,
- Allow nodes to be drawn with transparency (e.g. water),
- Don't output any imagery, just print the extent of the full map,
- Don't draw shading on nodes,
- Don't output anything when the image would be empty,
- Don't draw nodes below this y value, e.g.
- Don't draw nodes above this y value, e.g.
- Override auto-detected map backend; supported: sqlite3, leveldb, redis, postgresql, e.g.
- Limit area to specific geometry (x:z+w+h where x and z specify the lower left corner), e.g.
- Apply zoom to drawn nodes by enlarging them to n*n squares, e.g.
- Override auto-detected path to colors.txt, e.g.
- Draw scales on specified image edges (letters t b l r meaning top, bottom, left and right), e.g.
- Select if database should be traversed exhaustively or using range queries, available: never, y, full, autoDefaults to auto. You shouldn't need to change this, but doing so can improve rendering times on large maps.For these optimizations to work it is important that you set
max-ywhen you don't care about the world below e.g. -60 and above 1000 nodes.