mpResde | en

Über dieses Skript - Grundlagen

mpRes ist ein php-Skript, mit welchem Replays der Rennsimulation Live for Speed analysiert und daraus umfassende Rennstatistiken erstellt werden können. Viele der dabei dargestellten Daten sind der Community seit geraumer Zeit bekannt. Ähnliche Funktionen bietet das InSim-Tool Live for Stats von Gai-Luron, welches die allermeisten, die Statistiken und genauere Auswertungen zu ihren Rennen anbieten nutzen.

Die zweite wichtige Grundlage für dieses Skript ist die Arbeit, die MikeB bei der Entwicklung des Tools mprEdit geleistet hat. Dank MikeB, der seine Erkenntnisse erfreulicherweise veröffentlicht hat, haben wir jetzt eine Idee davon, wie die Struktur einer Replay-Datei abseits des von den Entwicklern dokumentierten Headers ausschaut. Hier konnte ich ansetzen, und ein paar weitere interessante Punkte ausmachen.

Die Idee - Danksagungen

An diesem Punkt angelangt, entstand die Idee, Statistiken direkt aus den Replay-Dateien auszulesen. Diese Idee entstand aus zwei Motivationen:

  • Eine Möglichkeit zu schaffen, das Anbieten von Resultaten und Statistiken zu vereinfachen, so dass man nicht mehr Screenshots anfertigen bzw. das InSim-Tool anwerfen, die Ausgabe (genauer: Die enthaltenen Links) anpassen und dann alles irgendwo hochladen muss.
  • Um zu schauen, ob ich das hinbekomme ...

Der erste Punkt entstand insbesondere als Resultat meines Teamkollegen Jogy und seiner Erfahrungen in der CityLiga. An dieser Stelle möchte ich insbesondere ersterem für seine unerschütterliche Geduld und seine Euphorie gegenüber diesem Projekt danken. Beide sind ihm niemals abhanden gekommen, obwohl ich ihm teilweise mit wilden Gedankenkonstrukten und immer neuen Problemen in den Ohren lag und meine eigene Motivation, das Projekt wirklich zu vollenden zwischenzeitlich gen 0 tendierte (was auch anhand der nunmehr fast 2-jährigen Entwicklungsdauer erkenntlich wird). Auch danken muss und möchte ich hier natürlich der gesamten CityLiga, die sich - zumal während einer laufenden Saison - bereit erklärt hat, das Skript zu nutzen und damit meinen persönlichen β-Test zu absolvieren.

Die Zielgruppe

Das Skript richtet sich insbesondere an Ligen, die ganze Saisons an Ergebnissen anbieten und an Anbieter größerer Events, insbesondere solcher, bei denen Fahrerwechsel vorgesehen, oder die Wiederteilnahme am Rennen nach einem Ausscheiden (Disconnect, SHIFT+P, etc.) erlaubt sind.

Da dem Skript doch ein paar Konfigurationen aufzubürden sind, die das Verhalten beim Auslesen eines Replays steuern, empfehle ich das Skript ausdrücklich nicht dafür, einfach wahllos einzelne Replays auszulesen. Hierfür eignet sich das oben erwähnte Live for Stats sicherlich besser.

Mögliche Differenzen zum Ingame-Ergebnis

Auf Grund mehrerer Umstände kann - und soll - das von diesem Skript erstellte Ergebnis von dem, welches von LfS selbst erstellt wird abweichen. Diese Punkte sind folgende:

  • Disqualifikaitonen werden vom Skript (etwa bei Nichterfüllung eines Pflichtboxenstopps) nicht automatisch verteilt. Betroffene Fahrer werden Regulär in das Ergebnis aufgenommen. Ich möchte es dem jeweiligen Veranstalter überlassen, ob dieser wirklich eine Disqualifikation für ein Ereignis aussprechen möchte.
  • Nicht ins Ziel gekommene Fahrer können - je nach Einstellung des Skripts - dennoch gewertet werden (Es ist eine Einstellung für eine zurückzulegende Mindestdistanz vorgesehen.). Ist dies der Fall, so werden die Fahrer entsprechend im Ergebnis aufgeführt.
  • Wiederteilnahmen nach einem definierten Maximalzeitpunkt werden vom Skript rigoros und unparteiisch ignoriert. Alles, was nach einer solchen Wiederteilnahme gefahren wurde, wird im Ergebnis nicht berücksichtigt.
  • Ergebnisse verschiedener Stints (Wiederteilnahmen) werden - so die entsprechende Einstellung vorgenommen wurde - zu einem Gesamtergebnis zusammengerechnet. Ohne diese Einstellung wird lediglich der letzte gültige (s.o.) Versuch gewertet.
  • Unvollendete Rennen, wie etwa bei einem Massendisconnect können durch manuelle Anpassung der zu absolvierenden Renndistanz dennoch sinnvoll ausgewertet werden.