Table des matières

Classe TeeworldsSrv

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.

Code exemple

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>';

Attributs

$sSrvHost

Adresse du serveur (DNS ou IP).

$iSrvPort

Port du serveur.

$sInfoVersion

Version de Teeworlds exécutée.

$sInfoName

Nom du serveur.

$sInfoMap

Carte en cours.

$sInfoGameType

Type de partie.

$iInfosFlags

:?: Je n'ai pas encore bien compris la signification de cet attribut.

$iInfoProgression

:?: Je n'ai pas encore bien compris la signification de cet attribut.

$iInfoNumPlayers

Nombre de joueurs connectés.

$iInfoMaxPlayers

Nombre de joueurs maximal.

$aPlayers

Tableau des joueurs connectés.

$iSockErrNo

Numéro de l'erreur si l'ouverture de la socket échoue.

$sSockErrStr

Message d'erreur si l'ouverture de la socket échoue.

Méthodes

__construct

public function __construct( $sServerAddress, $iServerPort = 8303 )

readSrvInfos

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.

getVersion

Lire le numéro de version du serveur.

getName

Lire le nom du serveur.

getMap

Lire le nom de la carte en cours.

getGameType

Lire le type de partie.

getFlags

Lire les drapeaux.

getProgression

Lire la progression.

getNumPlayers

Lire le nombre de joueurs connectés.

getMaxPlayers

Lire le nombre de joueurs autorisés.

getPlayers

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'];