Installer HLstatsX:CE

A lire avant de poursuivre : Structure & agencement.

Prérequis : Installer SourceMod

HLstatsX:CE est une interface détaillé de statistiques tout comme psychostats. Certains préfèrent HLstatsx pour le détail des stats données. Via le jeu vous pouvez taper rank, etc. vous pouvez également gagné des points par rapport a différentes actions effectuées sur la partie.
HLstatsX:CE est cindé en deux parties, la partie web qui affiche les stats, gère les inscriptions, etc... et la partie interne qui va lire ces stats et les insérer dans une base.

La manipulation consiste à télécharger l'archive HLXCE-1.6.19-FULL.zip puis décompresser et supprimer l'archive.

Nous allons nous déplacer dans le dossier « ../hlds » (~/hlds) et télécharger la dernière version de HLstatsX:CE. puis nous décompressons l'archive.

cd ~/hlds
wget https://bitbucket.org/psychonic/hlstatsxce/downloads/HLXCE-1.6.19-FULL.zip

puis nous décompressons l'archive et nous supprimons l'archive, ensuite nous pouvons renommer le répertoire en « ../hlxce » tout court.

unzip HLXCE-1.6.19-FULL.zip
rm HLXCE-1.6.19-FULL.zip
mv hlxce-1.6.19 hlxce

Notre dossier est découpée en deux morceaux, d’un coté le code PHP/HTML qui sera utilisé pour l’affichage des stats. De l’autre, un script PERL qui s’occupera d’analyser les stats du serveur pour générer les pages.

Copions le contenue du dossier « ../web » vers le dossier « ../hlxce » que nous allons créer dans le dossier du serveur web (ex : ~/www/ligfy.net).

mkdir ~/www/ligfy.net/hlxce
cd ~/hlds/hlxce
cp -R web/* ~/www/ligfy.net/hlxce/

Nous allons maintenant crée une base de données SQL avec phpMyAdmin pour l’utilisation de HLstatsX:CE.

http://localhost/phpmyadmin // localhost = IP du serveur web

Maintenant nous allons éditer le fichier « hlstats.conf » qui se trouve dans le dossier « ../scripts » (../hlds/hlxce/scripts).

nano ~/hlds/hlxce/scripts/hlstats.conf

Nous allons modifier cette partie (modifions les infos par celles de notre base de donnée précédemment créée) :

# 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 "
user base de donnée"

# DBPassword - Password for the database user.
DBPassword "
mot de passe"

# DBName - Name of the database to use.
DBName "
nom de la base de donnée"

Nous allons maintenant dans le dossier « ../GeoLiteCity » qui se trouve dans le dossier « ../scripts » (../hlds/hlxce/scripts) et nous éditons les fichiers « GeoLite_Import.sh » et « geoip.py ».

nano ~/hlds/hlxce/scripts/GeoLiteCity/GeoLite_Import.sh
nano ~/hlds/hlxce/scripts/GeoLiteCity/geoip.py

Dans « GeoLite_Import.sh » et « geoip.py » nous cherchons et modifions les lignes suivantes :

DBHOST="localhost"
DBNAME="
nom de la base de donnée"
DBUSER="
user de la base de donnée"
DBPASS="
mot de passe"

Maintenant nous allons importer le fichier « install.sql » (../hlds/hlxce/sql/install.sql) a notre base de donnée.

Exemple :

mysql -uuser de la base de donnée -p nom de la base de donnée < install.sql

cd ~/hlds/hlxce/sql
mysql -umic -p hlxce < install.sql

Le dernier fichier a configurer avec notre nouvelle base de donnée, se trouve dans le dossier « ../hlxce » de notre serveur web (ex : ~/www/ligfy.net). Nous éditons le fichier « config.php ».

nano ~/www/ligfy.net/hlxce/config.php

remplaçons les infos par celle de notre base de donnée :

define("DB_ADDR", "localhost");

// DB_USER - The username to connect to the database as
define("DB_USER", "
user de la base de donnée");

// DB_PASS - The password for DB_USER
define("DB_PASS", "
mot de passe");

// DB_NAME - The name of the database
define("DB_NAME", "
nom de la base de donnée");

Nous allons configurer HLstatsX:CE en manipulent divers fichiers.

Nous allons maintenant changer les permissions d'accès de certains fichiers (chmod 777) du dossier « ../scripts » (../hlds/hlxce/scripts).

cd scripts
chmod 777 hlstats-awards.pl hlstats-resolve.pl hlstats.pl proxy-daemon.pl run_hlstats
chmod 777 HLStatsFTP/hlstats-ftp.pl ImportBans/importbans.pl

Une fois ceci terminé voyons maintenant le dossier « ../sourcemod » (../hlds/hlxce/sourcemod).

Copions le contenue du dossier « ../sourcemod » vers le dossier « ../sourcemod » de notre serveur de jeu (ex : ../cstrike/addons/sourcemod).

cd ..
cp -R sourcemod/* ~/hlds/srcds/css/cstrike/addons/sourcemod

Nous allons ensuite éditer notre fichier « server.cfg » de notre serveur de jeu (../cstrike/cfg).

Puis nous ajoutons ceci :

log on
logaddress_add ip_de_votre_machine:27500

Plaçons l'ip de notre serveur de jeu avec le port par défaut 27500. Ne modifiez pas le port 27500, c'est le port pour faire dialoguer notre serveur de jeux avec HLstatsX:CE.

Maintenant nous allons exécuter plusieurs programmes du dossier « ../GeoLiteCity » (../scripts/GeoLiteCity) qui ont pour but d'importer la géo-localisation, que nous pouvons voir sur notre page de site HLstatsX:CE avec Google. Si vous ne procédez pas a cette installation, vous ne pourrez voir la provenance des joueurs qui se connecte sur votre serveur de jeux.

cd ~/hlds/hlxce/scripts/GeoLiteCity
sh install_binary.sh
sh GeoLite_Import.sh
python geoip.py

Si il y a des problème dans les logs (../hlxce/logs) concernant Geo::IP::PurePerl, il faut Taper ceci :

perl -MCPAN -e 'install Geo::IP::PurePerl'

Nous allons configurer notre panel d'admin HLstatsX:CE.

Tout d'abord nous allons supprimer le dossier « ../updater » qui se trouve dans le dossier « ../hlxce » de notre serveur web (ex : ~/www/ligfy.net)

cd ~/www/ligfy.net/hlxce
rm -rf updater

Maintenant nous allons sur notre site pour découvrir l'interface de HLstatsX:CE.

http://localhost/hlxce/ // localhost = IP du serveur web

Nous allons commencer par modifier le mot de passe du compte admin. Pour cela nous allons tout en bas sur la dernière ligne du site et nous pouvons voir "Admin" nous cliquons dessus et nous nous loguons via les infos par défaut.

« Username » admin
« Password » 123456

Nous voilà dans notre panel d'administration HLstatsX:CE, nous allons dans "General Settings" >> "Admin Users" et sur la ligne au niveau de Password nous pouvons voir (encrypted), vous effacez et mettez votre mot de passe, puis cliquez sur "Apply".

Nous allons dans "General Settings" >> "HLstatsX:CE Settings" vous réglez comme bon vous semble, mais une chose essentiel, dans la partie GeoIP data & Google Map settings, pour l'option Google Maps Region Il faut sélectionner Europe, pour l'option *Choose whether to use GeoCityLite data loaded into mysql database or from binary file. (If binary, GeoLiteCity.dat goes in perl/GeoLiteCity and Geo::IP::PurePerl module is required: Il faut sélectionner GeoIP lookup via database, puis cliquez sur "Apply".

Nous allons dans "General Settings" >> "Games", décochez la case Hide Game pour Counter-Strike Source et cocher la case pour le jeu Team Fortress 2, puis cliquez sur "Apply".

Nous allons dans "Games settings" >> "Counter-strike:source" (css) >> "Add Server" et nous entrons les informations demandés, pour l'option Public Address laissez vide, comme sa c'est l'adresse ip + port qui s'affiche. Pour Admin Mod sélectionner Sourcemod. Terminer en cliquant sur le bouton "Add Server".

Nous venons d'ajouter notre serveur mais nous pouvons modifier la façon de gérer notre serveur pour les stats etc ... Pour cela nous allons dans "Games settings" >> "Counter-strike:source (css)" >> "Edit Server" puis nous cliquons sur "CONFIGURE", une fenêtre s'ouvre et nous pouvons faire nos différents réglages.

Votre serveur Counter-Strike:Source est donc ajouté au système HLstatsX:CE, vous devriez voir sur votre index de site la carte google et la localisation de votre serveur en France ou ailleurs.

Nous allons lancer et configurer notre HLstatsX:CE pour que chaque jour a 6h du matin notre serveur met a jour les awards de HLstatsX:CE.

Pour se faire nous allons utiliser crontab. Il faut Taper ceci :

crontab -e

puis vous allez entrer ceci :

*/5 * * * * cd /home/mic/hlds/hlxce/scripts && ./run_hlstats start >/dev/null 2>&1
00 06 * * * cd /home/mic/hlds/hlxce/scripts && ./hlstats-awards.pl >/dev/null 2>&1
00 06 * * * cd /home/mic/hlds/hlxce/scripts && ./hlstats-resolve.pl >/dev/null 2>&1

puis nous lançons HLstatsX:CE via la commande suivante pour tester son bon fonctionnement .

cd ~/hlds/hlxce/scripts
./run_hlstats start

Pour lancer run_hlstats à chaque fois que vous redémarrez votre machine (pas vraiment nécessaire puisque nous avons dans crontab le run_hlstats start), nous allons créer un fichier (ex: hlxce) dans le dossier « ../init.d » (../etc/init.d)

nano /etc/init.d/hlxce

Puis nous insérons ceci :

### BEGIN INIT INFO
# Provides: hlxce
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
#!/bin/bash
cd
/home/mic/hlds/hlxce/scripts
./run_hlstats start

Ensuite nous tapons ceci :

update-rc.d hlxce defaults

yes Astuce :

Si vous souhaitez utiliser plusieurs serveur de jeu, vous devrez exécuter « ./run_hlstats start X » (X = un nombre)

Exemple : 

./run_hlstats start 5 lancera 5 deamon sur les ports 27500 à 27504

Donc il faut adapter le fichier « server.cfg » de chaque serveur de jeu.

Serveur 1 = logaddress_add votre_ip:27500
Serveur 2 = logaddress_add votre_ip:27501
etc ...

Nous allons maintenant générer les Heat Maps (Carte de chaleur pour visualiser l'ensemble des interactions sur nos serveurs).

Il faut copier le dossier « ../heatmaps » vers le dossier « ../hlxce » que nous avons créer dans le dossier du serveur web (ex : ~/www/ligfy.net).

cd ~/hlds/hlxce
cp -R heatmaps ~/www/ligfy.net/hlxce/

Maintenant nous allons éditer le fichier « config.inc.php » qui se trouve dans le dossier « ../heatmaps » (../hlxce/heatmaps).

nano ~/www/ligfy.net/hlxce/heatmaps/config.inc.php

Nous allons modifier cette partie (modifions les infos par celles de notre base de donnée précédemment créée) :

define('DB_HOST', 'localhost');
define('DB_USER', '
user de la base de donnée');
define('DB_PASS', '
mot de passe');
define('DB_NAME', '
nom de la base de donnée');
define('HLXCE_WEB', '
/home/mic/www/ligfy.net/hlxce');
define('HUD_URL', '
http://www.ligfy.net/hlxce/');

Maintenant nous allons télécharger le pack heatmap de HLstatsX:CE dans le dossier « ../src » (../heatmaps/src), puis nous décompressons le pack.

cd ~/www/ligfy.net/hlxce/heatmaps/src 
wget https://bitbucket.org/psychonic/hlstatsxce/downloads/heatmap-src_3.ziphe...
unzip heatmap-src_3.zipheatmap-src_3.zip
rm heatmap-src_3.zipheatmap-src_3.zip

Nous allons exécuter le script « generate.php » (../heatmaps/generate.php) pour que chaque jour a 7h du matin notre serveur génére les heatmaps de HLstatsX:CE.

Pour se faire nous allons utiliser crontab. Il faut Taper ceci :

crontab -e

puis vous allez entrer ceci :

00 07 * * * cd /home/mic/www/ligfy.net/hlxce/heatmaps && ./generate.php

voici un exemple : (heatmaps de la map de_dust2_unlimited)

Voila, amusez-vous bien, et n'hésitez pas à poser vos questions.

Propulsé par Drupal