Initial checkin
[ndccode.git] / stats / README
1 README - stats
2 ==============
3
4 Diese Skripte bilden das Herzstueck des Statistiksystems.
5 Sie _sind_ das Statistiksystem.
6 foreverstats    - Die ewigen Statistiken
7                 Version 2, die aktuell laeuft
8                 Version 3, die neue (schoenerbesserbunter), mit
9                 Suchfunktion in der Datenbank und Template-
10                 Unterstuetzung (wer hat da "PHP" gerufen?)
11                 WAP-Version.
12 dailystats      - Die Tagesstatistiken
13                 HTML und WAP.
14 playerstats     - Statistiken fuer einzelne Spieler.
15                 Von den dailystats und foreverstats
16                 gelinkt.
17
18 makedb          Macht aus gs_analyze-Ausgaben SQL
19 makerank        Berechnet die Raenge in der ewigen Bestenliste
20 databasectrl    Ein Shellscript, das makedb und makerank aufruft.
21
22 Der Lauf der Daten vom Quake-Server zur Webseite laeuft
23 ueber verschiedene Stufen.
24
25 Die vom Server erzeugten Logs werden von gs_analyze in
26 ein Zwischenformat gewandelt, und dann per FTP-Upload
27 auf den Webserver geschoben.
28 Hier kommt ein Synchronisationsproblem ans Licht. Der
29 Quakeserver rotiert (in unserem Fall) taeglich um 6
30 seine Stats, und wertet sie danach mit gs_analyze aus.
31 Dann kommen die Zwischenlogs auf den Webserver. 
32 Nun weiss der Webserver leider nicht, wann es beim Quake-
33 server 6 Uhr ist. Da wir uns Konstukte wie rsh gerne ersparen
34 wollten, haben wir einen anderen Weg gewählt.
35 Der Quakeserver uebertraegt neben dem Logfile noch eine Datei
36 namens first.run. Diese enthaelt nur eine 1. Jedesmal wenn
37 entweder foreverstat oder dailystats aufgerufen wird, wird
38 der Inhalt dieser Datei ueberprueft. Ist er 1, so wird
39 databasectrl.sh aufgerufen, das wiederum das Logfile in die
40 Datenbank ueberfuerht. Dann wird der Inhalt von first.run
41 auf 0 gesetzt. Solange, bis ein neues Logfile vom Quakeserver
42 kommt.
43
44 In allen Skripten, die auf die Datenbanken zugreifen, gibt es
45 Variablen, die den Benutzernamen und das Passwort setzen, mit
46 denen auf die Datenbank zugegriffen wird. Im Moment sind diese
47 beiden Felder leer.
48 Der Name der Datenbank wird mit "stats" angenommen.
49 Die Datei "stats.sql" enthaelt die SQL-Aufrufe, die die von den
50 Skripten benoetigten Tables erstellen.
51
52 In allen Skripten, die auf die Datenbanken zugreifen, gibt es
53
54 In allen Skripten, die auf die Datenbanken zugreifen, gibt es
55 Variablen, die den Benutzernamen und das Passwort setzen, mit
56 denen auf die Datenbank zugegriffen wird. Im Moment sind diese
57 beiden Felder leer.
58 Der Name der Datenbank wird mit "stats" angenommen.
59 Die Datei "stats.sql" enthaelt die SQL-Aufrufe, die die von den
60 Skripten benoetigten Tables erstellen.
61 Variablen, die den Benutzernamen und das Passwort setzen, mit
62 denen auf die Datenbank zugegriffen wird. Im Moment sind diese
63 beiden Felder leer.
64 Der Name der Datenbank wird mit "stats" angenommen.
65 Die Datei "stats.sql" enthaelt die SQL-Aufrufe, die die von den
66 Skripten benoetigten Tables erstellen.