KaroMUSKEL
Inhaltsverzeichnis
Was ist KaroMUSKEL?
KaroMUSKEL steht für "Maschinelle-Ultimative-Spielserien-für-Karopapier-Erstellungs-Lösung" und ist ein von ultimate geschriebenes Script für die automatische Erstellung von Spieleserien und Meisterschaften.
Hintergrundinformationen
KaroMUSKEL wird seit Anfang 2008 von ultimate entwickelt. Anfangs habe ich das Skript nur für den Eigenbedarf geschrieben, später habe ich es auf Anfrage aber auch an andere Spieler weitergegeben. Nach der Fertigstellung der Version 1.0 Mitte 2008 hat sich lange nichts beim Skript getan. Es wurden einzig zwischendurch mal ein paar Anpassungen auf Neuerungen von karopapier.de eingebaut, damit das Skript weiter Funktionsfähig bleibt. Im März 2010 habe ich mich dann mal ran gesetzt das ganze rund zu erneuern. Danach gab es dann mehr oder weniger Regelmäßig Anpassungen, Erweiterungen und Bug-Fixes.
Auch wenn alte Versionen größtenteils nicht mehr funktionsfähig sind, hier mal aus Nostalgie-Gründen eine kleine Versionsübersicht mit den wesentlichen Unterschieden. Zur aktuellen Version geht es dann weiter unten...
Version | Beschreibung | Key-Features | Bilder | Technologie | Karo-Schnittstelle | Speichern & Laden | Status |
---|---|---|---|---|---|---|---|
4.x | Um den Nutzerkreis zu erweitern und die Benutzung zu vereinfachen, hatte ich mich vor einiger Zeit entschlossen für die Version 4 auf HTML5/JavaScript zu setzen. Das bedeutete eine komplette Neuentwicklung mit vielen neuen Funktionen. Die Entwicklung dieser Version ist jedoch aus Zeitgründen auf Eis gelegt und stattdessen habe ich Version 3 weiter verbessert... | tbd | ? | HTML + JavaScript | API | JSON | Entwicklung pausiert |
3.x | Die aktuelle Version des KaroMUSKELs! Optisch, also bei der GUI, gleicht Version 3 der Version 2. Unter der Haube wurde sie jedoch vollständig überarbeitet. Ziel war eigentlich nur die vollständige Umstellung aller Funktionen auf die KaroAPI. Im Zuge Umbauten wurden aber gleich noch einige andere Verbesserungen vorgenommen. Die grundsätzlichen Funktionen sind aber gleich geblieben. | XYZ | ? | Java | API | JSON + Rückwärtskompatibilität zu muskel2 Dateien |
Aktuelle Version + Kontinuierliche Weiterentwicklung |
2.x | In Version 2 wurden verschiedene neue Spieleserien-Typen eingeführt und auch sonst viele neue Funktionen eingebajt, die noch flexiblere Spieleserien ermöglichen. Aufgrund des steigenden Funktionsumfangs war es nötig die Spielerstellung im mehrere Schritte zu unterteilen. | tbd | ? | Java | newgame.php | Binär-Dateien | veraltete Version, vermutlich nicht mehr lauffähig |
1.x | Dies war die erste richtige verfügbare Version. Damals waren die Funktionen noch so übersichtlich, dass alles auf eine einzelne Ansicht gepasst hat. | tbd | ? | Java | newgame.php | nicht möglich | veraltete Version, vermutlich nicht mehr lauffähig |
0.x | Bevor ich angefangen habe das ganze vernünftig in Java zu programmieren gab es noch eine ganz einfache, schnell zusammengetippte HTML/JavaScript-Version. Die wurde aber überhaupt nicht weiterverfolgt und ist nur durch Zufall mal wieder auf meiner Festplatte aufgetaucht... | Erster Proof of Concept, nicht mehr... | ? | HTML + JavaScript | newgame.php | nicht möglich | veraltete Version, vermutlich nicht mehr lauffähig |
Benutzung
Die Benutzung sollte eigentlich selbsterklärend sein und wird durch viele Erklärungen innerhalb des Programms verdeutlicht. Dabei ist die Spielerstellung in mehrere Schritt gegliedert, um eine übersichtliche Definition aller Einstellungen zu ermöglichen. Das Programm unterstützt zudem verschiedene Spielmodi, die ebenfalls in Programm selbst genauer erläutert werden.
Um das Programm benutzen zu können musst du dich bei Programmstart mit deinen Login-Daten für Karopapier anmelden. Nur so ist natürlich gewährleistet, dass du auch Spiele erstellen kannst und nur so ist auch der Zugriff auf die teilweise für die Initialisierung benötigten Seiten möglich. Es werden dann später bei der Spielerstellung alle Spiele im Namen des angemeldeten Spielers erstellt, d.h. du nimmst natürlich auch an allen Spielen teil.
Benutzerkontrolle und Freischaltung
KaroMUSKEL verfügt seit Version 3.0 über keine Benutzerkontrolle mehr. Stattdessen wird das Server-Flag "supercreator" ausgewertet. Unabhängig davon gibt es eine Konfiguration, die die maximalzahl der Spiele beschränkt. Wenn dich dies zu sehr einschränkt komm auf mich zu und ich zeige dir, wie man das anpasst ;-)
FAQ
- Gibt es ein Log?
- Ja, seit der Version 2.6 legt der KaroMUSKEL bei jeder Spielerstellung und bei jedem Aussteigen ein Log an, in dem alle Anfragen an den Server protokolliert werden.
- Die Datei liegt im Unterordner logs dort wo das JAR-File ausgeführt wurde: "logs/karomuskel yyyy-MM-dd HH-mm-ss.log"
- Warum lädt der KaroMUSKEL am Anfang so lange?
- Beim ersten Start muss der KaroMUSKEL die Bilder zu allen Karten runterladen, dass kann je nach Internetverbindung und Serverlast ein paar Minuten dauern. Dabei werden die Vorschaubilder aber für alle nachfolgenden Starts gecached, so dass diese dann schneller ablaufen.
- Hinweis: Bei einem Update auf eine neue Version kann durch kopieren des Ordners "cache" der Ladevorgang auch in der neuen Version beschleunigt werden.
- Hinweis: Das Löschen des "cache" Ordners löscht die Vorschaubilder und sorgt dafür, dass diese beim nächsten Mal neu runtergeladen werden.
- Sind die Serien-Typen hard-coded?
- Ja und nein: Also grundsätzlich ist das Verhalten der verschiedenen Typen fest programmiert.
- Aber gewisse Randparameter sind über eine Konfigurations-Datei "karomuskel.properties" innerhalb des Jar-Files (KaroMUSKEL-3.x.x-bin.jar)
- Bei Bedarf sollte man über einen vernünftigen Zip-Editor das Jar-File öffnen und die "karomuskel.properties" bearbeiten und aktualisieren können und somit die Einstellung ändern können, ohne eine neue Version des KaroMUSKELs erzeugen zu müssen.
- Achtung: hier nur was ändern, wenn du weißt was du tust. Andere Werte sind nicht getestet und können zu Fehlern führen!
Wie kriege ich KaroMUSKEL?
Systemvoraussetzungen & Installation
KaroMUSKEL ist in Java geschrieben und benötigt daher für die Ausführung lediglich eine installierte Java Runtime Environment (mindesten Java 8). Seit Version 3.0 kommt der KaroMUSKEL nicht mehr als ZIP, sondern als "executable JAR". Ihr müsst dafür lediglich die KaroMUSKEL-3.x.x-bin.jar herunterlanden und entweder via "java -jar KaroMUSKEL-3.x.x-bin.jar" oder mit dem mitgelieferten Skript gestartet werden (Batch-File).
Kurz und knapp bedeutet das:
- JAR-Datei
- JRE 8 oder höher
- eine Konsole oder das Script zum Starten
- Internet für die Verbindung zu karopapier.de
- Maus und Tastatur für die Bedienung ;-)
Download
Hier gibt es eine komplette Liste aller verfügbaren Versionen zum Download oder du schaust unter https://github.com/ultimate/KaroToolsCollection/releases
Datum: | Kommentar: | Download-Link: |
10.05.2023 | Version 3.1.4 released Wartungsrelease wegen Didis Aufräumarbeiten an der API |
KaroMUSKEL-3.1.4-bin.jar KaroMUSKEL-3.bat |
20.11.2022 | Version 3.1.3 released Fixed: Bug in der Logik für Ausgewogene Spieleserien |
KaroMUSKEL-3.1.3-bin.jar KaroMUSKEL-3.bat |
11.11.2022 | Version 3.1.2 released Update: Erweiterung des Serientyps "KaroLigaCup" für die aktuelle Saison |
KaroMUSKEL-3.1.2-bin.jar KaroMUSKEL-3.bat |
04.11.2022 | Version 3.1.1 released Fixed: Spielerreihenfolge bei JSON-Export |
KaroMUSKEL-3.1.1-bin.jar KaroMUSKEL-3.bat |
21.10.2022 | Version 3.1.0 released Update: Erweiterung des Serientyps "KaroLigaCup" für die aktuelle Saison |
KaroMUSKEL-3.1.0-bin.jar KaroMUSKEL-3.bat |
26.08.2022 | Version 3.0.7 released Fixed: Aussteigen auf API umgestellt (statt kickplayer.php, da diese abgeschaltet wurde) |
KaroMUSKEL-3.0.7-bin.jar KaroMUSKEL-3.bat |
14.07.2022 | Version 3.0.6 released Added: Autosave Funktion (also falls mal was schief läuft und man vergessen hat zu speichern, kann man nun auf einen Zwischenstand zurückgreifen) |
KaroMUSKEL-3.0.6-bin.jar KaroMUSKEL-3.bat |
14.07.2022 | Version 3.0.5 released Fixed: Fehler im KaroLigaCup Modus |
KaroMUSKEL-3.0.5-bin.jar KaroMUSKEL-3.bat |
28.03.2022 | Version 3.0.4 released Fixed: Anpassungen für den KaroLigaCup |
KaroMUSKEL-3.0.4-bin.jar KaroMUSKEL-3.bat |
25.03.2022 | Version 3.0.3 released Fixed: Liga-Modus bei ungerader Spielerzahl |
KaroMUSKEL-3.0.3-bin.jar KaroMUSKEL-3.bat |
17.03.2022 | Version 3.0.0 released Update: Umstellung der Server-Calls auf die KaroAPI |
KaroMUSKEL-3.0.0-bin.jar KaroMUSKEL-3.bat |
05.01.2021 | Version 2.7b released Fixed: Fehler beim Starten, weil Didi mal wieder was an der User-Liste geändert hat und der KaroMUSKEL immer noch nicht die API nutzt... ;-) |
KaroMUSKEL-2.7b.zip |
08.12.2020 | Version 2.7a released Fixed: Login nach Server-Umzug nicht mehr möglich |
KaroMUSKEL-2.7a.zip |
25.05.2020 | Version 2.7 released KaroLigaCup-Update |
KaroMUSKEL-2.7.zip |
27.12.2018 | Version 2.6b released Fixed: Vorschau für User-Karten ermöglicht |
KaroMUSKEL-2.6b.zip |
27.12.2018 | Version 2.6a released Fixed: Fehler beim Laden von Karten mit Name "(unbekannt)", weil Didi mal wieder was an der newGame.php geändert hat ;-) (Danke Sayri für den Hinweis auf den Bug!) |
KaroMUSKEL-2.6a.zip |
20.08.2017 | Version 2.6 released Fixed: Problem mit Umlauten im Spieltitel |
KaroMUSKEL-2.6.zip |
28.12.2016 | Version 2.5 released Performance- & Usability-Update |
KaroMUSKEL-2.5.zip |
09.12.2016 | Version 2.4a released Fixed: Fehler behoben, der zur Mehrfacherstellung von Spieleserien führt (Danke aristarch für das finden des Bugs!) | KaroMUSKEL-2.4a.zip |
29.11.2015 | Version 2.4 released Neuer Serientyp "Jeder-gegen-Jeden" |
KaroMUSKEL-2.4.zip |
16.02.2013 | Version 2.3a released Fixed: Fehler beim Login mit Sonderzeichen |
KaroMUSKEL-2.3a.zip |
18.11.2012 | Version 2.3 released Fixed: Verbesserung der Liga-Planung |
KaroMUSKEL-2.3.zip |
23.09.2011 | Version 2.2b released Fixed: Starten nicht möglich, weil Karte 186 auf der alten Erstellen-Seite fehlt, aber auf der BETA-Erstellen-Seite vorhanden ist |
KaroMUSKEL-2.2b.zip |
25.06.2011 | Version 2.2a released Fixed: Starten nicht möglich, wenn Spielerzahl für Karte nicht bekannt |
KaroMUSKEL-2.2a.zip |
15.12.2010 | Version 2.2 released Fixed: Anpassungen an die KaroAPI vorgenommen |
KaroMUSKEL-2.2.zip |
03.10.2010 | Version 2.1 released | KaroMUSKEL-2.1.zip |
28.04.2010 |
Fixed: Fehler beim Speichern und Laden von Spieleserien behoben |
KaroMUSKEL-2.0-20100428.zip |
27.04.2010 | Fixed: Zufallsrichtung war nicht möglich | KaroMUSKEL-2.0-20100427.zip |
26.04.2010 | Version 2.0 released | KaroMUSKEL-2.0-20100426.zip |
?? | Version 2.0-beta released | KaroMUSKEL-2.0-beta.zip |
?? | Version 1.1 released | KaroMUSKEL-2.0-20100426.zip |
Dazu noch ein paar Anmerkungen:
- Da ich hier im Wiki ja leider keine Zip-Datei hochladen kann musste ich auf eine andere Möglichkeit ausweichen und die Dateien sind extern verlinkt.
- Danke an Madeleine die lange Zeit die Downloads bereit gestellt hat.
- Mich gibt es jetzt auch bei Github, worüber nun auch die Downloads bereit gestellt werden: https://github.com/ultimate/KaroToolsCollection
- Es kann gut sein, dass einige Versionen nicht mehr funktionieren, sie sind eigentlich nur für Nostalgiker da ;-)
- Mit der Änderung von Version 2.6 auf 2.7 wurden leider durch eine Erweitung gespeicherte Spieleserien inkompatibel. Mit der Einführung der Version 3.0 ist aber das rückwärtskompatible Laden von Spieleserien (ganz ohne Hack-Version) möglich.
Kontakt (Bugs, Fragen)
Wenn du irgendeine Frage an mich (ultimate) hast, dann
- a) nutze bitte das folgende Formular "Mail an Mitspieler" oder
- b) erstelle einfach ein Spiel mit mir und sprich mich dort an oder
- c) erstelle ein Issue auf https://github.com/ultimate/KaroToolsCollection/issues
Bitte beachte dabei in der Nachricht folgendes:
Bug-Melden: Wie kann ich den Fehler reproduzieren? Wann ist er aufgetreten? Was hast du davor gemacht? Je mehr Informationen, desto einfacher ist es für mich das Problem zu beheben! Wenn das Problem während der Spielerstellung auftritt bitte das Log (ab Version 2.6) zur Spielerstellung mitschicken.
Frage stellen: Hast du zuvor das Wiki und alle Hilfestellungen im Programm durchgelesen und gibt es dort vielleicht eine Antwort auf deine Frage? ;-)
Wie hat sich KaroMUSKEL entwickelt?
KaroMUSKEL 3
Version 3.1
In Version 3.1 wurden ein paar Featurewünsche eingebaut und ein paar Optimierungen vorgenommen. (Ein paar der Änderungen wurden schon als Fixes 3.0.x veröffentlicht, werden hier aber der Vollständigkeit halber noch einmal erwähnt.)
- Erweiterung des Serientyps "KaroLigaCup" für die aktuelle Saison
- Erweiterung des Serientyps "Liga" um ungerade Spielerzahl
- Bessere Unterstützung für Supercreator
- Autosave Funktion ergänzt
- Wiederherstellung der Java 8 Kompatibilität
- Diverse kleinere Bug-Fixes und Änderungen "unter der Haube"
Version 3.0
Version 3.0 hat zwar noch die gleiche GUI wie vorher, wurde jedoch "unter der Haube" vollständig überarbeitet. Ziel war eigentlich nur die vollständige Umstellung aller Funktionen auf die KaroAPI, aber im Zuge Umbauten, habe ich gleich noch ein paar andere Verbesserungen "unter der Haube" vorgenommen. Die grundsätzlichen Funktionen sind aber gleich geblieben. Wesentliche Änderungen sind:
- Umstellung der Server-Calls auf die KaroAPI. Das ist nicht nur besser wartbar, sondern war auch notwendig, weil durch eine Änderung im Login der KaroMUSKEL nicht mehr benutzbar war.
- Anpassung der Datenstruktur auf die KaroAPI, sowie neues internes Format für Spieleserien, welches die Erweiterung um weitere Spieleserientypen zuküftig einfacher macht.
- Neues externes Format für Spieleserien: JSON. Dieses ebnet einerseits den Weg, für eine potenzielle Web-Version 4.0 des KaroMUSKELS, falls ich mal dazu komme, wo dann die Spieleserien einfach importiert werden können. Andererseits ermöglicht das neue Format auch einfache Korrekturen an den Spieleserien, falls mal was schief läuft (wie z. B. ersetzen eines Spielers oder eines Spiels). Dazu kann nun einfach die JSON-Datei mit einem Text-Editor bearbeitet werden. Und zu guter letzt, kann man so auch die Spieleserien in eigene Skripte importieren.
- Rückwärtskompatibilität zu "alten" V2-Spieleserien. Diese können weiterhin geladen werden und werden dabei automatisch in das neue Format konvertiert. Speichern ist nur noch im neuen Format möglich.
- Wiederverwendbarkeit von gespeicherten Spieleserien. Gespeicherte Spieleserien können nun nicht nur geladen werden um noch die nicht erstellen Spiele zu erstellen. Es ist jetzt auch möglich "rückwärts" durch die Einstellungen zu navigieren und diese zu ändern. Auf diese Weise kann eine einmal erstellte Spieleserie als Vorlage für eine neue dienen. Einfach laden, "rückwärts" navigieren, einzelne Einstellungen ändern (z.B. Titel anpassen und Spieler oder Karten austauschen) und dann wieder "vorwärts" navigieren und die Spiele neu planen lassen. Ideal für immer wieder stattfindende Serien wie z. B. die KaroLiga.
- Abschaffung der Freischalt-Codes und stattdessen Auswertung des "Supercreator-Flags" vom Server. Dies hat Auswirkungen auf die Spieleerstellung, weil (bedingt durch die serverseitige Prüfung) nun nur noch die Einladbarkeit ignoriert werden kann, wenn man ein "Supercreator" ist. Um "Supercreator" zu werden wende dich bitte an Didi.
- Viele weitere kleine Änderungen "unter der Haube"
KaroMUSKEL 2
Version 2.7
In Version 2.7 wurden weitere gewünschte Funktionen nachgereicht und ein paar Optimierungen vorgenommen.
- Neuer Serientyp "KaroLigaCup"
- Namensvorschläge für die verschiedenen Serientypen ergünzt
- Zahlenauswahl-Felder editierbar für Zahleneingabe gemacht
- Diverse kleinere Bug-Fixes
Version 2.6
In Version 2.6 wurde (hoffentlich) endlich der Bug behoben, der dazu führte, dass der Server kaum noch reagiert und ewig lang hängende Spielerstellungen abarbeitet und damit zahllose Spiele mehrfach erstellt.
- Fehler im Umlaut-Encoding der Spielerstellungs-Requests korrigiert
- HTTP User-Agent ergänzt
- Spielerstellungslogging ergänzt
Version 2.5
In Version 2.5 wurden dem KaroMUSKEL einige Performance- und Usability-Verbesserungen spendiert.
- Reduzierung der Thread-Anzahl für die Anfragen beim Server
- Caching der Karten-Bilder
- Vereinfachung der Spielerauswahl durch Änderung des Anzeigetextes
- Auto-Fokus der Textfelder beim Login
- Diverse kleinere Bug-Fixes
Version 2.4
In Version 2.4 wurden ein paar gewünschte Funktionen nachgereicht.
- Möglichkeit in der Zusammenfassung mehrere Spiele gleichzeitig zu ändern
- Neuen Serientyp "Jeder gegen jeden"
Version 2.3
Version 2.3 wurde für die KaroLiga (und natürlich andere Meisterschaften im Liga-Format) angepasst.
Ein spezieller Algorithmus sorgt nun dafür, dass die Anzahl der Heim- und Auswärtsspiele für jeden Spieler in Hin- und Rückrunde ausgeglichen verteilt ist.
Version 2.2
Version 2.2 war nur eine kleine Anpassung nach Einführung der KaroAPI, damit das Skript Funktionsfähig blieb.
Version 2.1
Version 2.1 wurde speziell für die CraZZZy Crash Challenge in Angriff genommen. Zusätzlich wurden noch ein paar Wünsche von Nutzern des Skripts berücksichtigt.
- Neuer Serientyp "Ausgewogene Spieleserie"
- Neue Strukturierung der Platzhalter
- Hinzufügen neuer Platzhalter
- Bug-Fix bei der Erstellung von mehr als 50 Spielen
Version 2.0
Bei dem Schritt auf Version 2 hat sich so viel verändert, dass hier einmal der (halbwegs) komplette Funktionsumfang aufgelistet wird. Was unter KaroMUSKEL 1 steht, ist also nicht zwangsläufig auch noch möglich...
- Erweiterte Möglichkeiten der Spieleserienerstellung nach verschiedenen Serientypen: "Einfache Spieleserie", "Liga", "KO-Meisterschaft"
- Spielerstellung unterteilt in mehrere Teilschritte: "Einstellungen", "Regeln", "Spielerauswahl", "Streckenauswahl", "Zusammenfassung"
- Speichern und Laden von Spielserien
- Optionales Beachten oder Nicht-Beachten der Einladbarkeit
- Spielerauswahl je nach Spieleserientyp unterschiedlich möglich
- Meisterschaften können sowohl für Einzelspieler, als auch für ganze Teams erstellt werden
- Spierersteller kann auch an Meisterschaften teilnehmen
- Spieler können in mehreren Teams mitfahren
- Einschränkung der Streckenauswahl für Zufallskarten oder feste Streckenauswahl
- Meisterschaften erstellbar mit Zufallskarten oder Heimkarten
- Automatische Erstellung von Folgerunden bei KO-Meisterschaften
- Feste und zufällige Regelfestlegung möglich (ZZZ, TC, Richtung,...)
- Überprüfung und Zusammenfassung aller Spieler vor der Erstellung
- Anpassung der Spielparameter (Name, Karte, Spieler, Regeln) für einzelne Spiele vor der Erstellung
- Erstellung einzelner Spiele steuerbar. Andere Spiele können auch später erstellt werden
- Automatischer Ausstieg aus allen oder nur einigen Spielen möglich
- Erstellung der Spiele in Threads für verringerte Wartezeit
- Spielerlogin vor Spieleerstellung
- Anzeige aller verfügbaren Spieler mit aktueller Spielzahl und Maximum, soweit bekannt
- Spielerkontrolle für die Beschränkung der maximalen Spielanzahl
- Minivorschau für Karten
KaroMUSKEL 1
Dies war die erste verfügbare Version. Wesentliche Funktionen waren:
- Erstellung "einfacher" Spieleserien auf einer einzigen Seite
- Streckenauswahl: ganz einfach nur eine feste Strecke oder Zufall (aber immerhin schon mit Minivorschau)
- Spielerauswahl: damals noch in drei Kategorien (aber immerhin schon inkl. Anzeige von Spielerdetails, wie Spielzahl und Maximum, soweit bekannt)
KaroMUSKEL 0
Bevor ich angefangen habe das ganze vernünftig in Java zu programmieren gab es noch eine ganz einfache HTML/JavaScript-Version. Die wurde aber überhaupt nicht weiterverfolgt und ist nur durch Zufall mal wieder auf meiner Festplatte aufgetaucht...