Meine Kinder sind mein Motor, nix treibt Vorhaben so voran, wie sie. Selbst der Umzug des Homeservers auf neue Hardware – die hier schon zu lange rumliegt – treiben sie an. Ein paar wenig enthusiastische Anläufe hab ich jetzt schon unternommen gehabt; Die sind aber versandet. Der Einbau der größeren SSD scheiterte zum Beispiel am physischen Format, ein Adapter war nötig. Bestellt, eingebaut, bootet … Pause. Vielleicht war Alpine dann auch nicht die beste Idee fürs Server-Betriebsystem; Nicht, das Alpine das nicht kann, ich kenne Alpine nicht gut. Debianbasiertes und Arch sind eher meine Linux-Heimat; Alpine hab‘ ich noch nie probiert. Getriggert wurde der Switch zu Alpine von einem ‚Hilferuf‘ des Debian Maintainers, dass zu wenige beitragen und zu viel verwaiste Peckages rumliegen. Sowas gruselt mich ein bisschen, weil ich den Kisten zu Hause die fürs digitale Familienleben essenziellen Dinge anvertraue.

Alpine, Minecraft und ich

Mich in Alpine einzulesen hat mich mehr gefordert, als ich zugeben wöllte. Aber jetzt hat die Sidequest „Internet Exposed Minecraft Server“ zum nächsten, ernsthafteren Anlauf geführt. Jannika will unbedingt mit ihrer Freundin gemeinsam Minecraft zocken. Debian hatte ich kurz nochmal probiert, weil ich dachte, es geht schneller, wenn ich mich auf dem System schon gut auskenne. Aber wenn das Ethernet Device nicht direkt erkannt wird … Nee, keinen Bock. Dann ist halt doch das Alpine Linux drauf geblieben, mit dem ich angefangen hatte. So wahnsinnig anders, als Debian früher war, ist’s nun auch nicht. Das Prinzip ist das gleiche, die Befehle nur manchmal anders.

Im Prinzip gefällt mir Alpine sogar sehr gut! OpenRC als Startsystem für Services ist wirklich schön und einfach. Nachdem avahi fürs interne Finden von Geräten im Netzwerk drauf war und OpenSSH auch, konnte ich eigentlich schon alles für den Minecraftserver vorbereiten:

  • Eigenen User einrichten, der den PaperMC ausführen wird
  • Backup vom alten PaperMC auf dem Raspi kopieren. Schick.
  • Als Service soll das Teil auch starten, gleich nach dem Bootup, aber erst wenn Netzwerk da ist.

Letzteres ist mit einem kurzen Script in /etc/init.d/ schnell erledigt.

Das Problem dabei ist, dass man nicht mehr an die Serverconsole des PaperMC ran kommt, wenn der erstmal in den Hintergrund gedrückt wurde. Ich müsste die in Minecraft integrierte Remote Management Console freischalten, und da streubt es sich in mir. Bisher hab ich den Server auf dem Raspi händisch in einem screen gestartet und dann detached. Auf dem Raspi kann ich mich jederzeit per SSH einloggen und den screen zurückholen. Da der Raspi selten neu booten muss, war das Setup erstmal ok.

Automatik in OpenRC

Auf dem neuen Rechner will ich da nicht hinterherhirscheln, das muss von selber gehen. Für den simplen PaperMC-Start hatte ich ein Script geschrieben, das einen screen detached und mit Namen startet und drinnen einfach der PaperMC-Server ausführt: papermc.sh

#!/bin/sh
cd /opt/minecraft/papermc/
/usr/bin/screen -dmS MinecraftServer /usr/bin/java -Xms2048M -Xmx2048M -jar papermc.jar nogui

Ausführbar ist das durch den User für den Server (schreibbar nicht). Mit einem doas -u minecraft papermc.sh läuft das dann auch im Kontext des richtigen Users, der nur minimal die Rechte hat, die er dafür braucht. Piped man in das screen ein stopp-Kommando doas -u minecraft /usr/bin/screen -S MinecraftServer -X stuff 'stop\n' endet nicht nur der java-Teil, sondern auch das screen endet.

Das Script könnte ich jetzt direkt in OpenRC rufen, das hat aber Nachteile: OpenRC ‚guckt dann nicht auf den richtigen Prozess und meldet trotz laufendem Server eine ‚Service crashed‘ im status. Also schreiben wir die nötigen Zeilen direkt in /etc/init.d/minecraft:

#!/sbin/openrc-run
name="PaperMC"
description="papermc minecraft server"
command="/usr/bin/screen"
directory="/opt/minecraft/papermc"
command_args="-dmS papermc /usr/bin/java -Xms2048M -Xmx2048M -jar papermc.jar nogui"
command_user="minecraft"
command_background=true
pidfile="/run/screen_papermc.pid"

depend() {
need net
}

stop() {
ebegin "Stopping PaperMC gracefully"

su -s /bin/sh minecraft -c \
'/opt/minecraft/papermc/stop_papermc.sh'

eend $?
}

Achja: Ausführbar muss das sein chmod u+x /etc/init.d/minecraft.

Im stop_papermc.sh script wird ein ’stop‘ ins screen geschickt, worauf der Server und das screen endet. Wir warten in einer Schleife darauf, dass der Server die Nutzer benachrichtigt hat und dann sauber alles gespeichert und sich beendet hat.

#!/bin/bash
PAPERMCPID=$(/usr/bin/pgrep -f "java .*papermc.jar")
if [[ -z $PAPERMCPID ]];
then
exit 1;
fi

/usr/bin/screen -S papermc -p 0 -X stuff 'say Server fährt herunter in 10 Sekunden …\n'
sleep 10
/usr/bin/screen -S papermc -p 0 -X stuff 'stop\n'
((count=0))
until [[ -z $(/usr/bin/pgrep -f "java .*papermc.jar") ]];
do
sleep 1;
((count=count+1))
if [[ $count -gt 20 ]];
then
exit 1;
fi
done

Zuletzt soll unser ganzer schöner start-stop-minecraft dann auch beim boot/shutdown ausgeführt werden: rc-update add minecraft default

Für die Erreichbarkeit von außen hab ich eine Subdomain eingerichtet, die per dynDNS ihre IP bekommt. Der Updater dafür ist ddclient. Loch in Router gebohrt, dass der Weiß, wohin der Minecraft-Server-Traffic soll. Geht. Ganz wunderbar.

Es gilt noch zu schauen, wie die Kinder sich unterhalten – weil: nur miteinander schreiben, während man in Minecraft fleißig baut, ist ja auch doof. Vorerst löst ein Talk-Chatroom auf meiner Nextcloud das Problem. Irgendein Plugin für Minecraft wird das aber wahrscheinlich schöner lösen könne.

(swg)

Eine der vielen Sachen, die wir in Angriff nehmen müssen, ist die Sanierung unseres Bades. Es fällt jetzt noch nicht direkt auseinander, die Spuren von über 25 Jahren sind aber unübersehbar. Für einen ersten Preishorizont hatten wir mal die Online-Konfiguratoren verschiedener, hier ansässiger Sanitärbetriebe durchgespielt. Mindestens 15.000,- € wurden uns veranschlagt. Es geht hier, wohl gemerkt, um ein WBS 70-Bad mit einer Grundfläche von 1,60 m x 2,15 m; Alle Fliesen neu, Toilette, Waschtisch und Dusche. Um die Elektrik und die Decke will ich mich selbst kümmern.

‚Na gut‘, haben wir gedacht und sind dann mal zur Hausbau-Messe in Dresden gegangen, in der Hoffnung, dort fündig zu werden. Vier Betriebe haben wir angetroffen, mehr als einen Termin fürs Maß nehmen gab’s aber nicht. Der erste Anbieter war nun schon da, hat gemessen und bald darauf ein Angebot abgeliefert: flockige 25.000,- € sind in Aussicht gestellt! Das Angebot war für mich undurchsichtig; Material und Leistung nicht getrennt ausgewiesen. Egal, kommt eh nicht in Frage. Vor allem nicht, weil gar nicht weiter über Ausstattung und Fliesenarten usw. geredet wurde, nur, was grob drin sein soll. Sieht für mich nach einem Abwehr-Angebot aus.

Unsere ganze Unternehmung zieht sich hin und ist bisher eher enttäuschend. Was uns schon mal ins Auge gesprungen ist: Hornbach bietet Sanierungen, also auch die Handwerkerleistung, auch an, wenn man deren Materialien nimmt. Schön sind die drei Kategorien, mit denen man im Vorfeld den Kostenrahmen begrenzen kann. Der Termin fürs Maß nehmen ist bald, der Beratungstermin wird folgen.

So ein bisschen entwickelt man ja auch eine Vorstellung und hat so Wünsche ans neue Bad. Eine Badewanne brauchen wir nicht mehr, eine Dusche passt besser. Im Hornbach-Sortiment hab ich einen grünen Waschtisch entdeckt, der mir ausnehmend gut gefällt. Grün soll auch bei Fliesen wiederzufinden sein. Und dann kam mir die fixe Idee, einfach mal einen Vorschlag von KI generieren zu lassen. Mit drei Fotos und ein paar Katalogbildern sollte da doch was zu machen sein!

Die meiste Zeit hat das aus- und wieder einräumen des Bades in Anspruch genommen. Je weniger Zeug im Photo rumliegt, desto weniger wird die KI wohl stolpern. Staub wischen auf den Schränken konnte ich auch gleich noch, der Doppelnutzen muss bei solchen Aktionen immer gegeben sein …

Bisher hab ich immer mal wieder ChatGPT ausprobiert und bisher waren die Antworten ganz gut. Bilder hab ich auch schon mal generieren lassen und war mit dem Ergebnis zufrieden. Deswegen nehme ich ChatGPT jetzt auch. Ehe es los gehen kann, muss ich noch einen Bezahl-Account anlegen, sonst kann ich nur ein Bild pro Anfrage hochladen. Aber dann:

Hi, ich möchte unser Bad renovieren. Das Bad hat eine Breite von 2,20 m und eine Tiefe von 1,60 m, es ist 2,46 m hoch. Das erste Bild (Bad1) ist ein Photo von der Tür aus geknippst.

Alle Fliesen sollen entfernt und durch neue ersetzt werden. Die Toilette soll mit dem Vorbau erhalten bleiben. Die Oberschränke über der Toilette können weg.

Das Waschbecken kommt neu, bleibt aber ungefähr an der Stelle des alten. Ich möchte es aber durch den Waschtisch Sento (63 cm breit) (Bild sento.webp) ersetzen. Darüber soll wieder eine Spiegel hängen.

Die Wanne wird durch eine Dusche ersetzt: Hier soll die Duschtasse die volle Tiefe des Bades von 1,60 m einnehmen und 80 cm breit sein. Eine feste Glaswand soll sie vom Waschbecken abtrennen.

Ich hatte mir vorgestellt, den Vorbau der Toilette mit den grünen Fliesen (grüne_Fliesen.jpg) zu fliesen. Die 12 Einzelfliesen auf dem Bild sind je 6 cm breit und 24 cm hoch.

Der Rest soll in einem hell-beigen Terracotta bis unter die Decke gefliest sein. Die schmale Wand der Dusche soll mit den grünen Fliesen der Toilette gefliest sein.

Kannst Du mir das bitte anhand der originalen Bilder in den drei Perspektiven visualisieren?

Photo von unserem alten BadPhoto von unserem alten BadPhoto von unserem alten BadGrüne Metro-FliesenWaschtisch 'Sento'

Die Bilder konnte ich erst hochladen, nachdem ich ein Plus-Abo abgeschlossen habe. Da aber der erste Monat kostenlos und das Abo immer kündbar ist, hab ich das einfach gemacht. Im ‚Free‘ kann immer nur ein Bild hochgeladen werden.

Mit dem Ergebnis bin ich relativ zufrieden, das linke Bild trifft meine Erwartungen recht gut.ChatGPTs Rendering vom BadMitte und rechts ‚vergessen‘ Details, wie die Toilette oder das Waschbecken. Aber für einen Eindruck, wie es wirken wird, finde ich das erstaunlich gut, für den doch nicht so detaillierten Prompt, den ich abgeliefert habe. Der Grüne Akzent fetzt und lässt sich vielleicht in der Dusche wiederholen, das Rentner-Beige will ich aber wahrscheinlich doch nicht. Na schau’n wir mal …

(swg)

In der Hoffnung, das Mika inzwischen groß genug ist, hab‘ ich das rote Puky-12″-Laufrad aus dem Keller geholt. Luft hat gefehlt, das ist leicht behoben, und ein bisschen schmutzig ist es, aber darum kümmer‘ ich mich später. Eigentlich hatten wir das Ding verkauft, als Jannika Fahrrad fahren konnte. Aber es ist von selbst zu uns zurück gekehrt. Die Nachbarn sind neu eingezogen mit zwei Kindern; Deren Tochter fuhr ein rotes Puky. Beim näheren betrachten fielen mir Details von Reparaturen ins Auge; Reparaturen, wie ich sie gemacht hatte. Es war unser altes Laufrad! Wir haben es von den Nachbarn zurück bekommen, als ihre Tochter zu groß dafür wurde. Jetzt probieren wir, wie Mika es findet.

Der Junge ist schon wieder total überdreht und braucht noch Auslauf, muss nach draußen. Alina kommt mit. Vorm Haus gucken wir mal, wie Mika mit dem doch viel schwereren Ding zurecht kommt. Zu optimistisch hatte ich den Sattel ein paar Zentimeter hoch gestellt. Der muss aber doch ganz runter. Naja, und dann ist er los geflitzt. »Ob er damit wohl schneller ist?« hat Alina gefragt.zu spät auf den Auslöser gedrückt, Mika ist auf dem Laufrad schon vorbei geflitzt.Ich glaub schon; wirklich Schwierigkeiten hat Mika jedenfalls nicht. Enthusiastisch rast er in der Zufahrt immer wieder die Rampe runter; Auch wenn er teils ganz schön schlingert, auf die Nase fliegt er nicht. Das freie Brett findet er super, die Tasche ist nicht im Weg und er kann die Füße hoch stellen.Mika auf dem großen LaufradGehen wir mal eine Runde durch den Volkspark. Auch dort: Füße hoch und rollen lassen, auch über den Wiesenhang, egal, wie sehr es rüttelt und schüttelt … Die neu gebauten Häuser der WGS haben einen kleinen Spielplatz, den man vom Volkspark aus sehen kann. Mit halsbrecherischer Geschwindigkeit rast Mika die Wege runter, immer schön die Füße auf dem Brett. Die Illusion einer Trommelbremse am Puky hilft beim Anhalten gar nich. Mika benutzt sie eh nicht, weiß gar nicht, wofür der Hebel ist (der tut ja nix). Aber er kriegt’s Laufrad immer mit den Füßen zum stehen, weswegen ich mir auch keine Sorgen mach, dass er vorne auf die Straße geraten könnte.

Die Abendsonne wärmt kaum, es geht zum Glück kein Wind und man kann es aushalten, auf dem Spielplatz.leiner Spielplatz unterhalb des VolksparksIch hab nur irgendwie die falschen Schuhe an und ständig Kieselsteine in den Sandalen. Mit den Eimern an den Ketten schaufelt Mika fröhlich Kies aufs Klettergerüst und lässt ihn durch Rohre rieseln. Ein herumliegender Ball muss auch immer wieder runter. So viel Spaß.

Der Frühling ist noch nicht so richtig ausgebrochen, es grünt nur zaghaft. Wie jedes Jahr stehen dafür schon die Magnolien in voller Blütenpracht.blühende Magnolieweiß-rosa Blüten einer Magnolieweiß-rosa Blüten einer MagnolieIch hätte sehr gerne eine in den Hof bei uns gesetzt. Die Nörgel-Rentner halten mich davon ab; ich hab nicht mal Lust zu fragen. Gerade habe ich den Verwaltungsbeirat abgegeben; Es ist zu absurd, was man sich da anhören muss. »Macht dor eiern Drägg alleene.«

(swg)

Der Garten ruft. Das ist natürlich Quatsch, vielleicht ruft’s im Garten – ziemlich viele Vögel hört man am Heiderand schon zwitschern. Der Garten liegt einfach nur da, in der Frühlingssonne. Selbst das stimmt nicht ganz an diesem Wochenende. Meist nieselt es aus dem wolkenverhangenen Himmel und unangenehmer Weise werden einem die wenigen Tröpfchen von kalten, kräftigen Windböen ins Gesicht geklatscht.

Eigentlich war schon letzten Samstag geplant im Garten Dinge zu erledigen. Aber das Wetter war da mit ‚arschkalt‘ noch freundlich beschrieben. Außerdem wäre die Logistik quer durch die Heide an mir allein hängen geblieben. Maria musste zur Mitgliederversammlung des Gartenvereins. Und weil auch Mika kaum einzufangen war, haben wir uns das einfach gespart.

Jetzt, zum Osterwochenende, sind die Temperaturen wenigstens schon knapp unter zweistellig und wir können die offensichtlichsten Arbeiten angehen. Katrin hat Ende Februar die Astschere kreisen lassen, es liegt unglaublich viel Grünschnitt herum. Wahrscheinlich ist es ganz gut, die Obstgehölze so radikal runter zu kürzen, auch wenn ich auf etwas mehr Schatten im Sommer gehofft hatte. Rund um die Terrasse ist alles wuchernde ebenfalls gestutzt.Grünschnitt im GartenGrünschnitt im GartenGrünschnitt im GartenGrünschnitt im GartenWohin nun aber mit dem ganzen Zeug? Entsorgen fällt aus dreierlei Gründen aus: Wir bräuchten eine Pritsche oder Pkw + Anhänger, was wir nur mieten könnten. Allerdings bleibt der Weg vom Garten bis zum Vereinstor: Muss alles den ganzen Weg geschleppt werden. Grünschnitt bekommt man außerdem nur gegen Geld los, und das ist in Radeberg nicht billig.

Kompostiert haben wir letztes Jahr schon ziemlich viel, aber Obstgehölz? Bis das verrottet ist, vergeht viel Zeit. Vor einer Weile ist mir mal die sog. Benjeshecke begegnet; Eine Totholzhecke. Platz ist im Garten dafür genug und man braucht nur ein paar Pfosten, Hammer und eine Astschere. Mittags mach ich mich ans Werk. Das Pfosten halbieren (es gab nur 2,50 m) und einschlagen geht schnell. Das zersäbeln des ganzen Grünschnitts zieht sich dafür wahnsinnig hin. Aber ich denke, so kann man das jetzt lassen.Benjeshecke im GartenVielleicht hilft’s ja wirklich dem Viehzeug. Auf jeden Fall trennt es den Garten schön vom Kompost. Und es ist auch Platz, um noch mehr Grünschnitt links und obendrauf unterzubringen.

(swg)

PHP Code Snippets Powered By : XYZScripts.com