KaroMUSKEL

Aus KaroWiki
Zur Navigation springen Zur Suche springen

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. Das Ergebnis wird es hier bald zu sehen geben...

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.

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 9). 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 9 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:

Datum: Kommentar: Download-Link:
08.03.2022 Version 3.0.0 Test-Release

Update: Umstellung der Server-Calls auf die KaroAPI
Update: Anpassung der Datenstruktur auf die KaroAPI
Update: Neues externes Format für Spieleserien: JSON
Update: Rückwärkompatibilität zu "alten" V2-Spieleserien.
Update: Abschaffung der Freischalt-Codes und stattdessen Auswertung des "Supercreator-Flags" vom Server
Update: Viele weitere kleine Änderungen "unter der Haube"
Update: Datei-Format: jetzt gibt es das ganze als executable Jar (siehe oben)

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

Fixed: doppeltes Erstellen von Spielen aufgrund Fehler im CookieHandler
KaroMUSKEL-2.7a.zip
25.05.2020 Version 2.7 released

KaroLigaCup-Update

Fixed: Verschiedene kleinere Fehler
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

Logging eingebaut & Debugging durch User-Agent vereinfacht
KaroMUSKEL-2.6.zip
28.12.2016 Version 2.5 released

Performance- & Usability-Update

Fixed: Verschiedene kleinere Fehler
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"

Batch-Update in der Zusammenfassung
KaroMUSKEL-2.4.zip
16.02.2013 Version 2.3a released

Fixed: Fehler beim Login mit Sonderzeichen

Fixed: Fehler bei ungültigen Farbangaben in der Spielerseite
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
Fixed: Darstellungsprobleme mit Umlauten in Kartennamen
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, Benutzerfreischaltung)

Wenn du irgendeine Frage an mich (ultimate) hast, dann nutze bitte das folgende Formular "Mail an Mitspieler" oder erstelle einfach ein Spiel mit mir und sprich mich dort an...

Bitte beachte dabei in der Nachricht folgendes:

Benutzerfreischaltung: Kurze Begründung, warum du die Freischaltung haben möchtest! ;-)

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.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.
  • 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

Version 1.1

Version 1.1 war nur eine kleine Anpassung an Änderungen in der "newgame.php", damit das Skript Funktionsfähig blieb.

Version 1.0

Dies ist die erste verfügbare Version gewesen. Daher hier die komplette Liste der Funktionen.

  • Grundlegende Funktionsbereitstellung für einfache Spieleserien
  • Konfiguration der Spieleserie auf einer einzigen Seite
  • Unterstützung einer festen Strecke oder Zufallswahl der Strecke
  • Spielerauswahl in drei Kategorien 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
  • Minivorschau für Karten


KaroMUSKEL 0

Version 0.1

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...