Muckturnier

News 04.10.2024–16.02.2025

Muckturnier 3.9.0

Das neue Release 3.9.0 bringt vor allem Verbesserungen für die Voranmeldung – insbesondere mit Anmeldungscodes – und die Auslosung. Weiterhin gibt es einige Änderungen und es wurden auch ein paar Fehler behoben.

Vorsicht: Es gibt nicht abwärtskompatible Änderungen! Das Serialisierungsprotokoll für Anmeldungscodes wurde aktualisiert (s. u.). Anmeldungscodes, die mit einer älteren Version erzeugt wurden, können nicht mehr verarbeitet werden. Das ist an sich kein Problem, weil die Codes ja auch nur zum einmaligen Gebrauch sind – ein Problem würde aber dann auftreten, wenn man mit einer älteren Version die Voranmeldung macht, aber für das Turnier selber dann die aktuelle nutzt. Also: Falls ihr gerade ein Turnier mit Anmeldungscodes vorbereitet, dann bitte erst danach updaten!

Auslosungs-Display

Damit konnte ich ein Feature Request aus Zedtwitz umsetzen! Auf der „Übersicht Auslosung“-Seite kann man jetzt ein zusätzliches „Auslosungs-Display“ einblenden. Das ist, ähnlich wie das „Turnier-Zeitplan-Display“, dafür gedacht, dass man es auf einem zweiten Bildschirm, einem Fernseher oder mit einem Beamer anzeigt. Hier ein minimalistisches Beispiel:

Das „Auslosungs-Display“ mit sechs Tischen

Die Schriftgröße (und entsprechend die Breite der Rahmen) kann über das Kontextmenü eingestellt werden. Damit sollte – für eine realistische Anzahl an Tischen – die komplette Auslosung auf einmal angezeigt werden können, und dabei so groß wie möglich.

So kann eine auf einmal durchgeführte Auslosung (via „Alle Plätze auslosen“ auf der Anmeldungsseite) bequem für alle angezeigt werden.

Verbesserungen für die Voranmeldung

Besserer Statustext für die Anmeldung

Der Statustext der Anmeldungsseite wurde überarbeitet. Die Ausgabe ist jetzt strukturierter und gibt insbesondere aus, wie viele Tische besetzt wären und wie viele Paare bzw. Spieler noch fehlen würden, wenn alle Voranmeldungen kommen.

Das ist vor allem dann interessant, wenn man viele Voranmeldungen hat und nahe ans Tischlimit kommt. So weiß man direkt, wie viele Plätze noch frei sind, also wie viele Anmeldungen vor Ort noch angenommen werden können, und gleichzeitig sichergestellt ist, dass alle Vorangemeldeten mitspielen können.

Das sieht dann z. B. so aus:

Das neue Interface zur Auswahl der Markierung für Voranmeldungen

Vereinheitlichtes Interface und Voranmeldungen heißen jetzt auch so

Das Interface zur Auswahl der Markierung für Voranmeldungen wurde mit dem für allein gekommene Spieler vereinheitlicht. Aktiviert werden kann das Berücksichtigen von Voranmeldungen jetzt analog über eine Checkbox neben dem Gruppen-Box-Titel.

Weiterhin ist jetzt auch überall von „Voranmeldungen“ die Rede, und nicht mehr von „abwesenden Anmeldungen“ – was zugegebenermaßen etwas verwirrend und unglücklich formuliert war:

Das neue Interface zur Auswahl der Markierung für Voranmeldungen

Anmeldungscodes verbessert

Kürzlich habe ich ja festgestellt, dass manche QR-Code-Scanner keine Leerzeichen eingeben – oder zumindest nicht ohne Weiteres. Um für maximale Hardwarekompatibilität zu sorgen, wurde das Serialisierungsprotokoll für die Anmeldungscodes dahingehend verbessert und liegt jetzt in Version 2 vor. Es werden jetzt keine Leerzeichen mehr in den Codes kodiert.

Damit man einen Hardware-Barcode-Scanner komfortabel auf korrekte Funktionalität bzw. Konfiguration testen kann, gibt es jetzt den „Code-Scanner testen“-Dialog. Angezeigt wird ein QR-Code, der alle Zeichen enthält, die in einem Anmeldungscode vorkommen können. Den scannt man, und dann wird überprüft, ob der eingegebene Datensatz exakt dem kodierten entspricht:

Der „Code-Scanner testen“-Dialog

So muss man nicht mehr mit selbstgenerierten Codes, die potenziell gar nicht das prüfen, auf was es ankommt, herumprobieren.

Widerrufen von Anmeldungscodes

Anmeldungscodes können jetzt als ungültig deklariert werden: Wird eine Voranmeldung gelöscht, für die bereits ein Anmeldungscode exportiert wurde, oder wird nach einer Änderung ein neuer Anmeldungscode exportiert, dann wird der vorher exportierte Code als widerrufen hinterlegt. Wenn ein solcher Code gescannt wird, dann wird eine entsprechende Warnung angezeigt.

Damit kann folgender – hoffentlich nur theoretisch denkbare – Fall abgefangen werden: Angenommen, es gibt 10 Tische, und man hat bereits 20 Voranmeldungen. Also keinen Platz mehr. Eine Voranmeldung sagt ab, und man vergibt den frei werdenden Platz neu. Und dann kommt das Paar, was abgesagt hatte, trotzdem – mit einem gültigen Anmeldungscode. Dann kann man jetzt zumindest sagen, dass die Voranmeldung widerrufen wurde, und auch wann (der Zeitpunkt wird mit gespeichert).

Verbesserungen und Bugfixes für das Drucken von Zetteln

Vorneweg ein behobener Fehler: Beim Drucken von Spielstandzetteln wird jetzt auch dann die korrekte Anzahl an Zetteln ausgegeben, wenn die Anzahl der Tische nicht durch die Anzahl der Zettel pro Blatt teilbar ist. Bisher haben in diesem Fall am Ende ein paar Seiten gefehlt. Der Fehler hat sich vermutlich überm Portieren der ursprünglichen Perl-Scripts auf C++ eingeschlichen.

Neu ist, dass Auslosungszettel jetzt in Stapel zusammengefasst werden. Das hat einen ganz einfachen, praktischen Grund: Man kann mit einem normalen Papierschneider nicht beliebig viele Zettel auf einmal schneiden.

Bei den Vorbereitungen für das Muckturnier der JU Leupoldsgrün habe ich Auslosungszettel für 26 Tische erstellt. Herausgekommen sind 8 Seiten. Aber so viele konnte ich nicht auf einmal schneiden. Also musste ich zwei mal 4 schneiden, und dann erst die einzelnen Haufen aufeinander legen, um schließlich die kombinierten Haufen dann von links oben nach rechts unten aufeinander zu legen, damit die Reihenfolge passt – und das nervt.

Die Lösung: Die Zettel-Bögen in Stapel zusammenfassen, die man vernünftig schneiden kann. Und dann einen Stapel schneiden, die Haufen aufeinander legen, dann den nächsten – und dessen aufeinander gelegter Haufen kommen dann unter den 1. Stapel usw.

Ganz trivial war das nicht, aber es funktioniert jetzt. Die Anzahl der Seiten pro Stapel kann man frei wählen, es wird aber eine vorgeschlagen, sobald man die Anzahl der Tische oder die Anzahl der Zettel pro Paar ändert. Und das ist die Anzahl, bei der – bei maximal 5 Seiten pro Stapel – die wenigsten leeren Zettel entstehen, also die wenigsten Seiten gebraucht werden.

Neuerungen für das Zeitplan-Display

Man kann jetzt auch für die „Zeitanzeige“-Seite des Zeitplan-Displays ein Hintergrundbild auswählen, genau wie für die „Willkommen“- und „Auf wiedersehen“-Seite. Wird keines gewählt, wird, wie bisher, die gesetzte Hintergrundfarbe angezeigt.

Abgesehen davon ist es jetzt möglich, beliebig viele Einstellungen abzuspeichern, jeweils referenziert mit einem Namen als ID. Damit kann man jetzt Vorlagen für verschiedene Turniere parallel verwalten. Die bisherigen Einstellungen sind, sofern welche gespeichert wurden, als „(unbenannt)“ verfügbar.

Weitere Änderungen, Neuerungen und Bugfixes

Alle Änderungen enthält wie immer der ChangeLog. Hier eine Auswahl:

Viel Spaß mit Muckturnier 3.9.0 :-)

21. Muckturnier der JU Leupoldsgrün

Gestern war es wieder so weit: Das alljährliche Muckturnier der JU Leupoldsgrün fand wieder beim Schützenverein „Frohsinn“ in Leupoldsgrün statt! Dieses Mal konnten wir – trotz der Terminkollision mit dem Valentinstag – ganze 92 Karterinnen und Karter begrüßen.

Das war gleichzeitig der erste „große“ Testlauf für eine Anmeldung mit Anmeldungs-QR-Codes. 45 Paare waren vorangemeldet und hatten mit der Anmeldungsbestätigung einen Anmeldungscode bekommen. Alles verlief erfreulicherweise äußerst reibungslos. Noch schneller und strukturierter kann man eine Anmeldung vermutlich kaum durchziehen: An einem Rechner wurden die Anmeldungen entgegengenommen und gleich einen Platz ausgelost, an einem zweiten Rechner waren dann nur die eben gerade gekommenen und ausgelosten Paare eingeblendet. Da wurde dann das Startgeld kassiert und die Auslosungszettel und ggf. Karten, Regeln, Spielstandblöcke und Stifte ausgeteilt.

So konnte es dann auch direkt pünktlich losgehen, und dank der (wirklich immer zu empfehlenden) Zeitbegrenzung pro Runde waren wir dann auch wie geplant fertig. Aber mittlerweile ziehen ja auch Muckturnier-Programm-Power-User das Turnier durch, da wundert einen das nicht ;-)

Aber zurück zum Turnier:

Der Hauptpreis war dieses Mal ein Grillseminar bei der Metzgerei Strobel in Dörnthal, und den haben sich souverän Matthias Lang und Stefan Barthold gesichert. Herzlichen Glückwunsch! Wie immer ging aber keiner leer aus, für jeden gab es letztlich einen Preis.

Und damit sind wir bei der Grundlage dafür, dass so ein Turnier überhaupt durchgeführt werden kann: Den Sponsoren. Dieses Mal kamen die Preise von folgenden Firmen und Personen (in alphabetischer Reihenfolge, unabhängig vom Wert):

Vielen, vielen Dank an euch alle, ohne euch würde es das Muckturnier der JU Leupoldsgrün nicht geben!

Wir freuen uns aufs nächste Mal, das ist dann – sage und schreibe – das 22. Muckturnier der JU Leupoldsgrün! Näheres gibt es wieder auf der Turnierseite. Da gibt es für alle Interessierten auch die Rangliste.

Bis spätestens dann :-)

Demnächst: DMG-Paket für macOS

.tar.xz?!

Bisher habe ich die macOS-Version des Muckturnier-Programms in ein .tar.xz-Archiv verpackt. Vernünftige Kompression, und ja auch „ganz normal“ – oder?! Zumindest für einen Linux-User. Apple-User hingegen scheinen ja scheu wie die Rehe zu sein, wenn es um einen solchen Kulturschock geht, selbst dann, wenn man das Archiv einfach mit einem Doppelklick auspacken kann.

Jedenfalls habe ich mich mal schlau gemacht, wie die das so machen. Und festgestellt, dass normalerweise ein Programmpaket mittels einer „DMG“-Datei verteilt wird. Was ein Dateisystem-Abbild ist, das man wie einen USB-Stick einhängen kann. Naja. Die werden schon wissen.

Warum ich das bisher trotzdem nicht so gemacht habe: Die DMG-Images, die ich mit meinem bisherigen Buildsystem macOS 10.14 „Mojave“ erstellen konnte, hatten eine schlechte Kompression und waren erheblich größer als ein ganz normales .tar.xz-Archiv. Und unnötige große Archive müssen ja, allein schon aus gesamtökologischer Sicht, nicht sein. Also gab es .tar.xz.

Seit der Nachfolger-macOS-Version 10.15 „Catalina“ kann man – wie ich jetzt weiß – DMG-Images mit LZMA-Kompression erstellen. Und die sind nur noch unwesentlich größer als ein .tar.xz-Archiv. Weiterhin habe ich mir von verschiedener Stelle versichern lassen, dass selbst auf 10 Jahre alten Mac-Rechnern normalerweise ein aktuelleres Betriessystem als „Mojave“ läuft (was ja so ein Image dann nicht öffnen könnte).

DMG-Drag-and-Drop-Installer

Also gut. Dann setzen wir uns halt mal mit dem auseinander, was für einen Apple-User (hoffentlich) eine „gute Benutzererfahrung“ ist, wenn es um ein Software-Paket geht, was man aus dem Internet herunterlädt. Sollte ich jetzt graue Haare haben, dann liegt es an der Benutzerfreundlichkeit von macOS, wenn es darum geht, dass man seinen Open-Source-Kram möglichst „nativ“ an den Mann bringen will. Die wollen wirklich nicht, dass man das macht, ohne kostenpflichtige Drittanbieter-Lösungen dafür zu kaufen.

Letztenendes hat es dann aber doch geklappt: Ich kann jetzt ein DMG-Image mit einem Drag-and-Drop-Ziel für den „Programme“-Ordner erstellen, mit einer Readme-Datei und einem schicken Anleitungs-Hintergrund. Gescriptet und automatisiert über das macOS-Build-Script.

Und so sieht das Ganze aus:

Das Interface des Muckturnier-DMG-Pakets, wenn es eingehängt ist

Die Readme ist deswegen nötig, weil macOS einen ja nicht ohne Weiteres ein Programm ausführen lässt, das nicht von einem „registrierten Apple-Entwickler“ kommt. Man bekommt noch nicht einmal die Option angeboten. Gehen tut es glücklicherweise trotzdem, ganz offiziell dokumentiert vom Apple-Support. Und darauf weise ich eben in besagter Readme hin – weil ja erfahrungsgemäß eh keiner die Anleitung liest. Vielleicht dann zumindest die Readme im Installer.

Jedenfalls hoffe ich, dass das jetzt den Apple-Usern was bringt, und das Muckturnier-Programm auch auf dieser Plattform etwas benutzerfreundlicher macht. Das nächste Release gibt es jedenfalls in dieser Form. Viel Spaß damit dann :-)

Aufkleber und mehr Style für die Anmeldung

Was im Muckturnier.org-Merch-Portfolio definitiv noch gefehlt hat: Aufkleber! Damit ist jetzt Schluss:

Muckturnier.org-Aufkleber in zwei Größen

In zwei Größen (8 cm und 11 cm breit) machen die sich überall hervorragend, z. B. auf einem Auto, einem Notebook – oder: Auf einem stationären QR-Code-Scanner. Womit wir bei „mehr Style für die Anmeldung“ wären:

Ein Sunmi-Blink-QR-Code-Scanner mit einem Muckturnier.org-Aufkleber

Das ist meine neueste Errungenschaft: Ein Sunmi Blink. Das ist ein Barcode-Scanner, der als POS-Terminal gedacht ist (für das Scannen QR-Code-basierter Zahlungsmethoden wie Alipay – was bei uns wenig verbreitet ist, weswegen es hier auch wenig Auswahl an solchen Geräten gibt). Geradezu perfekt, um damit einen Voranmeldungs-QR-Code von einem Handydisplay zu scannen!

Ein kleines Problem gab es mit dem Ding aber doch: Trotz korrekter Konfiguration des Tastaturlayouts verschluckte der Scanner alle in einem QR-Code gespeicherten Leerzeichen. Zwar habe ich mittlerweile herausgefunden, wie man das korrekte Eingeben von Leerzeichen trotzdem konfigurieren kann, aber per Standardeinstellung werden keine eingetippt. Womöglich machen das andere Barcode-Scanner auch so – damit hätte ich jetzt ehrlich gesagt nicht gerechnet.

Es sieht also ganz danach aus, als ob der kleinste gemeinsame Zeichensatz-Nenner für Barcode-Scanner nicht nur der druckbare ASCII-Zeichensatz ist, sondern der druckbare ASCII-Zeichensatz ohne Leerzeichen. Um maximale Hardware-Kompatibilität sicherzustellen, habe ich das Serialisierungsprotokoll für Anmeldungscodes angepasst. In der aktuellen Version 2 enthalten die Codes keine kodierten Leerzeichen mehr, und somit gibt es auch keine Probleme mehr mit Leerzeichen.

Veröffentlicht wird das neue Protokoll, zusammen mit dem neuen „QR-Code-Scanner testen“-Dialog zum Überprüfen, ob ein Barcode-Scanner richtig konfiguriert ist, in der nächsten Version (höchstwahrscheinlich 3.9.0, t. b. a.). Natürlich kann man schon jetzt die neuen Anmeldungscodes nutzen, wenn man den aktuellen git-Stand selbst baut.

Abgesehen davon könnt ihr euch den Scanner auch gern für euer Muckturnier ausleihen – bei Bedarf einfach melden :-) Dank der richtigen Konfiguration kann er ja jetzt auch Version-1-Anmeldungscodes mit Leerzeichen auslesen.