PHP-Version in der Shell bei all-inkl einstellen

Beim Webhoster all-inkl wird bei den größeren Paketen ein SSH-Zugang zu einer Shell mit angeboten. Mit diesem Zugang ist es unter anderem möglich PHP auf der Konsole auszuführen. Standardmäßig geschieht dies über den Befehl php. Aktuell nutzt der Befehl die Version 7.0.33 von PHP. Soll stattdessen eine höhere Version genutzt werden, so kann die symbolische Verknüpfung entsprechend verändert werden:

ln -sfv /usr/bin/php73 /usr/bin/php

Damit würde der Befehl php nun auf ein PHP in Version 7.3 zeigen. Neben der Version 7.3 sind noch weitere Versionen verfügbar:

/usr/bin/php56
/usr/bin/php70
/usr/bin/php71
/usr/bin/php72
/usr/bin/php73

Auch ohne Änderung der symbolischen Verknüfung kann die gewünschte PHP-Version verwendet werden, indem sie direkt aufgerufen wird:

/usr/bin/php72 update.php

In diesem Fall würde das Skript update.php mit der PHP-Version 7.2 ausgeführt werden.

Steam startet unter macOS nicht

Auf einem MacBook Air habe ich ein neues System aufgesetzt. Neben anderer Software, wollte ich unter anderem Steam installieren. Nach der Installation startete Steam und lud die entsprechenden Daten herunter. Danach beendete sich Steam selber. Auch der mehrmalige Versuch Steam zu Starten führte zum gleichen Fehlerbild. Das Löschen des Ordners mit den Applikationsdaten:

~/Library/Application Support/Steam

half leider ebenfalls nicht. Für die Fehlersuche startete ich Steam im Terminal:

cd /Applications/Steam.app/Contents/MacOS/
./steam_osx

Dort erschient folgende Ausgabe:

[2019-01-13 18:33:37] Startup - updater built Aug 22 2016 17:36:46
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Common/ChunkCompression.cpp:49: Error: unsupported compressor 8
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Libraries/CompressData/CompressData.c:353: Error: Unknown compression scheme encountered for file '/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist'
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Common/ChunkCompression.cpp:49: Error: unsupported compressor 8
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleFSCompression/AppleFSCompression-96.200.3/Libraries/CompressData/CompressData.c:353: Error: Unknown compression scheme encountered for file '/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/AppExceptions.bundle/Exceptions.plist'
[2019-01-13 18:33:38] Startup - updater built Jan  4 2019 15:25:44
found breakpad via in process memory: '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/Frameworks/Breakpad.framework/Versions/A/Resources'
Installing breakpad crash handler
[2019-01-13 18:33:38] Steam requires that '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS' be on a case-insensitive filesystem.
SteamID:  0, universe Public
[2019-01-13 18:33:38] Steam requires that '/Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS' be on a case-insensitive filesystem.
[2019-01-13 18:33:38] Verifying installation...
[2019-01-13 18:33:38] Shutdown
[2019-01-13 18:33:38] Unable to read and verify install manifest /Users/seeseekey/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/package/steam_client_osx.installed
[2019-01-13 18:33:38] Verification complete
[2019-01-13 18:33:38] Downloading update...
[2019-01-13 18:33:38] Checking for available updates...
[2019-01-13 18:33:38] Downloading manifest: client-download.steampowered.com/client/steam_client_osx
[2019-01-13 18:33:38] Error: Download failed: http error 0

Nach der Auswertung der Ausgabe ergab sich das es sich hier ebenfalls um ein Problem mit dem case-sensitiven Dateisystem auf dem macOS-Rechner handelte.

Steam verträgt case-sensitive Dateisysteme unter macOS nicht

Für dieses Problem bieten sich zwei Lösungen an. Bei der radikalen Lösung wird der Rechner bzw. die Partition neu aufgesetzt. Die andere Möglichkeit wäre es eine Partition zu erstellen, welche mit einem case-insensitiven Dateisystem betrieben wird und der entsprechende Application Support-Ordner per Hardlink zu dieser neuen Partition zeigen zu lassen. Schön ist keine der Lösungen, vor allem da sich jenes Problem durch die Anwendung (in diesem Fall Steam) lösen ließe. Meine pragmatische Lösung war es in diesem Fall Steam nicht zu installieren und stattdessen den Rechner produktiv zu nutzen.

Karten im RPG Maker MV verknüpfen

Im RPG Maker MV sind Karten die Essenz des Editor. Aus vielen unterschiedlichen Karten wird am Ende ein fertiges Spiel. Damit dies der Fall ist müssen die unterschiedlichen Karten im RPG Maker MV miteinander verknüpft werden. Dies geschieht über entsprechende Ereignisse.

Eine Weltkarte im RPG Maker MV

Um mehrere Karten miteinander zu verknüpfen, benötigt man im ersten Schritt mindestens zwei Karten. Anschließend wählt man im RPG Maker MV den Ereigniseditor aus und erstellt mit einem Doppelklick auf dem gewünschten Feld ein neues Ereignis. Unter Inhalte wird nun ein neuer Ereignisbefehl erstellt und dort der Befehl Spieler übertragen… ausgewählt. Zu finden ist dieser Befehl auf der zweiten Seite des sich öffnenden Fensters. Anschließend kann man eine Karte und Position auswählen zu welcher der erstellte Warp führen soll. Als Auslöser für das Event sollte in den meisten Fällen Spielerberührung ausgewählt werden.

Im Ereigniseditor wird der Warp angelegt

Damit ist ein einfacher Übergang von einer Karte zur nächsten Karte geschaffen worden. Für den Rückweg sollte ebenfalls ein entsprechendes Event erstellt werden. Daneben können Warps ebenfalls über die schnelle Ereigniserstellung im Kontextmenü des Ereigniseditors erstellt werden. Neben einfachen Übergängen von einer Karte zur nächsten, lassen sich auch kompliziertere Verknüpfungen zwischen den Karten herstellen. Eine häufig genutzt Variante kommt hierbei bei dem Übergang von der Weltkarte zu einer regulären Karte vor. Eine Stadt kann z.B. von vier Seiten betreten werden. Wenn man die Stadt auf der Weltkarte von links betritt, sollte der Charakter ebenfalls auf der linken Seite der Stadt auftauchen.

Je nach Blickrichtung wird der Charakter an eine andere Stelle teleportiert

Um diesen Fall abzudecken, erzeugt man ein Ereignis mit einer bedingten Verzweigung, welche in der Kategorie Ablaufsteuerung der Ereignisbefehle zu finden ist. Als Bedingung für die Verzweigung kann die Blickrichtung des Charakters genutzt werden. Für jede gewünschte Blickrichtung muss eine bedingte Verzweigung mit dem entsprechenden Warp erstellt werden. So wird der Charakter je nach Blickrichtung an eine andere Position der verknüpften Karte übertragen.