mirror of
https://github.com/neocturne/MinedMap.git
synced 2025-03-04 17:23:33 +01:00
71 lines
3.2 KiB
Markdown
71 lines
3.2 KiB
Markdown
# MinedMap
|
|
|
|
* Render beautiful maps of your [Minecraft](https://minecraft.net/) worlds!
|
|
* Put them on a webserver and view them in your browser!
|
|
* Compatible with unmodified Minecraft Java Edition 1.8 up to 1.14 (no mod installation necessary!)
|
|
* Illumination layer: the world at night
|
|
* Fast: create a full map for a huge 3GB savegame in less than 5 minutes
|
|
* Incremental updates: only recreate map tiles for regions that have changed
|
|
* Very low memory usage: typically uses less than 5MB of RAM
|
|
|
|

|
|
|
|
|
|
## 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
|
|
[MapRend](https://github.com/YSelfTool/MapRend), but it has been implemented in C++
|
|
from scratch for highest performance.
|
|
|
|
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
|
|
./MinedMap /path/to/save/game /path/to/viewer/data
|
|
```
|
|
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.
|
|
|
|
|
|
## Building MinedMap
|
|
|
|
Precompiled MinedMap binaries for Windows (32bit and 64bit versions) are available under
|
|
"Releases" on the Github page. On other platforms, MinedMap must be built from source.
|
|
|
|
MinedMap has been tested to work on Windows and Linux. I assume it can also be
|
|
built for MacOS and pretty much any POSIX-like system, but I didn't check. ¯\\\_(ツ)\_/¯
|
|
|
|
To build from source, you need Git, CMake, the GCC toolchain and the development
|
|
files for the libraries *zlib* and *libpng* (packages *git*, *cmake*, *build-essential*,
|
|
*zlib1g-dev* and *libpng-dev* on Debian/Ubuntu).
|
|
|
|
Use the following commands to build:
|
|
```shell
|
|
git clone https://github.com/NeoRaider/MinedMap.git # Or download a release ZIP and unpack it
|
|
mkdir MinedMap-build
|
|
cd MinedMap-build
|
|
cmake ../MinedMap -DCMAKE_BUILD_TYPE=RELEASE
|
|
make
|
|
```
|
|
After a successful build, the MinedMap renderer binary can be found in the *src*
|
|
subdirectory of the build dir `MinedMap-build`. The viewer is located in the cloned
|
|
Git repository `MinedMap`.
|