Probleme beim MediaWiki Update auf Version 1.28.1

Beim Update einer MediaWiki-Installation auf die Version 1.28.1 über das update.php-Skript erhielt ich folgende Fehlermeldung:

Error: your composer.lock file is not up to date. Run "composer update" to install newer dependencies

Hintergrund sind unerfüllte Abhängigkeiten, welche wohl nur für die Entwicklung benötigt werden. Um das Update trotzdem durchzuführen sollte folgendes Kommando im Terminal genutzt werden:

php ./update.php --skip-external-dependencies

Damit wird die Prüfung der externen Abhängigkeiten deaktiviert und die Aktualisierung kann erfolgreich durchgeführt werden.

macOS Server deinstallieren

Für macOS existiert seit vielen Jahren eine Erweiterung (der macOS Server), mit welchem dem Betriebssystem bestimmte Server-Funktionalitäten hinzugefügt werden können. Wenn der macOS Server später wieder deinstalliert werden soll, so ist dies in zwei einfachen Schritten möglich.

Die Konfigurationsoberfläche des macOS Server

Im ersten Schritt muss die Server-Applikation aus dem Programme-Ordner gelöscht werden. Anschließend muss der Ordner /Library/Server gelöscht werden. Damit ist der macOS Server deinstalliert.

Affinity Photo Oberfläche zurücksetzen

Vor einigen Tagen hatte ich mir die Oberfläche der macOS-App Affinity Photo zerschossen. Nachdem alle Versuche gescheitert waren, die Leiste auf der rechten Seite wieder zu aktivieren, blieb nur noch der Versuch die Oberfläche von Affinity Photo komplett zurückzusetzen.

Affinity Photo

Dazu wählt man im Menü Ansicht den Punkt Studio und dort den Unterpunkt Studio zurücksetzen. Anschließend werden die Bedienelemente und die Fenster wieder auf den initialen Stand zurückgesetzt.

Minecraft-Mobs in bestimmten Bereich entfernen

Für bestimmte Redstone-Schaltungen oder als letztes administratives Mittel ist man manchmal auf der Suche nach einem Minecraft-Kommando um alle Mobs in einem bestimmten Umkreis zu entfernen. Realisiert wird dies über das kill-Kommando:

/kill @e[type=!player,r=100]

Das Kommando entfernt dabei alle Entites außer solche vom Typ Player. Ändert man den Typ z.B. in creeper kann der Befehl auf bestimmte Mobs begrenzt werden.

Absturz des Minecraft-Servers wegen zu kurzer Tickzeit

In Minecraft kann man viele Dinge mit seiner Zeit anstellen. Je nach Tätigkeit und Projekt kann dies den Minecraft-Server in unterschiedlichem Maße in Anspruch nehmen. Größere TNT-Explosionen können den Server dabei durchaus an seine Leistungsgrenze bringen. Manchmal beendet sich der Minecraft-Server ohne das der Server entsprechend ausgelastet ist. Im Log sieht das ganze dann wie folgt aus:

[21:48:23] [Server Watchdog/FATAL]: A single server tick took 60,00 seconds (should be max 0,05)
[21:48:23] [Server Watchdog/FATAL]: Considering it to be crashed, server will forcibly shutdown.

Hintergrund für diese Meldung ist das der Server pro berechenbarer Zeiteinheit (eben ein Tick) Operationen ausführt. Wenn dieser Tick länger als eine bestimmte Zeit dauert, wird dies vom eingebauten Watchdog erkannt und der Server beendet; der Watchdog denkt das sich der Server aufgehangen hat und beendet ihn aus diesem Grund. Die Lösung für dieses Problem ist es nun die Zeit die ein Tick maximal dauern darf zu verlängern. Eingestellt werden kann dies in der server.properties-Datei in der Eigenschaft max-tick-time:

max-tick-time=600000

Der Standardwert ist hier 600000 und kann auf einen beliebigen Wert eingestellt werden. Nutzt man den Wert -1 so wird die Prüfung des Watchdog vollständig deaktiviert. Wenn dieser Wert auf einen ausreichend hohen Wert eingestellt wurde und der Tick schlussendlich vollständig bearbeitet werden kann sieht das im Log wie folgt aus:

[22:09:00] [Server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 222029ms behind, skipping 4440 tick(s)

Alternativ kann in bestimmten Szenarien, wie der Zündung von einer zu großen Menge TNT, ein entsprechendes Kommando zur Entfernung der gezündeten TNT-Blöcke eingesetzt werden:

/kill @e[type=PrimedTnt,r=100]

Mit Hilfe dieses Kommando ist es auch möglich Kommandoblöcke zum Schutz bestimmter Gebiete zu nutzen. Ist der Kommandoblock im Repeat-Modus kann damit verhindert werden das TNT in dem definierten Bereich gezündet werden kann.