Muckturnier

News 03.08.2022–25.01.2023

Neue Festwirte für das Hofer Volksfest

Laut einem Bericht der Frankenpost von gestern ist nun die Entscheidung, wie es mit dem Hofer Volksfest weitergeht, gefallen: Die Fränkische Volksfestwirt GmbH kümmert sich fortan um die Sommergaststätte am Untreusee, aber nicht mehr um das Hofer Volksfest. Das wurde jetzt für fünf Jahre an die Festbetriebe Böckl GbR aus der Oberpfalz vergeben.

Ob die neuen Festwirte des Hofer Volksfestes auch ein Muckturnier veranstalten werden, weiß man nicht. Selbst wenn: Ob das Muckturnier.org-Team dafür ins Boot geholt werden würde ist ebenfalls fraglich. Ich befürchte, dass es das war mit dem Muckturnier auf dem Hofer Volksfest.

Aber egal wie, ich nehme das nun zum Anlass, einen kleinen Überblick über den Einsatz des Muckturnier-Programms auf dem Hofer Volksfest zu schreiben.

Muckturnier auf dem Hofer Volksfest

Der 1. Hofer Aufmucker

Am 06.08.2017 fand zum ersten Mal ein Muckturnier auf dem Hofer Volksfest statt. Das war der „1. Hofer Aufmucker“. Im Vorfeld kam Roland Degel, einer der Volksfestwirte, auf mich zu und erkundigte sich nach dem Muckturnier-Programm (das er vom Muckturnier der JU Leupoldsgrün kannte): Was es kann, welche Beschränkungen es gibt etc. – und ob ich bei einem Muckturnier auf dem Hofer Volksfest mitmachen würde. Gerne erklärte ich mich bereit, das Projekt zu unterstützen.

Am Tag vor Fronleichnam (14.07.2017) wurde ein „Test-Muckturnier“ im Trompeter in Hof abgehalten. Im vergleichsweise kleinen Kreis, und mit einem noch recht übersichtlichen Entwicklungsstand des Muckturnier-Programms. Die damals mit der Turnierleitung betraute Landjugend Reuthlas machte die Auswertung mit einer Excel-Tabelle und ich parallel mit dem Muckturnier-Programm. Hier wurde schon klar, dass das Programm einer Excel-Tabelle bei Weitem überlegen ist; dennoch wurde auch der 1. Hofer Aufmucker noch durch die Landjugend mittels Tabellenkalkulation ausgewertet und nur parallel dazu mit dem Muckturnier-Programm.

Mit 156 Teilnehmern war das das bis dahin größte Muckturnier, das mit dem Muckturnier-Programm ausgewertet wurde. Und es wurde auch recht schnell klar, dass man in dieser Größenordnung mit einer Excel-Tabelle an seine Grenzen stößt. Die für das Auswerten des 1. Hofer Aufmuckers nötigen Änderungen am Muckturnier-Programm wurden als Version 0.7.2 veröffentlicht.

Die 1. Oberfränkische Muckmeisterschaft

Ein Jahr später sollte das Ganze etwas größer aufgezogen werden. Der „Hofer Aufmucker“ wurde zur „Oberfränkischen Muckmeisterschaft“. Auch hierfür wurde wieder ein „Test-Muckturnier“ am Tag vor Fronleichnam (30.05.2018) im Trompeter abgehalten. Mit Landjugend, aber ohne Excel ;-)

Am 05.08.2018 war es dann so weit: Die „1. Oberfränkische Muckmeisterschaft“ alias der „2. Hofer Aufmucker“ wurde auf dem Hofer Volksfest abgehalten und (nur) mit dem Muckturnier-Programm ausgewertet. Die Entwicklung war schon ein ganzes Stück fortgeschritten: Es gab (zunächst recht rudimentär implementierte) Markierungen (um vorangemeldete von tatsächlich anwesenden Paaren unterscheiden zu können), und das Anmelden an zwei Rechnern war durch das Offline-Zusammenführen von zwei Anmeldungslisten möglich (wenn auch ziemlich umständlich). Die damals benutzte Version war 0.7.6.

Das Turnier mit sage und schreibe 236 Teilnehmern (bis dato das größte mit dem Muckturnier-Programm ausgewertete Muckturnier und vermutlich auch das größte jemals abgehaltene Muckturnier überhaupt) zeigte jedoch auch einige Probleme auf, die bei einem „normalen“ Muckturnier nicht ins Gewicht fallen. So wurden in der Folge das schnelle und vor allem (tipp-)fehlertolerante Durchsuchen der Paarlisten, die schnelle Ergebniseingabe mit nur zwei Mausklicks und vor allem die Netzwerkfunktionalität implementiert.

Die 2. Oberfränkische Muckmeisterschaft

2019 gab es eine Neuauflage der Oberfränkischen Muckmeisterschaft. Das Muckturnier-Programm war bereits auf muckturnier.org umgezogen, und ich kümmerte mich über die Homepage auch um die Voranmeldung (im Jahr zuvor ging das, leider etwas holprig, über bierland-oberfranken.de). Beim wieder abgehaltenen Test-Muckturnier im Trompeter am Mittwoch vor Fronleichnam (19.06.2019) stellte das Muckturnier.org-Team die Turnierleitung (namentlich waren das Matthias Knappe und ich; die Landjugend Reuthlas sagte kurzfristig ab).

Am 04.08.2019 fanden sich 232 Karterinnen und Karter auf dem Hofer Volksfest zur „2. Oberfränkischen Muckmeisterschaft“ bzw. dem „3. Hofer Aufmucker“ ein. Auch hier übernahm das Muckturnier.org-Team eigentlich alle organisatorischen Aufgaben zur Durchführung des Turniers, abgesehen vom Organisieren der Preise (Spielstandblöcke, Tischnummern, Anmeldung, Auswertung; leider ohne das m. E. eigentlich dafür verdiente Medienecho, das wieder eigentlich nur die Landjugend bekam).

Zum Einsatz kam die einen Tag später veröffentlichte Version 3.2. Erstmals gab es Netzwerkfunktionalität, weswegen die Anmeldung simultan an zwei Rechnern durchgeführt werden konnte. Für die Auslosung kam noch ein dritter Rechner zum Einsatz. Mangels der technischen Voraussetzungen bzw. des passenden Konzepts war das noch keine „richtige“ Auslosung; die Plätze wurden einfach nacheinander vergeben, damit keine Lücken enstanden. Dieses Problem sollte aber auch bald gelöst werden.

Und dann kam Corona

Der Plan für die 3. Oberfränkische Muckmeisterschaft war, dass die Organisation und Durchführung komplett vom Muckturnier.org-Team übernommen werden sollte (eigentlich hatten wir das ja eh schon gemacht).

Das Programm wurde weiterentwickelt: Für eine Auslosung direkt bei der Anmeldung gab es bereits ein funktionierendes Konzept, die Netzwerkfunktionalität wurde weiter vervollständigt und stabilisiert, die Suche wurde noch cleverer (vor allem durch die „phonetische“ Suche, bei der nach ähnlich klingenden Namen gesucht wird – unabhängig von der genauen Schreibweise). Und auch für den Vergleich von an mehreren Rechnern eingegebenen Ergebnissen zum Auffinden von Eingabefehlern war der endlich tatsächlich Realeinsatz-taugliche automatische fortlaufende Ergebnis-Vergleich fertig.

Tja … und dann kam Corona.

2020 und 2021 gab es überhaupt kein Hofer Volksfest, von einem Muckturnier ganz zu schweigen. 2022 wurde – gestrickt mit relativ heißer Nadel – zwar ein Hofer Volksfest abgehalten, aber nicht von den Volksfestwirten, und ohne Muckturnier. Und nun ist das Hofer Volksfest an Andere vergeben. Wie und ob es mit dem „Hofer Aufmucker“ bzw. der „Oberfränkischen Muckmeisterschaft“ weitergeht, steht in den Sternen. Aber ich gehe ehrlich gesagt nicht davon aus, dass es eine Neuauflage geben wird.

Egal wie, die erste Version des Muckturnier-Programms, die dann tatsächlich alles enthalten und gekonnt hätte, was wir uns zum Durchführen des größten Muckturniers, das es gibt, gewünscht hätten, habe ich im September 2020 veröffentlicht.

Was bleibt

Am Muckturnier auf dem Hofer Volksfest ist das Muckturnier-Programm substanziell gewachsen und gereift. Gleichzeitig natürlich auch meine C++-Programmierkenntnisse :-) Das sieht man allein an der schieren Menge an Code: Aus den gut 5 000 Zeilen Code von Muckturnier 0.7.2 sind Stand jetzt über 26 000 geworden. Bei Manchem konnte ich mir eigentlich gar nicht vorstellen, dass ich es hinbekomme – insbesondere die Server-Client-Netzwerk-Implementierung. So etwas wäre ohne das Muckturnier auf dem Hofer Volksfest nie entstanden, allein schon deswegen, weil man es für ein „normales“ Muckturnier mit 10 oder 12 Tischen schlicht nicht unbedingt braucht und deswegen gar nicht auf die Idee gekommen wäre.

Als der 1. Hofer Aufmucker mit dem Muckturnier-Programm ausgewertet wurde, steckte das Programm quasi noch in den Kinderschuhen und brachte nicht deutlich mehr Funktionalität mit, als das originale PHP-Muckturnier, dass erst auf Python/PyQt und dann auf C++/Qt portiert wurde – aber eigentlich zunächst ohne einen relevanten Fortschritt an Features.

Jetzt ist es eine All-in-One-Lösung, nicht nur für das Auswerten eines Muckturniers, sondern für die komplette Durchführung incl. Voranmeldung, Anmeldung und Auslosung. Verfügbar für alle gängingen Desktop-Betriebssysteme und nach wie vor komplett frei. Und es ist allein auf weiter Flur – mir ist tatsächlich kein vergleichbares Projekt bekannt. Natürlich wurden parallel zur Entwicklung auch funktionierende Konzepte und Know-How angehäuft und dokumentiert; davon profitieren jetzt auch kleine bzw. „normale“ Muckturniere.

Für den Fall, dass es keinen Hofer Aufmucker mehr geben sollte und/oder keine Oberfränkische Muckmeisterschaft: „Schee wor’s“ :-) Und falls doch: „Schee, dass widder luus gedd!“ ;-)

Muckturnier und Qt 6

Langsam wird es ernst mit Qt 6 (dem Framework, auf dem das Muckturnier-Programm aufsetzt): Seit dem 18. Januar 2023 baut der master-Branch (also der aktuelle Entwicklungszweig) der KDE Frameworks auf Qt 6 auf (vgl. die entsprechende E-Mail an die KDE-Devel-Mailingliste).

Heißt also, dass irgendwann die Linux-Distributoren Qt 6 erst standardmäßig neben Qt 5 installieren werden, und irgendwann (das kann noch ein paar Jahre dauern, aber irgendwann dann eben doch) Qt 5 entfernen werden. Und spätestens dann macht es keinen rechten Spaß mehr, ein Qt-5-Programm weiterzuentwickeln.

Das Muckturnier-Programm kann man nun schon einige Zeit mit Qt 6 bauen. Das Programm auf meinem Rechner mit einem systemweit installierten Qt 6 zu bauen ist eine Sache. Aber wie sähe das Ganze für den Endbenutzer-Realeinsatz aus? Dieser Frage bin ich jetzt endlich mal nachgegangen.

Qt 6 static und Muckturnier bauen

Sowohl das Bauen eines minimalistischen, statisch gelinkten Qt 6, als auch das Übersetzen des Muckturnier-Programms waren kein großes Problem. Und zwar weder auf Linux, noch auf Windows, noch auf macOS. Das Bauen von Qt 6 ist, im Vergleich zu Qt 5, wirklich einfacher und übersichtlicher geworden.

Linux

Auf Linux gab es erwartungsgemäß keine Probleme. Ich gehe mal davon aus, dass sich das AppImage-Paket, das ich mit jedem Release veröffentliche, wenn es so weit ist, problemlos bauen lässt und es dann auch problemlos überall laufen wird.
Ausprobiert habe ich das Bauen eines statisch gelinkten Qt 6 und des Muckturnier-Programms auf meinem Gentoo-Desktop. Das eigentliche AppImage-Paket wird dann auf Ubuntu LTS gebaut, aber ich gehe stark davon aus, dass das nach April passiert. Da läuft der Support für Ubuntu 18.04 LTS aus, und ich setze dann erstmal ein 20.04 auf. Und dazu war ich dann jetzt zum Ausprobieren doch zu faul ;-)

Aber die meisten Linux-User werden das Programm denke ich eh selbst nativ bauen (oder?!). Also kein Stress hier.

macOS

Bei macOS kann man zwar Qt 6 selbst nicht mehr auf macOS 10.14 „Mojave“ bauen (das ich bisher benutzt habe, um das Muckturnier-App-Paket zu erstellen); allerdings ging das auf macOS 11.7 „Big Sur“ ohne größere Probleme. Ein bisschen Rumprobieren musste ich schon (ich bin ziemlich inkompatibel mit Apple und macOS und dem ganzen Konzept dahinter), aber auch hier konnte ich sowohl ein statisches Qt 6 als auch das Muckturnier-Programm ohne größere Probleme bauen.

Netterweise funktioniert das resultierende App-Paket auch genauso noch auf macOS „Mojave“. Es geht also hier mit Qt 6 keine Unterstützung für ältere Rechner bzw. Betriebssysteme verloren.

Windows

Anders sieht es (leider) unter Windows aus. Für das Bauen von Qt 6 braucht man Windows 10. Das selber war dann netterweise auch hier kein Problem, genau wie das Bauen des Muckturnier-Programms. Aber. Und jetzt kommt das Aber. Die resultierende ausführbare Datei kann man nicht mehr unter Windows 7 ausführen (und höchstwahrscheinlich auch nicht mehr unter Windows 8, wobei ich das nicht ausprobiert habe). Scheinbar wurden hier tatsächlich mal alte Zöpfe abgeschnitten.

Die meisten User werden denke ich das Muckturnier-Programm unter Windows nutzen. Und typischerweise kommt für ein Muckturnier ein altes Notebook zum Einsatz – auf dem dann potenziell noch Windows 7 läuft. Mit der Windows-7-Kompatibilität ist aber definitiv Schluss mit Qt 6.

Qt 5 so lang es geht

Ich denke, es ist sinnvoll, das Muckturnier-Programm so lang wie möglich mit alter Hardware und Windows 7 kompatibel zu halten. Das heißt leider aber auch, auf Qt 6 zunächst zu verzichten. Es kommt aber defninitv der Zeitpunkt, wo es keinen Spaß mehr macht, Qt 5 zu nutzen. Und weder auf Linux, noch auf macOS wäre, wie gesagt, der Umstieg auf Qt 6 ein Problem.

So lang es geht, halte ich das Muckturnier-Programm mit Qt 5 und somit mit Windows 7 kompatibel. Den Installer konnte man, als ich das das letzte Mal probiert habe, sogar noch unter Windows XP starten und das Muckturnier-Programm installieren und ausführen (über 20 Jahre nach dem Launch von Windows XP doch eine bemerkenswerte Tatsache wie ich finde). Aber die Tage dafür sind gezählt.

Momentan ist das Nutzen von Qt 5 aber noch überhaupt kein Problem, und deswegen wird es höchstwahrscheinlich noch das eine oder andere Release geben, das man auf Betriebssystemem ausführen kann, die man eigentlich besser nicht mehr nutzen sollte ;-)

Ausblick auf 2023

Große Ereignisse werfen ihre Schatten voraus!

2023 wird es voraussichtlich wieder ein Muckturnier der JU Leupoldsgrün geben. Das letzte war am 28.02.2020. Den Termin habe ich mir allein schon deswegen gemerkt, weil das damals das letzte Mal vor Corona war, dass ich mit vielen anderen Leuten (es werden wohl knapp 100 gewesen sein) „einfach so“ in einem Wirtshaus war. An das, was leider danach kam, können wir uns ja alle noch erinnern.

Das Muckturnier der JU Leupoldsgrün wird voraussichtlich am 14.04.2023 stattfinden, und wird hier auch nochmal angekündigt (incl. Regel-Download etc).

Was ebenfalls wieder ansteht, ist das Muckturnier der SPD Konradsreuth. Voraussichtlich wird es am 10.02.2023 stattfinden. Und dieses Mal kommt – nach langen Jahren der konsequenten EDV-Verweigerung – dafür das Muckturnier-Programm zum Einsatz! Darüber freue ich mich natürlich besonders, allein schon wegen der überparteilichen Zusammenarbeit ;-)

Und wer weiß? Vielleicht gibt es auch eine Neuauflage der Oberfränkischen Muckmeisterschaft?!

Hoffen wir, dass das Jahr 2023 nicht nur Muckturnier-technisch, sondern generell besser wird, als die letzten beiden.

In diesem Sinne schöne Feiertage und einen guten Rutsch!

Muckturnier 3.5.0 out now!

Seit dem letzten Release am 17.01.2021 ist, hauptsächlich Corona-bedingt, viel Zeit vergangen. Aber langsam läuft das Muckturnier-Geschäft wieder an, und endlich kann ich, nach viel zu lang nicht möglichen Real-(Test-)Einsätzen des aktuellen Entwicklungsstands, ein neues Release präsentieren: Muckturnier 3.5.0!

In der Corona-Zeit gab es zwar keine Muckturniere, aber die Entwicklung hat doch einige Fortschritte gemacht. Entsprechend lang ist die Liste der Änderungen, Neuerungen und Bugfixes. Wie immer sind alle im ChangeLog nachzulesen.

Die Wichtigsten sind Folgende:

Disqualifikation von Paaren/Spielern

Es können jetzt Paare bzw. Spieler disqualifiziert werden. Die Eingabe von Ergebnissen ist, damit der normale Turnierablauf weitergehen kann, noch möglich (potenziell mit Dummy-Spielern von der Turnierleitung), aber das entsprechende Paar bzw. der entsprechende Spieler taucht ab der Runde der Disqualifikation nicht mehr in der Rangliste auf.

Hierfür war ein Update der Datenbankrevision nötig (auf dbv10). Beim Öffnen älterer Datenbanken wird, wie gewohnt, ein automatisches Update angeboten.

Damit kann nun sowohl die meistens in den Regeln bei groben Verstößen gegen dieselben angedrohte Disqualifikation auch tatsächlich berücksichtigt werden, als auch der – zumindest hypothetisch mögliche – Fall, dass ein Paar bzw. Spieler das Turnier abbrechen muss.

Vergleich der eingegebenen Ergebnisse

Es wird jetzt auch am Server angezeigt, ob die an den Clients eingegebenen Ergebnisse mit den lokalen übereinstimmen. Die Anzeige ist analog zu der, die es bisher bei den Clients gibt, mit dem Unterschied, dass statt dem Server alle Clients aufgelistet sind:

Screenshot der Ergebnisse-Seite, den den fortlaufenden Vergleich der eingegebenen Ergebnisse mit allen Clients zeigt

Weiterhin besteht jetzt auch die Möglichkeit, Rundenergebnisse vom Server aus mit einem Client zu vergleichen (statt bisher nur von einem Client aus mit dem Server).

Damit hat der Ranglisten-Vergleichs-Dialog nun endgültig ausgedient. Schließlich geht es ja um das Finden von Eingabefehlern, und das geht über den Ergebnisvergleich deutlich besser, als über die Rangliste. Folgerichtig wurde der Ranglisten-Vergleichs-Dialog entfernt. Der Prüfsummen-Dialog zeigt jetzt auch nur noch die Prüfsumme der Paar-/Spielerliste und die der aktuellen Rangliste. Der ist jetzt eigentlich nur noch ein kleiner Helfer für die Entwicklung.

Also weg mit dem alten Code ;-)

Datenexport

Es ist jetzt möglich, die Rangliste direkt auszudrucken (mittels dem neuen „Rangliste drucken“-Knopf auf der Ranglisten-Seite). Hierfür wird automatisch ein entsprechend formatierter HTML-Export in eine temporäre Datei angestoßen, die dann mit dem Systemwebbrowser geöffnet wird. Das Drucken selbst übernimmt der Browser. Alle temporären Dateien werden beim Schließen des Programms automatisch gelöscht.

Ein HTML-Export (wie der direkte Ranglisten-Export) enthält jetzt ein „@media print“-Style-Sheet, um beim Ausdrucken das Druckbild zu verbessern (Schriftgröße, Seitenränder etc.).

Weiterhin ist die Standard-Dateierweiterung für HTML-Dateien jetzt .html (statt bisher .htm), und die für den CSV-Export .tsv (statt bisher .csv – „tab separated values“, damit weiß ein Tabellenkalkulationsprogramm potenziell gleich, welche Feldtrenner benutzt werden).

Netzwerk-Stoppuhr

Im Netzwerkbetrieb kann jetzt jeder Client eine Stoppuhr mit der des Servers abgleichen, so dass sie die selben Einstellungen hat bzw. synchron läuft. Sind am Server mehrere Stoppuhren geöffnet, kann eine zum Synchronisieren ausgewählt werden.

Die Auswahl der Abgleich-Server-Stoppuhr sowie das Synchronisieren einer Client-Stoppuhr geht über den neu dazugekommenen „Synchronisieren“-Knopf, der am Server eingeblendet wird, sobald mehr als eine Stoppuhr offen ist, und an allen Clients immer sichtbar ist:

Screenshot einer Stoppuhr mit dem neuen „Synchronisieren“-Knopf

Bugfixes

Weiterhin wurde eine Vielzahl an Fehlern behoben. Hier eine Auswahl der Wichtigsten:

Zuguterletzt: Qt 5.15 und Qt 6

Was die meisten User jetzt nicht direkt interessieren wird, aber trotzdem nicht unerwähnt bleiben soll:

Das Muckturnier-Programm kann jetzt auch mit Qt 6 gebaut werden. Hierzu beim CMake-Build einfach den Schalter -DQT6=on setzen. Die Qt-5-Kompatibilität ist hierdurch nicht verloren gegangen. Ich möchte das Programm auch so lang wie möglich mit Qt 5 kompatibel halten, damit so lang wie möglich alte Betriebssysteme (namentlich Windows 7) unterstützt werden können.

Abgesehen davon wird ab jetzt mindestens Qt 5.15 für das Kompilieren von Muckturnier benötigt.

Viel Spaß mit der neuen Version :-)