At first you have to get the source code of Mapcrafter. Clone it directly from GitHub if you want the newest version:
git clone https://github.com/mapcrafter/mapcrafter.git
Make sure you have all requirements installed. If you are on a Debian-like Linux system, you can install these packages with apt:
sudo apt-get install libpng-dev libjpeg-dev libboost-iostreams-dev \ libboost-system-dev libboost-filesystem-dev libboost-program-options-dev \ build-essential cmake
If you are on an RPM based system such as Fedora, you can install these packages with yum:
sudo yum install boost-devel libjpeg-devel libpng-devel gcc-c++ make cmake
Then you can go into the directory with the Mapcrafter source (for example mapcrafter/, not mapcrafter/src/) and build it with the following commands:
cmake . make
If everything works, you should have an executable file mapcrafter in the src/ directory.
You can now install Mapcrafter system-wide for all users if you want:
sudo make install
If you get an error concerning libmapcraftercore.so not found, you have to run ldconfig (as root).
On CentOS and other RHEL and Fedora derived distributions, you may have to add /usr/local/lib and /usr/local/lib64 to /etc/ld.so.conf.d/usrlocal.conf and run ldconfig -v
Don’t forget that you still have to install the texture files needed for Mapcrafter. If you install the texture files to src/data/textures, they will be copied to a path Mapcrafter will automatically detect when installing Mapcrafter with make install.
Mapcrafter builds fine on FreeBSD 10, 9 is not tested but could also build there.
For this guide we will be using ports, but could work with packages from pkgng (untested).
First step is to install prerequisites:
cd /usr/ports/devel/git make install clean; rehash cd /usr/ports/devel/boost-all make install clean; rehash cd /usr/ports/devel/cmake make install clean; rehash cd /usr/ports/misc/compat8x make install clean; rehash cd /usr/ports/graphics/png make install clean; rehash
Or if you got portmaster installed:
portmaster devel/git devel/boost-all devel/cmake misc/compat8x graphics/png
Once this is done compiling (takes a long time), you can go ahead with the normal steps:
git clone https://github.com/mapcrafter/mapcrafter.git cd mapcrafter cmake . make
Currently there are no pre built packages available for Mac OS X but building it is relatively simple.
Depending on your version of OS X you may or may not have git installed. Starting from 10.9 Mavericks git is installed with Xcode, if you got 10.8 Mountain Lion or older, you must install command line tools from Xcode and run the following command:
brew install git
On 10.9 Mavericks systems you will have to run the following command after you’ve installed Xcode:
and select install in the window that pops up, and accept the EULA.
First you will have to clone the latest Mapcrafter source by running:
git clone https://github.com/mapcrafter/mapcrafter.git
After this, install the dependencies using brew:
brew install boost libpng cmake libjpeg-turbo
Or install the dependencies using port:
port install boost libpng cmake libjpeg-turbo
Once you have run this, you should have a working build system for Mapcrafter:
cd mapcrafter cmake . make
This will build Mapcrafter and put the ready to use binary in the src/ directory.
Note: With homebrew you will have to run the following CMake command:
cmake . -DJPEG_INCLUDE_DIR=/usr/local/opt/jpeg-turbo/include/ -DJPEG_LIBRARY=/usr/local/opt/jpeg-turbo/lib/libjpeg.dylib
If you are running Arch Linux as operating system, you can install Mapcrafter from the AUR.
If you are running Debian or Ubuntu, you can use the already built Mapcrafter Debian packages.
If you are using Debian, run the following commands in a shell:
echo "deb http://packages.mapcrafter.org/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/mapcrafter.list sudo wget -O /etc/apt/trusted.gpg.d/mapcrafter.gpg http://packages.mapcrafter.org/debian/keyring.gpg
If you are using Ubuntu, run the following commands in a shell:
echo "deb http://packages.mapcrafter.org/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/mapcrafter.list sudo wget -O /etc/apt/trusted.gpg.d/mapcrafter.gpg http://packages.mapcrafter.org/ubuntu/keyring.gpg
The commands above add the Mapcrafter Debian package repository to your package manager and import the public key which was used to sign the packages.
Now you can run sudo apt-get update to tell your package manager about the sources and sudo apt-get install mapcrafter to install Mapcrafter. During this process it will automatically download a temporary Minecraft Jar file and unpack required texture files.
Ubuntu Vivid Vervet (15.04), Trusty Tahr (14.04 LTS), Precise Pangolin (12.04 LTS), Debian Jessie (stable) and Wheezy (oldstable) i386/amd64 are supported at the moment. You have to build Mapcrafter from source if you are using another distribution / version. If you think that there is an important distribution / version missing, please contact me.
There is also a “nightly channel” of packages built every night from the newest source code (nightly instead of main sources list file). Those packages are primarily built to make sure that no build problems on the different platforms arise while doing development work on Mapcrafter.
You can download prebuilt packages for Windows from mapcrafter.org:
Mapcrafter for Windows is cross-compiled on Linux using mingw-w64. You can find the CMake toolchain files on GitHub if you want to build it on your own:
Having all the depedencies ready is a bit complicated, that’s why I’m using Arch Linux which has AUR packages for mingw-w64 and all the required libraries.
You don’t need to install the Minecraft texture files manually if you installed Mapcrafter from the AUR or with the Debian package.
Mapcrafter needs some resources to render maps: Minecraft texture files and some template files for the web output.
There are different directories Mapcrafter searches these files:
$HOME is your home directory (usually /home/<username>). $PREFIX is the directory where Mapcrafter is installed (mostly /usr or /usr/local, if installed via Debian package or make install). $MAPCRAFTER is the directory of the Mapcrafter executable. The third path is used if you built Mapcrafter from source and run it directly without installing.
The template and texture files in these resource directories are expected by the renderer in template/, the texture files in textures/.
You can get the paths to the resource directories of Mapcrafter by running mapcrafter --find-resources. For example, when I installed the Debian package:
$ mapcrafter --find-resources Your home directory: /home/moritz Mapcrafter binary: /usr/bin/mapcrafter Resource directories: 1. /home/moritz/.mapcrafter 2. /usr/share/mapcrafter Template directories: 1. /usr/share/mapcrafter/template Texture directories: 1. /usr/share/mapcrafter/textures Logging configuration file: 1. /etc/mapcrafter/logging.conf
You can see that Mapcrafter found a resource directory in the home directory but no template/ or textures/ directory in it. So it’s just using the template and texture directories in /usr/share/mapcrafter. The numbers in front of the paths are the order Mapcrafter is using these directories. If you want to overwrite the default textures, you can just create a new texture directory .mapcrafter/textures in your home directory.
Now you have to install the Minecraft texture files. You need the following files in your texture directory:
You can get those files from your Minecraft Jar file (default textures) or from another resource pack. To extract these texture files there is a python script mapcrafter_textures.py (src/tools/mapcrafter_textures.py in the Mapcrafter source if you didn’t install Mapcrafter on your system). Run the python script with the Minecraft Jar file and the texture directory as arguments:
mapcrafter_textures.py /path/to/my/minecraft/jar/1.8.jar /my/texture/directory
You will probably find your Minecraft Jar file in ~/.minecraft/versions/%version%/%version%.jar.