Deutsche Installationsanleitung für HLStatsX CE für Linux basierende Server
Vorwort: Wir möchten an dieser Stelle auf das Recht des geistigen Eigentums aufmerksam machen und verbieten hiermit die Veröffentlichung unseres Tutorials oder Teile davon auf einer anderen Seite ohne unserer schriftlichen Zustimmung. Es ist möglich, dass Teile von der HLXCE für die Übersetzung übernommen wurden.
Linux Software
MySQL
Webspace
SHELL Zugriff
Stats Software
Perl Module
Editor
Wir laden also von der HLX-CE Seite die aktuelle Version herunter und entpacken Sie mit Winrar oder Winzip. Wir haben nun mehrere Ordner die wir nach und nach abarbeiten werden. Es sollte dann so aussehen:
Wir widmen uns dem „web“ Ordner und öffnen die „config.php“ mit einem Editor und ergänzen die erforderlichen Felder.
// DB_NAME - The name of the database (NAME DER DATENABANK) define("DB_NAME", "hlstatsx"); // DB_USER - The username to connect to the database as define("DB_USER", "hlxuser"); (DATENBANK BENUTZERNAME) // DB_PASS - The password for DB_USER define("DB_PASS", "hlxpassword"); (DATENBANK PASSWORT) // DB_ADDR - The address of the database server, in host:port format. // (You might also try setting this to e.g. ":/tmp/mysql.sock" to // use a Unix domain socket, if your mysqld is on the same box as // your web server.) define("DB_ADDR", "localhost"); (WENN WEBSPACE UND GAMESERVER AUF DEM SELBEN ROOT SIND KANN "localhost" BLEIBEN ANSONSTEN MUSS DIE IP-ADRESSE ANGEGEBEN WERDEN )
Wir können nun die Datei abspeichern und den Editor verlassen.
Nun können wir den Inhalt des gesamten Web-Ordners in den gewünschte Webspace-Ordner Hochladen und per URL aufrufen.
Wir loggen uns bei phpMyAdmin ein und erstellen eine Naue Datenbank. Unsere heißt in diesem Fall „hlstatsx“ und wir importieren in diese Datebank die vorhandene Tabellen. Bei Erstinstallation heißt sie i.d.R install.sql
und das Importieren kann manchmal ein paar Sekündchen dauern. Also nicht wundern, wenn es etwas länger dauert. Wir können uns Ausloggen und uns nun dem nächsten Schritt zuwenden.
Nun begeben wir uns in den Perl Ordner und öffnen die Datei „hlstats.conf“ mit dem Editor und füllen wieder die erforderlichen Felder aus. Achtung dies ist der wichtigste Part und 90% der Fehler gehen bei der Installation vom Perl Daemons aus.
# DBHost - Database server "address" or "address:port". Address can be an IP or # a hostname. The default MySQL port is 3306 (tcp). DBHost "localhost" # DBUsername - User to connect to the database as. DBUsername "hlxuser" # DBPassword - Password for the database user. DBPassword "hlxpassword" # DBName - Name of the database to use. DBName "hlstatsx" # DBLowPriority - Use INSERT DELAYED and DELETE LOW_PRIORITY for some queries. # This can give better performance, but may make statistics less # "real time". 1=on 0=off DBLowPriority 1 ## ## UDP Socket Settings (should match "logaddress ip port" on the game servers) ## # BindIP - IP address to bind to (leave empty to use all interfaces). BindIP "" # Port - Port to listen on for log data from the game servers. Port 27500
Wir speichern wieder die Datei ab und verlassen den Editor. Wir laden nun den kompletten perl Ordner hoch. Hierbei ist zu beachten, dass der perl Ordner nicht auf dem Webspace hinterlegt wird sondern in dem SSH-User Ordner 1) (GenEraLbEaM wäre jetzt mein SSH Benutzer). Nun machen wir folgende vier Dateien ausführbar entweder per ssh mit chmod +x <filename> oder einfach per FTP : rechte Maus auf die Dateien und die Attribute 750 vergeben.
hlstats-awards.pl hlstats.pl hlstats-resolve.pl run_hlstats
Wir öffnen nochmal die run_hlstats und tragen in die folgende Passage den Pfad zum Perl Ordner ein z.B so:
# set your correct HLstatsX perl path perldir=/home/GeNeRaLbEaM/perl/ cd ${perldir}
Speichern die Datei ab und laden Sie wieder hoch. Nun können wir mit folgendem Liunx Befehl per SSH den Perl Daemon starten: Wir begeben uns mit dem Befehl
cd /home/GeNeRaLbEaM/perl/
in den Perl Ordner und starten den Daemon mit
./run_hlsats start
Falls es erfolgreich war dann steht (starting success und die PID Nummer)
Je nachdem um welches Spiel es sich handelt ist mittlerweile das hlstats Ingame Plugin nicht mehr von nöten.
Das erfolgreiche Plugin superlogs wird für jedes Spiel als SourceMod addon mitgeliefert. Für CSS z.B superlogs-css.smx
einfach in den Sourcemods/Plugins Ordner verschieben. Diese werden im extras Ordner noch vorerst untergebracht wobei ich
stark davon ausgehe, dass es in den kommenden Versionen ein festes Bestandteil von HLX CE wird.
Anschließend begeben wir uns in die autoexcec.cfg und fügen folgende Zeilen ein:
log on logaddress_add ip:27500
Der Port der Standardmäßig von HLX CE vergeben wird ist die 27500. Das sollte auch richtig sein, sofern Ihr nix verändert habt. So kann der Perl Daemon mit dem Gameserver kommunizieren.
Gameserver Restart nicht vergessen!
Und nun sollte das HLX Spam Ingame beginnen, und wir können uns freuen, dass es soweit läuft.
Wir gehen auf unsere HLX Seite z.B http://IP/HLSTatsX (oder per URL http://pfad/zum/HLX/Ordner) und loggen uns dort
ganz unten als Admin ein.
Benutzername : admin
Passwort : 123456
Wir gehen unter „Admin Users“ erstellen uns einen neuen Admin acc. und löschen den alten Admin acc.
Anschließend gehen wir unter HLSTatsX CE Settings und stellen die Sachen nach belieben ein. Einstellungen spezeiell
für die Spiele können wir unter Game Settings einstellen und dort z.B einen neuen Server hinzufügen oder löschen. Man
beachte dass auf der Rechten Seite sehr Abseits noch Configure steht, wo Ihr die einzelnen Game Server eistellen könnt.
Ihr müsst beachten, dass das Rcon PW richtig gesetzt wird da HLX und Gameserver aonsonten nicht miteinander kommunizieren kann.
So damit die Google Maps auch richtig angezeigt werden, müssen wir uns erst einen Google Api Key besorgen das machen wir
hier : http://code.google.com/intl/de-DE/apis/maps/signup.html
Wir lassen uns einen Api key generieren und fügen diese in den Settings ein. Achtung man muss erst bei Google eingeloggt sein,
oder sich zumindest einen Google acc. neu anlegen damit es klappt. Es sollte dann ca. so aussehen.
Geo::IP::pureperl
Damit die Player locations richtig angezeigt werden, müssen wir erstmal CPan installieren. Also loggen wir uns in shell ein . Es ist ratsam an dieser
Stelle sich mit dem Benutzer einzuloggen, unter dem auch Perl usw. läuft. Wir führen also folgende Befehle aus.
perl -MCPAN -e 'install Geo::IP::PurePerl'
via Cpan
cpan install Geo::IP::PurePerl
Nun wechseln wir in das GeoLiteCity Verzeichnis. Diese befindet sich ebenfalls im Perl Ordner und wir laden folgende Datei herunter:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz [ mit wget]
Alternativ kann auch die Geolite_Import.sh
ausgeführt werden. Die heruntergeldadene Datei müssen wir nun mit Gunzip entpacken. Nun loggen wir uns wieder im Web-Panel von HLX als Admin ein und stellen in den Settings unter GeoIP data & Google Map settings:
Geo IP look via Binary File.
GeoLiteCity.dat
Ihr solltet in Regelmäßigen Abständen die Aktulität Eurer GeoLiteCity.dat überprüfen. Dies kann man natürlich Manuell machen oder in Regelmäßigen Abständen als Cronjob.
Ein simples Script dafür würde z.B so aussehen.
#!/bin/bash # # Author: Rawh # Edited: DeaD_EyE # Date: 31 October 2009 # What: Script to download the GeoLiteCity.dat.gz file. # DIR=~/hlstats/GeoLiteCity #Programm URL="http://geolite.maxmind.com/download/geoip/database/" FILE="GeoLiteCity.dat.gz" if [ -d $DIR ]; then echo "Wrong directory"; fi cd $DIR rm ${FILE} &>/dev/null wget "${URL}/${FILE}" gunzip -f ${FILE}
Den o.g. Code im Pspad Editor in eine neue Datei kopieren und als update.sh speichern und in den Perl Ordner hochkopieren. Ausführrechte erteilen : chmod +x update.sh oder per ftp die Attribute 750. Die Datei z.B monatlich als Cronjob ausführen.
Nun sollten auch die Playerlocations und die Serverlocation richtig dargestellt werden. Bitte beachtet, dass die Einstellungen mit dem * einen restart des Pearl Daeomons benötigen.
Dies wird gerne mal übersehen obwohl es ganz groß oben Plakatiert wird:
Da die meisten an dieser Stelle noch nicht so ganz wissen wie man einen Crontab installiert werden wir hier ein Paar Takte dazu sagen. Ein Crontab ist quasi ein regelmäßiger Job, dem man dem Server erteilt. Mal als ganz einfaches Beispiel: Es soll jede Nacht um 24 Uhr der Server neugestartet werden. Nun wollen wir aber nicht den Server neustarten sondern jeden Tag die Awards vergeben. Es gibt zwei unterschiedliche Varianten wie man einen Crontab installiert und wir werden an dieser Stelle auf beide eingehen.
Wir loggen uns per SSH ein und starten unseren Editor mit dem Befehl : crontab -e
Eine Crontab hat quasi immer die selbe Struktur, deshalb ist es ratsam an dieser Stelle die entsprechende Passage zu kopieren und in Euren Editor hinzuzufügen. Support und erweitertes Background am besten direkt auf der Homepage Eures Betriebssystemes holen. Für Ubuntu muss die Crontab so aussehen. Zu beachten ist,dass eine Crontab immer mit einer leeren Zeile also mit Enter beendet werden muss.
##----------------------------------------------------------------- 1 0 * * * cd /home/GeNeRaLbEaM/perl; ./hlstats-awards.pl 1 0 * * * cd /home/GeNeRaLbEaM/perl; ./importbans.pl ##-----------------------------------------------------------------
Anhand meiner Crontab kann man z.B hier sehen, dass jede Nacht um 00:01 meine hlstats-awards vergeben werden. Man kann natürlich auch eine Crontab per Plesk installieren was um wesentliches Kompfortabler sein kann aber nicht unbedingt muss.
Installation einer Crontab unter Debian :
55 23 * * * cd /home/<user>/stats/perl && ./hlstats-awards.pl
Jetzt müssen wir unsere Crontab abspeichern und den Editor wieder verlassen, dies machen wir mit : ^KX
Abrrechen ohne zu Speichern machen wir mit : Strg C
Bedeutet, dass unsere Crontab jede Nacht um 23:55 ausgeführt wird. Eines der wunderbaren Sachen unter HLXCE ist auch, dass es z.B mit Sourcebans kommunizieren kann. Leute die also in Sourcebans gebannt werden (egal aus welchem Grund) oder allg. gebannt werden und in der banned_user.cfg auftauchen werden automatisch aus den Stats hinausgenommen und werden dann auf der HLX-Seite unter „Bans“ aufgelistet. Dazu muss einfach nur die importbans.pl wie oben auch beschrieben ist, als Crontab ausgeführt werden.
Deutschsprachiger Support erfolgt auf der ofiziellen HLSatsX CE Seite
Im Deutschen Forum sind quasi so alle Fehler schon behandelt die es eigentlich so geben kann. Sollte Ihr eine Fehlermeldung bekommen dann einfach hier mal nachschauen. Euer Fehler ist bestimmt auch dabei.