LGSL v6.2.1 sur VestaCP — monitorer ses serveurs CS 1.6 et TeamSpeak 3 en temps réel
Installer LGSL v6.2.1 sur VestaCP
Guide complet pour {{DOMAINE_GAMING}} — serveur {{IP_NOUVEAU}} — Mise a jour : mars 2026
Paramètres à personnaliser
Remplacez chaque {{VARIABLE}} par vos propres valeurs avant d’utiliser ce guide.
| Variable | Description | Exemple |
|---|---|---|
{{IP_NOUVEAU}} |
IP du serveur | 198.51.100.20 |
{{PORT_SSH_NOUVEAU}} |
Port SSH du serveur | 22223 |
{{DOMAINE_GAMING}} |
Domaine gaming | exemple-gaming.fr |
{{USER_VESTA}} |
Utilisateur MyVestaCP | admin |
1. Contexte
LGSL (Live Game Server List) est un script PHP open-source qui interroge des serveurs de jeux en temps reel et affiche leur statut (en ligne / hors ligne), le nombre de joueurs connectes, la carte en cours, le ping, etc. La version 6.2.1 est disponible sur GitHub.
Dans le cadre de {{DOMAINE_GAMING}}, LGSL sera utilise pour surveiller :
- 8 serveurs Counter-Strike 1.6 (protocol
halflife) sur les ports 27015 a 27022 - 2 serveurs TeamSpeak 3 (protocol
ts3) sur les ports 9987 et 9988 (query : 10011) - 1 serveur EmuLinker / Kaillera (protocol personnalise
kaillera) sur le port 27888 UDP
Le serveur EmuLinker / Kaillera n’est pas supporte nativement par LGSL. Un patch personnalise du fichier lgsl_protocol.php est presente en section 8 pour l’integrer completement.
2. Prerequis
| Composant | Requis | Remarque |
|---|---|---|
| Serveur web | Apache 2.4+ | Gere par VestaCP |
| PHP | 7.4 ou 8.x | Avec extensions sockets et prise en charge UDP |
| MySQL / MariaDB | 5.6+ | Pour stocker la liste des serveurs |
| Acces SSH | Oui | Port {{PORT_SSH_NOUVEAU}} sur {{IP_NOUVEAU}} |
| VestaCP | Installe | Pour creer la base de donnees et gerer les vhosts |
Verifier les extensions PHP requises
Connectez-vous en SSH et executez :
ssh -p {{PORT_SSH_NOUVEAU}} {{USER_VESTA}}@{{IP_NOUVEAU}}
php -m | grep -E "sockets|pdo|mysqli|mbstring"
Les extensions sockets, pdo_mysql (ou mysqli) et mbstring doivent apparaitre. Si sockets est absent :
# Debian / Ubuntu
apt-get install php-sockets
# CentOS / RHEL (remplacer X par votre version de PHP)
yum install php-X-sockets
# Puis recharger Apache
service apache2 reload # ou : service httpd reload
fsockopen() et les sockets UDP directement. La fonction allow_url_fopen doit etre activee dans php.ini (valeur par defaut : On).3. Creer la base de donnees MySQL via VestaCP
- Connectez-vous au panel VestaCP : https://{{IP_NOUVEAU}}:8083
- Cliquez sur l’onglet DB dans la barre superieure.
- Cliquez sur le bouton vert Add Database.
- Remplissez le formulaire :
| Champ | Valeur recommandee |
|---|---|
| Database | lgsl (VestaCP prefixe automatiquement : admin_lgsl) |
| User | lgsl (prefixe : admin_lgsl) |
| Password | Choisissez un mot de passe fort |
| Host | localhost |
| Charset | utf8mb4 |
Cliquez sur Add. VestaCP cree la base et l’utilisateur. Notez les informations :
- Nom de la base :
admin_lgsl - Utilisateur :
admin_lgsl - Mot de passe : (celui que vous avez saisi)
- Host :
localhost
admin_). Tenez-en compte lors de la configuration de LGSL.4. Telecharger et installer LGSL
4.1 Connexion SSH
ssh -p {{PORT_SSH_NOUVEAU}} {{USER_VESTA}}@{{IP_NOUVEAU}}
4.2 Creer le dossier cible
mkdir -p /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl
4.3 Telecharger LGSL v6.2.1
cd /tmp
# Telecharger l'archive depuis GitHub
wget -O lgsl-6.2.1.zip \
https://github.com/tltneon/lgsl/archive/refs/tags/v6.2.1.zip
wget n’est pas disponible, utilisez curl -L -o lgsl-6.2.1.zip https://github.com/tltneon/lgsl/archive/refs/tags/v6.2.1.zip4.4 Extraire et copier les fichiers
# Extraire
unzip lgsl-6.2.1.zip
# Le dossier extrait s'appelle lgsl-6.2.1
# Copier tout son contenu dans le sous-dossier lgsl du site
cp -r lgsl-6.2.1/. /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/
# Nettoyer
rm -rf /tmp/lgsl-6.2.1 /tmp/lgsl-6.2.1.zip
4.5 Verifier les permissions
# Le proprietaire doit etre l'utilisateur web (admin sous VestaCP)
chown -R {{USER_VESTA}}:{{USER_VESTA}} /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/
# Permissions standards
find /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/ -type d -exec chmod 755 {} \;
find /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/ -type f -exec chmod 644 {} \;
4.6 Verifier la structure
ls /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/
Vous devriez voir, entre autres : index.php, install.php, admin.php, lgsl_config.php, lgsl/ (dossier du moteur), themes/.
5. Configuration initiale via install.php
Ouvrez votre navigateur et accedez a :
http://{{DOMAINE_GAMING}}/lgsl/install.php
Le script d’installation vous demande les informations de connexion MySQL. Remplissez le formulaire :
| Champ | Valeur |
|---|---|
| Database Host | localhost |
| Database Name | admin_lgsl |
| Database User | admin_lgsl |
| Database Password | (votre mot de passe) |
| Table Prefix | lgsl_ (valeur par defaut, laisser tel quel) |
| Admin Password | Choisissez un mot de passe pour admin.php |
Cliquez sur Install. LGSL cree les tables dans la base de donnees et genere le fichier lgsl_config.php.
admin_ ajoute par VestaCP.Verification manuelle du fichier de configuration
Apres l’installation, vous pouvez inspecter le fichier genere :
cat /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/lgsl_config.php
Il doit contenir les constantes DB_HOST, DB_NAME, DB_USER, DB_PASS correctement renseignees.
6. Supprimer install.php (securite obligatoire)
install.php accessible apres l’installation est un risque de securite majeur. N’importe qui pourrait reinitialiser votre configuration. Supprimez-le immediatement apres l’installation.rm /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/install.php
Verifiez que la suppression est effective :
ls /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/install.php
# Doit retourner : No such file or directory
7. Ajouter les serveurs via admin.php
Accedez a l’interface d’administration :
http://{{DOMAINE_GAMING}}/lgsl/admin.php
Connectez-vous avec le mot de passe admin choisi lors de l’installation.
7.1 Tableau de configuration des serveurs
Ajoutez chaque serveur via Add Server en utilisant les parametres suivants :
| # | Nom | Protocole | IP / Host | Port jeu | Port query |
|---|---|---|---|---|---|
| 1 | CS 1.6 Deathmatch | halflife |
{{IP_NOUVEAU}} |
27015 |
27015 |
| 2 | CS 1.6 GunGame | halflife |
{{IP_NOUVEAU}} |
27016 |
27016 |
| 3 | CS 1.6 Deathrun | halflife |
{{IP_NOUVEAU}} |
27017 |
27017 |
| 4 | CS 1.6 HNS | halflife |
{{IP_NOUVEAU}} |
27018 |
27018 |
| 5 | CS 1.6 Kreedz | halflife |
{{IP_NOUVEAU}} |
27019 |
27019 |
| 6 | CS 1.6 WAR | halflife |
{{IP_NOUVEAU}} |
27020 |
27020 |
| 7 | CS 1.6 Retro (CS 1.0) | halflife |
{{IP_NOUVEAU}} |
27021 |
27021 |
| 8 | CS 1.6 Surf | halflife |
{{IP_NOUVEAU}} |
27022 |
27022 |
| 9 | TeamSpeak 3 (principal) | ts3 |
{{IP_NOUVEAU}} |
9987 |
10011 |
| 10 | TeamSpeak 3 (secondaire) | ts3 |
{{IP_NOUVEAU}} |
9988 |
10011 |
halflife utilise le protocole Valve A2S (UDP). Le port query est generalement identique au port de jeu pour CS 1.6.7.2 Particularites TeamSpeak 3
Pour TS3, LGSL a besoin d’acceder au port ServerQuery (10011) en TCP. Ce port est distinct du port vocal (9987 UDP). Dans le formulaire d’ajout :
- Game Port :
9987(port vocal TS3) - Query Port :
10011(port ServerQuery TCP) - Protocol :
ts3
Le port 10011 doit etre joignable depuis PHP. Voir la section 10 pour le cas particulier d’un TS3 tourne dans Docker.
8. EmuLinker / Kaillera — patch personnalise LGSL
LGSL ne supporte pas nativement le protocole EmuLinker / Kaillera. Il n’existe pas de plugin officiel pour ce protocole dans LGSL v6.x. Nous avons cree un patch qui ajoute le support Kaillera directement dans lgsl_protocol.php, en utilisant le handshake beacon du protocole Kaillera (HELLO0.83).
8.1 Principe du protocole
Le protocole Kaillera utilise UDP en deux phases :
- Beacon (detection online) : le client envoie
HELLO0.83\x00sur le port UDP du serveur, qui repondHELLOD00D{port}\x00avec un port prive - Protocole v086 (donnees completes) : sur le port prive, le client effectue un mini-login binaire (UserInfo → echange ACK → ServerStatus) pour recuperer la liste des joueurs connectes (noms, ping, statut) et des parties en cours
LGSL utilise le beacon pour la detection online/offline, et un script Python cron (kaillera_poll.py) pour le protocole v086 complet qui ecrit les donnees joueurs dans un fichier JSON.
8.2 Sauvegarde avant modification
lgsl_protocol.php :cp /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/lgsl_protocol.php \
/home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/lgsl_protocol.php.bak
8.3 Script de patch
Ce script PHP ajoute 6 elements au fichier lgsl_protocol.php (apres les entrees teaspeak) sans modifier le code existant :
');
if ($pos !== false) {
$code = substr($code, 0, $pos) . $function . "\n?>";
} else {
$code .= $function;
}
file_put_contents($file, $code);
echo "Patch Kaillera applique avec succes !\n";
kaillera). Il est donc sans danger de le relancer.8.4 Ajouter le serveur dans LGSL
Apres avoir applique le patch, ajoutez le serveur Kaillera via le panneau d’administration LGSL :
| Champ | Valeur |
|---|---|
| Type | kaillera |
| IP | 127.0.0.1 |
| Port (c_port) | 27888 |
| Port query (q_port) | 27888 |
127.0.0.1 car EmuLinker tourne avec network_mode: host dans Docker, donc il ecoute directement sur l’interface locale du serveur.8.5 Icone personnalisee
LGSL affiche une icone pour chaque type de serveur. Les icones sont des fichiers GIF 64×64 pixels stockes dans icons/{type}/{type}.gif. Pour Kaillera, il faut creer le dossier et generer l’icone :
mkdir -p /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/icons/kaillera
Script PHP pour generer une icone manette retro (style NES) avec un « K » pour Kaillera :
Pour les noms de joueurs et le nombre en temps reel, voir la section 8.7 ci-dessous.
8.7 Nombre de joueurs en temps reel (protocole v086)
Le beacon HELLO0.83 ne retourne aucune donnee sur les joueurs.
Pour obtenir les noms, ping et statut des joueurs en temps reel,
un script Python (kaillera_poll.py) implemente le protocole binaire Kaillera v086 complet :
- Envoie
HELLO0.83→ recoit le port prive - Se connecte au port prive et envoie un
UserInformation(type 0x03) - Echange des paquets
ACK(types 0x05/0x06) pour mesurer le ping - Recoit le paquet
ServerStatus(type 0x04) contenant la liste complete des joueurs et parties - Envoie un
Quit(type 0x01) propre et se deconnecte
Le script ecrit le resultat dans lgsl_kaillera_status.json que lgsl_query_49 lit directement.
8.7.1 Architecture
[LGSL requete web] → lgsl_query_49()
├── Beacon HELLO (detection online)
├── JSON perime (> 30s) ou absent ?
│ ├── OUI → declenche kaillera_poll.py via shell_exec()
│ │ ├── Protocole v086 complet → users + games
│ │ ├── Filtre le bot "lgsl_poll" de la liste
│ │ └── Ecrit lgsl_kaillera_status.json (ecriture atomique)
│ └── NON → lecture directe du JSON existant
├── Lecture lgsl_kaillera_status.json
│ ├── Frais (< 60s) → noms + ping + statut
│ └── Perime → fallback master server kaillera.com
└── Affichage dans LGSL
8.7.2 Deploiement du script
Le script kaillera_poll.py est inclus dans le fork GitHub
(smkerz/lgsl-kaillera)
dans le dossier lgsl_files/.
Copier le script dans le dossier LGSL du serveur :
cp kaillera_poll.py /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/
chmod +x /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/kaillera_poll.py
Test manuel :
python3 /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/kaillera_poll.py \
--ip 127.0.0.1 --port 27888
# Verifier le JSON produit
cat /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/lgsl_kaillera_status.json
Le JSON contient pour chaque joueur : nom, ping, statut (0=Idle, 1=Playing, 2=Away), ID et type de connexion.
8.7.3 Verification
- Connectez-vous au serveur Kaillera avec un client (ex: Kaillera P2P ou SupraclientC)
- Rechargez la page LGSL — la requete declenche
kaillera_poll.pyautomatiquement si le JSON est absent ou perime (> 30s). Verifiez ensuite le JSON :cat /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl_files/lgsl_kaillera_status.jsonVotre nom doit apparaitre dans la liste
users. - Le compteur doit afficher
1/100et votre nom dans la liste des joueurs. - Deconnectez-vous du serveur Kaillera, rechargez la page LGSL, verifiez que le compteur revient a
0/100.
--ip (defaut: 127.0.0.1),--port (defaut: 27888),--output (chemin du JSON),--username (nom du bot, defaut: lgsl_poll — filtre de la liste des joueurs).8.7.4 Depannage
| Probleme | Cause | Solution |
|---|---|---|
Poll failed: timed out |
EmuLinker ne repond pas sur le port 27888 | Verifier que le conteneur tourne : docker ps | grep emulinker |
Poll failed: Server is full |
Le serveur a atteint server.maxUsers |
Augmenter server.maxUsers dans emulinker.cfg |
Never received ServerStatus |
Le serveur n’envoie pas le paquet 0x04 | Verifier la version EmuLinker et les logs du conteneur |
| JSON montre 0 joueurs alors qu’il y en a | kaillera_poll.py absent ou shell_exec() desactive |
Verifier que kaillera_poll.py est dans le dossier LGSL et que shell_exec est autorise dans php.ini |
| LGSL affiche 0/100 malgre un JSON correct | JSON trop ancien (> 60s) ou chemin incorrect | Verifier que le JSON est dans le meme dossier que lgsl_protocol.php |
9. Personnalisation
9.1 Changer la langue en francais
Editez le fichier lgsl_config.php et cherchez la ligne de configuration de la langue :
nano /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/lgsl_config.php
Modifiez ou ajoutez :
define('LGSL_LANGUAGE', 'fr');
Verifiez que le fichier de langue francais existe :
ls /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/lgsl/languages/
9.2 Changer le theme
Les themes sont dans le dossier themes/. Pour appliquer un theme, editez lgsl_config.php :
define('LGSL_THEME', 'default'); // Remplacez 'default' par le nom du dossier du theme
9.3 CSS personnalise
Pour personnaliser l’apparence sans modifier les fichiers du theme (afin de faciliter les mises a jour), creez un fichier CSS personnalise dans le dossier du theme actif :
nano /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/themes/default/custom.css
Puis incluez-le dans le template du theme (themes/default/header.php ou equivalent) :
9.4 Intervalle de rafraichissement
Dans lgsl_config.php, l’intervalle de cache (en secondes) entre deux interrogations des serveurs :
define('LGSL_CACHE_TIME', 60); // 60 secondes par defaut
10. Probleme courant : port ServerQuery TS3 (10011)
Contexte du probleme
Si votre TeamSpeak 3 tourne dans un conteneur Docker, le fichier docker-compose.yml lie probablement le port ServerQuery 10011 uniquement a l’interface locale du conteneur ou a 127.0.0.1 de l’hote :
# Exemple de configuration docker-compose.yml restrictive
ports:
- "127.0.0.1:10011:10011" # Query TCP - lie a localhost uniquement
- "0.0.0.0:9987:9987/udp" # Vocal UDP - accessible publiquement
Pourquoi LGSL peut quand meme fonctionner
Dans votre configuration, Apache et PHP s’executent directement sur l’hote (pas dans un conteneur). Le PHP de LGSL peut donc atteindre 127.0.0.1:10011 car ce port est expose sur l’interface loopback de l’hote, et PHP tourne sur ce meme hote.
Si LGSL etait lui aussi dans Docker
Si LGSL tournait dans son propre conteneur Docker, il ne pourrait PAS atteindre 127.0.0.1:10011 de l’hote via cette adresse. Il faudrait alors :
- Soit lier le port TS3 a
0.0.0.0:10011dans le docker-compose (expose publiquement) - Soit placer les deux conteneurs sur le meme reseau Docker et utiliser le nom du service TS3 comme hostname
- Soit utiliser l’IP interne du reseau Docker bridge (
172.17.0.1par defaut)
Verifier que le port 10011 est accessible depuis PHP
# Depuis l'hote, tester la connexion TCP au port ServerQuery
nc -zv 127.0.0.1 10011
# Reponse attendue : Connection to 127.0.0.1 10011 port [tcp/*] succeeded!
Ou via PHP en ligne de commande :
php -r "
\$fp = fsockopen('127.0.0.1', 10011, \$errno, \$errstr, 5);
if (\$fp) {
echo 'Port 10011 accessible' . PHP_EOL;
fclose(\$fp);
} else {
echo 'ERREUR : ' . \$errstr . PHP_EOL;
}
"
Si le port 10011 n’est pas accessible
Modifiez votre docker-compose.yml pour exposer le port sur toutes les interfaces :
ports:
- "10011:10011" # Accessible depuis l'hote sur toutes les interfaces
- "9987:9987/udp"
Puis relancez le conteneur :
cd /chemin/vers/votre/teamspeak/
docker-compose down && docker-compose up -d
Configurer les permissions ServerQuery pour LGSL
Meme si le port 10011 est accessible, LGSL peut afficher les serveurs TS3 en rouge / hors ligne si les permissions ServerQuery ne sont pas correctement configurees.
Le probleme
LGSL se connecte au ServerQuery sans authentification. Il est donc affecte au groupe Guest Server Query. Par defaut, ce groupe n’a pas la permission d’executer la commande serverinfo, ce qui provoque l’erreur :
error id=2568 msg=insufficient\sclient\spermissions failed_permid=25
Piege : identifier le bon groupe
Les groupes ServerQuery (type=2) dans TeamSpeak ont des ID parfois contre-intuitifs :
| sgid | Nom | Type | Role |
|---|---|---|---|
| 1 | Guest Server Query | 2 (ServerQuery) | Connexions non authentifiees (LGSL) |
| 2 | Admin Server Query | 2 (ServerQuery) | Connexions authentifiees (serveradmin) |
Permissions requises
LGSL a besoin de 3 permissions pour interroger un serveur virtuel TeamSpeak 3 :
| Permission | Commande TS3 | Usage LGSL |
|---|---|---|
b_virtualserver_info_view (permid=25) |
serverinfo |
Nom du serveur, joueurs, slots, uptime |
b_virtualserver_select |
use port=XXXX |
Selectionner le serveur virtuel par port |
b_virtualserver_client_list |
clientlist |
Liste des joueurs connectes |
Appliquer les permissions
Les permissions doivent etre accordees sur chaque serveur virtuel (sid). Utilisez ce script PHP depuis le serveur :
php -r '
$fp = @fsockopen("tcp://{{IP_NOUVEAU}}", 10011, $errno, $errstr, 2);
stream_set_timeout($fp, 2);
fread($fp, 4096); fread($fp, 4096);
fwrite($fp, "login serveradmin MOT_DE_PASSE\n");
fread($fp, 4096);
// Pour chaque serveur virtuel (sid=1, sid=2, etc.)
foreach ([1, 2] as $sid) {
fwrite($fp, "use sid=$sid\n");
fread($fp, 4096);
fwrite($fp, "servergroupaddperm sgid=1 permsid=b_virtualserver_info_view permvalue=1 permnegated=0 permskip=0\n");
echo "sid=$sid info_view: " . trim(fread($fp, 4096)) . "\n";
fwrite($fp, "servergroupaddperm sgid=1 permsid=b_virtualserver_select permvalue=1 permnegated=0 permskip=0\n");
echo "sid=$sid select: " . trim(fread($fp, 4096)) . "\n";
fwrite($fp, "servergroupaddperm sgid=1 permsid=b_virtualserver_client_list permvalue=1 permnegated=0 permskip=0\n");
echo "sid=$sid client_list: " . trim(fread($fp, 4096)) . "\n";
}
fclose($fp);
'
MOT_DE_PASSE par le mot de passe serveradmin, et adaptez la liste [1, 2] selon vos serveurs virtuels. Chaque ligne doit retourner error id=0 msg=ok.Verifier que LGSL peut interroger TS3
Testez en simulant exactement le comportement de LGSL (connexion non authentifiee, timeout 0.5s) :
php -r '
$fp = @fsockopen("tcp://{{IP_NOUVEAU}}", 10011, $errno, $errstr, 2);
stream_set_timeout($fp, 0, 500000);
stream_set_blocking($fp, TRUE);
$b = fread($fp, 4096);
echo "Banner: " . (strpos($b, "TS") !== FALSE ? "OK" : "FAIL") . "\n";
fread($fp, 4096);
fwrite($fp, "use port=9987\n");
$r = fread($fp, 4096);
echo "Use: " . trim($r) . "\n";
fwrite($fp, "serverinfo\n");
$r = fread($fp, 4096);
echo "Serverinfo: " . substr(trim($r), 0, 120) . "\n";
fclose($fp);
'
Resultat attendu : la ligne Serverinfo: doit afficher les informations du serveur (nom, joueurs, etc.) et non une erreur de permission.
Diagnostic : lister les groupes ServerQuery
En cas de doute sur les ID de groupes, connectez-vous en serveradmin et listez les groupes :
# Apres login + use sid=1 :
servergrouplist
# Les groupes de type=2 sont les groupes ServerQuery
# sgid=1 type=2 → Guest Server Query (connexions non authentifiees)
# sgid=2 type=2 → Admin Server Query (apres login serveradmin)
11. Verification du fonctionnement
11.1 Verifier l’affichage de la liste
Ouvrez dans un navigateur :
http://{{DOMAINE_GAMING}}/lgsl/
Vous devriez voir la liste des serveurs avec leur statut. Les serveurs allumes affichent le nombre de joueurs et la carte.
11.2 Tester l’interrogation d’un serveur CS 1.6 manuellement
# Tester la joignabilite UDP du port 27015
nc -uzv {{IP_NOUVEAU}} 27015
# Ou avec nmap
nmap -sU -p 27015 {{IP_NOUVEAU}}
11.3 Verifier les logs PHP / Apache
# Logs Apache pour le domaine
tail -50 /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/log/error.log
# Logs Apache access
tail -50 /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/log/access.log
11.4 Tester depuis PHP
Creez un script de test temporaire /home/{{USER_VESTA}}/web/{{DOMAINE_GAMING}}/public_html/lgsl/test_query.php :
0 commentaire