Software Challenge : Neues Spiel im Wetkampfsystem einrichten

Möchte man das Wettkampfsystem für ein neues Spiel einrichten, sind einige Dinge zu tun.

  • Zuerst sollte die neue Serverversion, die das neue Spiel unterstützt, nach public/server/ hochgeladen werden.
  • Dann sollte man einen Testclient hochladen, gegen den die Clients der Teams getestet werden. Dieser kommt nach public/clients/ und muss - wie alle anderen Clients - als ZIP-Archiv vorliegen. Dieser Client wird kopiert, sobald die neue Saison im System angelegt wird. Danach wird immer die Kopie verwendet, es bringt also nichts, den Testclient in public/clients zu ersetzen! Die Kopie ist in shared/system/files/XXXX/original/, die ID findet man in getLog.log auf der vmmain oder ueber die Rails Console Season.find_by_subdomain("2017").test_contestant.clients.first.id (oder auch Season.find_by_subdomain("2017").test_contestant.clients.first.file.path)

Nun muss die GameDefinition für das neue Spiel erstellt werden. Dazu wird im Ordner config/games/ eine neue Ruby-Datei angelegt. Bei der Erstellung der GameDefinition orientiert man sich am besten an denen der Vorjahre und den Dokumentationen. Einige Einstellungen (z.B. für das Finale) werden wahrscheinlich gleich bleiben. Wichtig ist,

  • dass die richtige plugin_guid eingestellt wird (muss mit der des Server-Plugins übereinstimmen).
  • dass die richtigen Einstellungen für den Testclient (Datei- und Executablename) vorgenommen werden.
  • dass die Round-Scores so angepasst werden, dass sie in Anzahl und Reihenfolge den Fragmenten im vom Server generierten XML-Result entsprechen. Auch die Bezeichnungen sind hier wichtig!
  • dass die Match-Scores so angepasst werden, dass die für die Ranglistenberechnung erforderlichen Werte korrekt berechnet werden (hier hilft besonders die Orientierung an den Vorjahren).

Jetzt müssen alle Änderungen deployed werden. Dann kann man im Wettkampfsystem einen neuen Wettbewerb mit dem neuen Spiel erstellen. Jetzt sollte bereits alles soweit eingerichtet sein, dass man Teams hinzufügen und Spiele spielen kann.

In den meisten Fällen sollte auch noch die Übersichtsseite für den Wettbewerb angepasst werden. Dazu muss im Ordner views/contests/pages/ ein neues Partial angelegt werden. Der Name der Datei muss dabei _SUBDOMAIN.erb sein. SUBDOMAIN ist dabei die Subdomain (Id) des Wettbewerbs.