Erste Datenbankaktualisierung: 2006-10-27 17:10:03 UTC
Letzte Datenbankaktualisierung: 4 min :o)
Globaler BZFlag Login

Um einem Missbrauch Deiner Logindaten des globalen BZBB-Nutzerkontos vorzubeugen, nutze bitte nachfolgenden Link, der nach erfolgreicher Anmeldung auf BZstats zurückverweist.
Anmeldung @BZBB
Wofür ist die Seite eigentlich gut/da?
Habe ich so etwas nicht schonmal irgendwo gesehen?
Dies ist also die erste und einzige Webseite, die dererlei Informationen zusammenfasst?
Gibt es denn Unterschiede zur alten Seite?
Was für Skripte fragen die Daten ab? Basieren sie auf den Abfragedateien bzfquery.py, bzfquery.pl, bzfquery.php,.. bei GitHub (früher bei SourceForge.net)?
Was für Daten werden überhaupt abgefragt...und wie?
Wie oft wird diese Abfrage durchgeführt?
Kann man das Aktualisierungsintervall nicht heruntersetzen, damit man zeitnahere Informationen bekommt?
Was ist aber, wenn manche Serverbesitzer es nicht wünschen, dass ihre Server von dir abgefragt werden?
Was kann mit den gesammelten Daten alles gemacht werden?
Können auch andere auf diese Daten zugreifen?
Welche BZFlag-Server werden eigentlich unterstützt bzw. abgefragt?
Handelt es sich hier um ein OpenSource-Projekt?
Somit steht und fällt das Ganze mit Deinem Wohlwollen?
Und jetzt die Gretchenfrage: Wie lange wird es diesen Service (kostenlos) geben?




Wofür ist die Seite eigentlich gut/da?
Im Großen und Ganzen soll sie der besseren Übersicht über BZFlag-Server, -Spieler, -Ligen und weiterführender Informationen dienen.


Habe ich so etwas nicht schonmal irgendwo gesehen?
Ja, mit Sicherheit.
Diese Webseite ist vielmehr eine Kombination aus mehreren anderen Seiten. Das Grundgerüst bilden die Daten der Server und Spieler, wie sie in ähnlicher Weise auch bei Noodlemans got stats? verfügbar sind. Auch das allgemeine Aussehen der BZstats hat sich daher daran orientiert.
Dazu kommen noch die Spieler- und Teamdaten der aktivsten BZFlag Ligen, die teilweise integriert sind, aber auch über eine separate Sektion Ligen eingebunden sind. Ähnliches gab es früher auch schonmal auf David_Vs Fortix-Seite, die leider wegen einer Störung im Programmcode keine Daten mehr zur Verfügung stellen konnte.
Ein weiterer wichtiger Bestandteil sind die myBZbuddies. Hier kann man befreundete Spieler eintragen und bekommt in der Seitenleiste immer angezeigt, ob sie gerade online oder offline sind. Diese Funktionalität ist von der Clanseite "The Legendary ZeeBrothers" übernommen worden, wo sie als myTLZ bekannt ist.
Zu guter letzt sind unter BZinfo all jene Daten bezüglich BZFlag vereint, die der Autor dieser Webseite (also ich :o) für interessant und/oder hilfreich erachtet und schon unter strayer.de zur Verfügung gestellt hat.


Dies ist also die erste und einzige Webseite, die dererlei Informationen zusammenfasst?
Jain.
Zum einen habe ich vor ein paar Monaten bereits eine Konzeptseite erstellt, die dieser optisch und bezüglich Funktionsumfang sehr ähnlich war und zum anderen kann ich nicht behaupten, dass es keine weiteren ähnlichen Webseiten gibt. Ich weiß lediglich, dass ich bislang keine weitere kenne...sonst hätte ich mir sicher auch nicht die Arbeit damit gemacht.


Gibt es denn Unterschiede zur alten Seite?
Ja.
Alle Bereiche, abgesehen vom allgemeinen Aussehen sind komplett anders. Die Skripte zum Sammeln der Daten sind komplett neugeschrieben und sollen somit erheblich einfacher zu warten sein, falls es neue Protokollversionen gibt oder eventuelle Fehler behoben werden müssen. Die Datensammlung ist komplett anders als bisher. Auch die Webseite wurde komplett verändert und ist weit einfacher in der Pflege.


Was für Skripte fragen die Daten ab? Basieren sie auf den Abfragedateien bzfquery.py, bzfquery.pl, bzfquery.php,.. bei GitHub (früher bei SourceForge.net)?
Für jegliche Datensammlung/-organistaion verwende ich die Skriptsprache PHP. Das hat den einfachen Grund, dass ich die BZstats-Seite somit recht einfach bei fast jedem beliebigen Hoster laufen lassen könnte, solange PHP 5 und Datenbakunterstützung für MySQL 4.1 (oder höher) angeboten wird. Die Chancen dafür sind recht gut.
Alle Skripte sind selbst geschrieben und mit denen von GitHub nicht wirklich kompatibel. Wobei mein erstes Skript auf dem Quellcode von bzfquery.pl (aus dem Jahr 2002) basiert, wenngleich man ihm das jetzt nicht mehr ansieht.


Was für Daten werden überhaupt abgefragt...und wie?
Abgefragt werden Server-, Spieler- und Ligadaten.
Die groben Serverdaten kommen vom BZFlag Listserver. Er teilt mit, welche Server öffentlich bekannt sind, wie die Serverkonfiguration ist, welche Beschreibung der Server bekommen hat und wieviele Spieler gerade online sind.
Alle Server mit mindestens einem Spieler, der auch nur Observer sein kann, werden daraufhin einzeln abgefragt und liefern zu ihren eigenen Daten noch die Namen, Punktestand und Teamfarbe der Spieler, die gerade auf ihm spielen. Diese Daten werden dann in komprimierter Form in eine Datenbank geschrieben.


Wie oft wird diese Abfrage durchgeführt?
Aus Gründen von Netzverkehrsaufkommen, Serverbelastung und Datenvolumen (Datenbank) der Sammlung, wird alle 5 Minuten ein Durchlauf gestartet.
Die Daten der Ligen werden mehrfach täglich aktualisiert.
Alle von GitHub bezogenen Daten zum Spiel allgemein (siehe Rubrik BZinfo) werden einmal pro Tag auf Aktualität geprüft und gegebenenfalls ergänzt.


Kann man das Aktualisierungsintervall nicht heruntersetzen, damit man zeitnahere Informationen bekommt?
Nein.
Allerdings ist es bei eingetragenen Matchservern (der verschiedenen Ligen) möglich, dass man über den Link "erzwinge Datenaktualisierung" eine Auffrischung der Daten für diesen Server erzwingt. Diese Daten werden jedoch nicht dem Datenbankbestand hinzugefügt, sondern lediglich dem Nutzer angezeigt!
Man bedenke aber, dass diese manuellen Serverabfragen zu Lasten des Traffics und der Rechenressourcen des BZFlag-Servers und des Webservers der BZstats gehen.


Was ist aber, wenn manche Serverbesitzer es nicht wünschen, dass ihre Server von dir abgefragt werden?
Ok, das ist ein Problem. Es gibt leider zuviele Server. Daher war ich nicht fähig/willens jeden einzelnen Serverbesitzer zu fragen, aber es gibt die folgenden Möglichkeiten:
- Der Serverbesitzer kontaktiert mich und ich unterbinde alle Anfragen an dessen Server.
- Der Serverbesitzer blockt einfach meine Anfragen.
(Ich würde die erste Möglichkeit bevorzugen.)


Was kann mit den gesammelten Daten alles gemacht werden?
Theoretisch fast alles. Die einzigen Einschränkungen sind Seitenperformance (Datenbankabfragen), Serverkapazität (für eventuelle Cachetabellen) und der Umstand, dass ich die Daten komprimiert ablege. Das heißt im Endeffekt, dass ich die Daten der Spieler in Sessions abspeichere. Damit kann die Entwicklung der Punkte eines Spielers innerhalb einer Session nicht mehr nachvollzogen werden. Grund hierfür ist, dass diese Art der Komprimierung etwa 95% an Speicherplatz einspart. Ohne diese verlustbehaftete Datenspeicherung wäre der Speicherplatz des Servers innerhalb kürzester Zeit voll.


Können auch andere auf diese Daten zugreifen?
Ja, allerdings nur auf Anfrage.
Direkten Zugriff auf die Datenbank lasse ich derzeit nicht zu, aber über ein Skript können HTTP-Anfragen bezüglich der gewünschten Daten gestellt werden, die dann in einem leicht zu verarbeitenden Format ausgeliefert werden.


Welche BZFlag-Server werden eigentlich unterstützt bzw. abgefragt?
Alle öffentlichen Server der Versionen 1.7x, 1.10.x, 2.0.x, 2.4.x und einige der Testversionen zwischen den veröffentlichten Versionen.


Handelt es sich hier um ein OpenSource-Projekt?
Nein.


Somit steht und fällt das Ganze mit Deinem Wohlwollen?
Jain.
Prinzipiell bin ich nicht bereit, alles komplett zu veröffentlichen (darum auch kein OpenSource-Projekt). Allerdings bin ich gern bereit, den Quellcode der PHP-Skripte zur Abfrage der BZFlag-Server weiterzugeben. (Auf den bin ich auch irgendwie stolz ;o) Was die Skripte zur Aktualisierung der Datenbank mit den Spieler-, Server-, GitHub- und Liga-Daten oder die Webseite an sich anbelangt, so entscheide ich von Fall zu Fall, ob ich diesen Quellcode weitergebe, denn zum einen ist der nicht so ansehnlich und zum anderen möchte ich nicht, dass Fehler/Lücken so leicht ausgenutzt werden können. Daher möchte ich selbst entscheiden, wer darin Einblick haben darf. Ich weiß, ich bin ein Egoist...
Abschließend ist noch zu sagen, dass derzeit alles, was an Skripten auf dem jetzigen Server liegt und läuft, auch von [dmp] abhängig ist, da er seinen Server dafür kostenlos zur Verfügung gestellt hat. Die BZstats sind nämlich sehr ressourcenhungrig.


Und jetzt die Gretchenfrage: Wie lange wird es diesen Service (kostenlos) geben?
Tja...allgemein kann ich nur sagen, dass ich Datensammlung und Webseite solange betreiben werde, wie ich es kann/darf/will. Geld werde ich ebenfalls nicht verlangen, solange ich auf kostenfreie Ressourcen zugreifen kann. Allerdings kann ich nicht ausschließen, dass ich eventuell zukünftig keine Werbung auf der Webseite platzieren werde. Ob diese dann allen Nutzern angezeigt würde oder nur nicht angemeldeten, weiß ich nicht...die Zeit wirds zeigen. :o)


Ladezeit: 0.0302 sec