2018-07-26 22:32:13 +02:00
|
|
|
# MinedMap
|
|
|
|
|
|
|
|
* Render beautiful maps of your [Minecraft](https://minecraft.net/) worlds!
|
|
|
|
* Put them on a webserver and view them in your browser!
|
2023-08-20 17:49:37 +02:00
|
|
|
* Compatible with unmodified Minecraft Java Edition 1.8 up to 1.20 (no mod installation necessary!)
|
2018-07-26 22:32:13 +02:00
|
|
|
* Illumination layer: the world at night
|
2023-08-20 17:49:37 +02:00
|
|
|
* Fast: create a full map for a huge 3GB savegame in less than 5 minutes in single-threaded operation
|
|
|
|
* Multi-threading support: pass `-j N` to the renderer to use `N` parallel threads for generation
|
2018-07-26 22:32:13 +02:00
|
|
|
* Incremental updates: only recreate map tiles for regions that have changed
|
2023-08-20 17:49:37 +02:00
|
|
|
* Typically uses less than 100MB of RAM in single-threaded operation (may be higher when `-j` is passed)
|
|
|
|
* Cross-platform: runs on Linux, Windows, and likely other systems like MacOS as well
|
2018-07-26 22:32:13 +02:00
|
|
|
|
2023-08-21 21:50:32 +02:00
|
|
|

|
2018-07-26 22:32:13 +02:00
|
|
|
|
|
|
|
## How to use
|
|
|
|
|
|
|
|
MinedMap consists of two components: a map renderer generating map tiles from
|
|
|
|
Minecraft save games, and a viewer for displaying and navigating maps in a browser
|
|
|
|
based on [Leaflet](https://leafletjs.com/). The map renderer is heavily inspired by
|
2023-11-18 18:51:11 +01:00
|
|
|
[MapRend](https://github.com/YSelfTool/MapRend), but has been reimplemented from scratch
|
|
|
|
(first in C++, now in Rust) for highest performance.
|
2018-07-26 22:32:13 +02:00
|
|
|
|
|
|
|
The viewer expects the the map data in a directory named `data`. To generate a new
|
|
|
|
map, create this empty directory inside the viewer directory. Next, to generate the
|
|
|
|
map files run MinedMap passing the source and the destination paths on the command
|
|
|
|
line:
|
|
|
|
```shell
|
2023-08-20 17:49:37 +02:00
|
|
|
minedmap /path/to/save/game /path/to/viewer/data
|
2018-07-26 22:32:13 +02:00
|
|
|
```
|
|
|
|
The save game is stored in `saves` inside your Minecraft main directory
|
|
|
|
(`~/.minecraft` on Linux, `C:\Users\<username>\AppData\Roaming\.minecraft` on Windows)
|
|
|
|
in a subdirectory with the name of your world.
|
|
|
|
|
|
|
|
The first map generation might take a while for big worlds, but subsequent calls will
|
|
|
|
only rebuild tiles for region files that have changed, rarely taking more than a second
|
|
|
|
or two. This makes it feasible to update the map very frequently, e.g. by running
|
|
|
|
MinedMap as a Cron job every minute.
|
|
|
|
|
|
|
|
Note that it is not possible to open the viewer *index.html* without a webserver, as
|
|
|
|
it cannot load the generated map information from `file://` URIs. For testing purposes,
|
|
|
|
you can use a minimal HTTP server, e.g. (if you have Python installed):
|
|
|
|
```shell
|
|
|
|
python3 -m http.server
|
|
|
|
```
|
|
|
|
This test server is very slow and cannot handle multiple requests concurrently, so use
|
|
|
|
a proper webserver like [nginx](https://nginx.org/) or upload the viewer together with
|
|
|
|
the generated map files to public webspace to make the map available to others.
|
|
|
|
|
2023-08-20 17:49:37 +02:00
|
|
|
## Installation
|
2018-07-26 22:32:13 +02:00
|
|
|
|
2023-11-18 18:51:11 +01:00
|
|
|
Building the MinedMap map generator from source requires a recent Rust toolchain. The
|
|
|
|
following command can be used to build the current development version:
|
2023-08-20 17:49:37 +02:00
|
|
|
```shell
|
|
|
|
cargo install --git 'https://github.com/NeoRaider/MinedMap.git'
|
|
|
|
```
|
2018-07-26 22:32:13 +02:00
|
|
|
|
2023-08-20 17:49:37 +02:00
|
|
|
In addition, CMake is needed to build the zlib-ng library. If you do not have
|
|
|
|
CMake installed, you can disable the zlib-ng feature by passing `--no-default-features`
|
|
|
|
to cargo. A pure-Rust zlib implementation will be used, which is more portable,
|
|
|
|
but slower than zlib-ng.
|
2018-07-26 22:32:13 +02:00
|
|
|
|
2023-08-20 17:49:37 +02:00
|
|
|
If you are looking for the older C++ implementation of the MinedMap tile renderer,
|
2023-08-20 17:57:59 +02:00
|
|
|
see the [v1.19.1](https://github.com/NeoRaider/MinedMap/tree/v1.19.1) tag.
|
2018-07-26 22:32:13 +02:00
|
|
|
|