Afficher les joueurs de son serveur Minecaft et si ils sont connectés
Première vidéo de ma chaine Youtube. J’espère que ça vous plaira.
C’est un premier tuto sur Minecraft qui explique comment générer un array qui va contenir le pseudo d’un joueur Minecraft avec sont uuid, un grade et si il est connecté…
Ainsi on pourra appelé cette page en Ajax et affiché les joueurs du serveur sur la page de votre site…
Lien du projet Github pour télécharger la class PHP qui permet d’avoir des info sur le serveur Minecraft et voir les joueurs connectés: https://github.com/xPaw/PHP-Minecraft-Query/blob/master/view.php
Je précise que c’est un exemple et que ça peut être amélioré!!!
Le code:
// Edit this -> define( 'MQ_SERVER_ADDR', 'simonbhb.fr' ); define( 'MQ_SERVER_PORT', 25565 ); define( 'MQ_TIMEOUT', 1 ); // Edit this <- // ---------- ---------- ---------- ---------- ---------- include 'MinecraftQuery.php'; $Query = new MinecraftQuery(); try { $Query->Connect( MQ_SERVER_ADDR, MQ_SERVER_PORT, MQ_TIMEOUT ); } catch( MinecraftQueryException $e ) { $Exception = $e; } $Players = $Query->GetPlayers( ); $GetInfo = $Query->GetInfo( ); // krumo($GetInfo); // Info serveur minecraft // var_dump($Players); // Joueur connecté // ---------- ---------- ---------- ---------- ---------- $whitelist = json_decode(file_get_contents("/home/simonbhb/minecraft/serveur/1.9/whitelist.json")); // krumo($whitelist); $ops = json_decode(file_get_contents("/home/simonbhb/minecraft/serveur/1.9/ops.json")); // krumo($ops); // ---------- ---------- ---------- ---------- ---------- $grade = "Joueur"; foreach ($whitelist as $key => $value) { if($Players != FALSE) { if(in_array($value->name, $Players)) { $array_joueurs[$value->uuid]['statut'] = "Connecté"; } else { $array_joueurs[$value->uuid]['statut'] = "Hors ligne"; } } else { } $array_joueurs[$value->uuid]['uuid'] = $value->uuid; $array_joueurs[$value->uuid]['grade'] = $grade; $array_joueurs[$value->uuid]['name'] = $value->name; } // ---------- ---------- ---------- ---------- ---------- $grade = "Admin"; foreach ($ops as $key => $value) { if($Players != FALSE) { if(in_array($value->name, $Players)) { $array_joueurs[$value->uuid]['statut'] = "Connecté"; } else { $array_joueurs[$value->uuid]['statut'] = "Hors ligne"; } } else { } $array_joueurs[$value->uuid]['uuid'] = $value->uuid; $array_joueurs[$value->uuid]['grade'] = $grade; $array_joueurs[$value->uuid]['name'] = $value->name; } // ---------- ---------- ---------- ---------- ---------- ?> <pre> <?php var_dump($array_joueurs); ?> </pre>
Tous les codes sont testés et sont fonctionnels, si il arrive qu'un de ces codes ne fonctionne pas chez vous, merci de me le signaler.