Cette classe fournit les méthodes nécessaires pour lire les informations d'un serveur Teeworlds.
Le code de cette classe est une adaptation d'un script Python écrit par l'équipe de développement de Teeworlds.
Ci-après la mise en oeuvre de la classe :
$oTwSrv = new TeeworldsSrv( 'ip du serveur', 8303 ); $sError = $oTwSrv->readSrvInfos(); if( empty($sError) ) { echo '<pre>'; echo 'Nom : '.$oTwSrv->getName(),"\n"; echo 'Version : '.$oTwSrv->getVersion(),"\n"; echo 'Type : '.$oTwSrv->getGameType(),"\n"; echo 'Map : '.$oTwSrv->getMap(),"\n"; echo 'Flags : '.$oTwSrv->getFlags(),"\n"; echo 'Progression : '.$oTwSrv->getProgression(),"\n"; echo 'Joueurs : '.$oTwSrv->getNumPlayers(),'/',$oTwSrv->getMaxPlayers(),"\n"; echo 'Liste des joueurs :'."\n"; print_r($oTwSrv->getPlayers()); echo '</pre>'; } else echo '<p>'.$sError.'</p>';
Adresse du serveur (DNS ou IP).
Port du serveur.
Version de Teeworlds exécutée.
Nom du serveur.
Carte en cours.
Type de partie.
Je n'ai pas encore bien compris la signification de cet attribut.
Je n'ai pas encore bien compris la signification de cet attribut.
Nombre de joueurs connectés.
Nombre de joueurs maximal.
Tableau des joueurs connectés.
Numéro de l'erreur si l'ouverture de la socket échoue.
Message d'erreur si l'ouverture de la socket échoue.
public function __construct( $sServerAddress, $iServerPort = 8303 )
public function readSrvInfos()
Lire l'état du serveur. La méthode effectue la connexion au serveur et enregistre les informations lues dans les différents attributs de la classe.
En cas d'erreur, la chaîne retour de la méthode n'est pas vide et contient le message d'erreur.
La méthode peut échouer et ne pas renvoyer de message d'erreur. Dans ce cas, il convient d'analyser le contenu des attributs $iSockErrNo et $sSockErrStr.
Lire le numéro de version du serveur.
Lire le nom du serveur.
Lire le nom de la carte en cours.
Lire le type de partie.
Lire les drapeaux.
Lire la progression.
Lire le nombre de joueurs connectés.
Lire le nombre de joueurs autorisés.
Lire le tableau des utilisateurs.
Exemple : récupérer les infos du 4e utilisateur
$aPlayers = $oSrv->getPlayers(); echo $aPlayers[3]['name']; echo $aPlayers[3]['score'];