Mapcrafter unter Ubuntu aufsetzen

Eine Welt in Minecraft hat die Angewohnheit, mit der Zeit immer größer zu werden. In einem solchen Fall ist eine Karte natürlich sehr praktisch. Mithilfe des Tools Mapcrafter kann eine solche Karte erstellt werden. Der Mapcrafter erzeugt neben den Kartenkacheln auch eine JavaScript-Anwendung, mit der diese betrachtet werden können.

Eine Mapcrafter-Karte

Im ers­ten Schritt muss das Mapcrafter-Repository mittels:

git clone https://github.com/mapcrafter/mapcrafter.git

auf den Ser­ver geholt werden. Mit dem Befehl wird das Git-Repository, in welchem sich der Quelltext befindet, auf den Server geklont. Im Git-Kontext bedeutet dies, dass das gesamte Repository heruntergeladen wird. Falls Git nicht installiert ist, muss das entsprechende Paket mittels:

apt install git

installiert werden. Die aktuelle Entwicklung findet im Branch world113 statt, so das in diesen gewechselt werden muss:

cd mapcrafter
git checkout world113

Bevor die Software kompiliert werden kann, müssen einige Abhängigkeiten installiert werden:

apt install build-essential cmake libboost-all-dev libjpeg-dev libpng-dev

Anschließen kann die Software kompiliert und installiert werden:

cmake .
make 
make install
ldconfig

Nach der Installation könnte Mapcrafter über den Befehl:

/usr/local/bin/mapcrafter -c example.conf -b -j 4

ausgeführt werden. Allerdings muss vor dem ersten Start noch eine Konfigurationsdatei erstellt werden. In dieser Konfigurationsdatei ist definiert, wie die Karte gerendert werden soll. Die Datei und die Skripte zur Aktualisierung werden im Kontext des Nutzers minecraft angelegt:

su minecraft
cd
mkdir map
nano example.conf

Exemplarisch könnte die Konfigurationsdatei wie folgt aussehen:

output_dir = /home minecraft/map
background_color = #000000

[marker:teleporter]
name = Teleporter
prefix = Hauptteleporter
icon = beacon.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[marker:signs]
name = Signs
icon = sign.png
icon_size = [32, 32]
show_default = false
title_format = %(textp)

[world:world]
input_dir = world
world_name = Example

[global:map]
image_format = png
png_indexed = true
rotations = top-left
texture_size = 16

[map:day_isometric]
name = Day (isometric)
render_view = isometric
render_mode = daylight
world = world

Nachdem die Konfigurationsdatei angelegt wurde, kann die Karte testweise mittels des Befehls:

/usr/local/bin/mapcrafter -c example.conf -b -j 4

erzeugt werden. Damit die Aktualisierung später automatisch geschieht, werden die Befehle zur Aktualisierung der Skripte in eine Skript-Datei geschrieben:

nano updateMap.sh

Diese Datei wird mit folgendem Inhalt befüllt:

#!/bin/bash
/usr/local/bin/mapcrafter -c example.conf -b -j 4
/usr/local/bin/mapcrafter_markers -v -c example.conf

Anschließend soll ein Cronjob eingerichtet werden. Dazu wird der Crontab-Editor geöffnet:

crontab -e

In der sich öffnende Datei muss nun folgende Zeile hinzugefügt werden:

0    1    * * *   (. ~/.profile; /usr/bin/screen -dmS mapcrafter /home/minecraft/updateMap.sh)

Danach kann die Datei geschlossen werden. Der Cronjob startet nun um 1 Uhr die tägliche Aktualisierung der Karte.

ownCloud cron.lock Probleme abmildern

ownCloud aktualisiert regelmäßig Daten im Hintergrund mittels eines Cronjobs. So werden z.B. neue Artikel aus RSS-Feeds bezogen, wenn die App News installiert ist. Während der Cronjob durchgeführt wird, legt ownCloud eine Datei mit dem Namen cron.lock im data-Verzeichnis der ownCloud Installation an. Unter Umständen kann es passieren das der Cronjob nicht zu einem ordentliche Abschluss kommt und die cron.lock-Datei damit bestehen bleibt. Dies führt dazu das ownCloud keine Aktualisierungen mehr vornehmen kann. Als Workaround kann die Sperrdatei mit einem Cronjob regelmäßig entfernt werden. Dazu muss die Crontab bearbeitet werden:

crontab -e

In die sich öffnende Crontab-Datei wird nun folgendes eingetragen:

4    0    * * *   rm /var/www/example/owncloud/data/cron.lock

Damit wird die cron.lock-Datei jeden Tag um 0:04 Uhr gelöscht, falls sie vorhanden sein sollte. Wichtig ist es dabei die Crontab-Datei mit einer Leerzeile abzuschließen und den Pfad an die eigene Installation anzupassen.

Crontabs im Browser erstellen

In der Crontab-Datei werden sich wiederholende Cronjobs gespeichert. Mittels:

crontab -e

ist es möglich diese Datei zu bearbeiten. Wer mit der Syntax nicht konform geht bzw. sie noch nicht verinnerlicht hat, kann sich die passenden Kommandozeilen für die Crontab-Datei mittels des Crontab Generator zusammenbauen.

crontab-generator.org

crontab-generator.org

Der unter crontab-generator.org zu findende Webdienst, bietet eine Funktionalität um sich einfach Konfigurationszeilen für die Crontab-Datei zusammenzubauen. Auf Wunsch kann sich die fertige Datei auch per Mail zugesandt oder in eine Datei exportiert werden.