mectrankil78700
Messages postés102Date d'inscriptionmardi 9 novembre 2010StatutMembreDernière intervention13 octobre 2014
-
6 févr. 2013 à 23:00
Bonjour,
J'ai dernièrement appris le php, par le biais d'une formation en BTS, et voilà ce que j'ai voulu faire. Mais comme je ne suis pas encore très avancé dans ce langage, j'ai cherché sur google comment créer un Statut pour un serveur minecraft sur un site web.
Après avoir vu le code, plusieurs lignes de codes me sont encore étrangères.
Cependant, j'ai tout de même réussi a faire fonctionner ce code.
Mais mon problème arrive lors de la requête des joueurs connectés et max.
Mon code :
--> voir tout à la fin, pour vous éviter de jongler entre le début et la fin de ma question.
Une partie de mon code a été mis en commentaire car il s'agit de la parti buggée.
Ma question est simple : "Où est mon erreur et comment la corrigée" ?
<!-- Test de la connexion -->
<?php
/* Adresse du serveur */
$address = "91.236.239.49";
/* Port du serveur */
$port = 25699;
$port2 = '<i style="color:green;">' . $port . '</i>';
/* Timeur du test */
$timeout = 1;
$query = array();
$beginning_time = microtime(true);
$socket = @fsockopen($address, $port, $errno, $errstr, $timeout);
if($socket == TRUE){
$query['status'] = '<img class="img-statut"src="img/statut/on.png"/>';
$end_time = microtime(true);
fwrite($socket, "QUERY\n");
$response = "";
while(!feof($socket)) {
$response .= fgets($socket, 1024);
}
$response = explode("\n", $response);
/* Parti de code ne voyant pas d'utilité :) *
// Server port
$query['serverPort'] = explode(" ", $response[0], 2);
$query['serverPort'] = $query['serverPort'][1];
*
*/
/* Partie Bugger et que je cherche à faire fonctionner ! *
// Player count
$query['playerCount'] = explode(" ", $response[1], 2);
$query['playerCount'] = $query['playerCount'][1];
// Max players
$query['maxPlayers'] = explode(" ", $response[2], 2);
$query['maxPlayers'] = $query['maxPlayers'][1];
// Player list
$query['playerList'] = explode(" ", $response[3], 2);
$query['playerList'] = explode(", ", trim($query['playerList'][1], "[]"));
*
*/
// Ping
$query['latency'] = ($end_time - $beginning_time) * 1000;
// Troncation du ping : "le der nier chiffer après
// la virgule sera détermnié par n, tel que => number_format ( $ma_variable, n)"
$query['latency'] = number_format ( $query['latency'] , 0);
// IP du serveur
$query['ip_server'] = $address;
}
else{
$query['status'] = '<img class="img-statut"src="img/statut/off.png"/>';
$ping = '<i style="color:red;">Pas de connexion, dsl!</i>';
$address2 = '<i style="color:red;">' . $address . '</i>';
$port2 = '<i style="color:red;">Pas de connexion, dsl!</i>';
}
?>
/* Affiche le résultat de la requête pour les joueurs connectés et max *
echo 'Joueurs connectés : ' . $query['playerCount'] . '/' . $query['maxPlayers'] . '<br />';
echo 'Joueur en ligne en ce moment: ' . $query['playerList'];
*
*/