I- INTRODUCTION
Bien le bonjour, aujourd’hui je rédige ce tutoriel pour vous permettras de faire une liaison entre votre serveur bukkit et votre site, vous pourrez alors affichier sur votre site le nombre de joueurs en ligne, nombre de joueurs maximum…
II- PRÉS REQUIS
- Posséder un serveur Minecraft CraftBukkit
- Posséder un hébergement web
- L’extension Curl doit être activer sur votre site Internet. (pour connaitre si votre extension est activer, créez un fichier en PhP et mettez ce bout de code « <?php phpinfo(); ?> » et rechercher la ligne « Curl »)
- Quelques connaissances en PhP sont requises
- Le plugins Jsonapi ainsi que le fichier PhP
- Le serveur FTP est requis afin de mettre en ligne vos fichiers, généralement il est inclus dans votre hébergement web.
1] Installation et configuration du plugins Jsonapi
Vous devrez vous rendre dans votre espace ftp puis vous vous rendrez dans « Plugins » ensuite vous glisserez votre plugins dedans.
Redémarrez votre serveur, puis des fichiers devront apparaitre.
2] Configuration du plugins
Rendez-vous maintenant dans le dossier plugins de votre serveur chercher le dossier JSONAPI, puis ouvrez « config.yml ».
Vous devez voir apparâitre ceci :
method-whitelist: // Les méthodes qui seront utilisés
- getPlayerLimit
- dynmap.getPort
logins:
votrenomd'utilisateur: votremotdepasse
options:
startup-delay: 2000
port: 20059 // Demandez un port LIBRE et EXCLUSIF via le formulaire contact
ip-whitelist: []
log-to-console: true // Si "true" toutes les actions effectués par le plugins seront indiqués dans la console
log-to-file: 'false' // Si "true" toutes les actions effectués par le plugins seront enregistrés dans vos logs
salt: 'inscrivez votre salt' // Le "salt" est une sorte de second mot de passe
anyone-can-use-calladmin: true
server-name: 'default' // Le nom de votre serveur
Commencez par modifier le « usernameGoesHere » et renseigner un nom d’utilisateur faites pareil pour le mot de passe ainsi que le « salt ».
Une fois complété, faite un redémarrage du serveur.
3] Configuration partie site
Rendez-vous désormais dans votre espace web puis transfèrer le fichier préalablement télécharger « JSONAPI.php » dans votre ftp et créer un autre fichier php. Ouvrez-le et insérer dedans ce code :
<?phprequire('JSONAPI.php'); // get this file at: https://github.com/alecgorge/jsonapi/raw/master/sdk/php/JSONAPI.php$ip = "localhost"; // Ip du serveur$port = 20059; //port du plugin (par défaut : 20059)$utilisateur = "root"; //nom d'utilisateur$motdepasse ="root"; //mot de passe$salt ="salt"; $api = new JSONAPI($ip, $port, $utilisateur, $motdepasse, $salt);// on affiche le nombre de joueurprint_r($api->call("getPlayerCount"));?>
Une fois ceci fais, enregistrez votre fichier puis vous devriez obtiendre ceci:
Array( [result] => success [source] => getPlayerCount [success] => 0)
Malheureusement, si vous obtenez cela:
Array( [result] => error [error] => Invalid API key. [source] => getPlayerCount)
C’est que vous avez fait une erreur dans la configuration du fichier.
4] Récupérer des données du serveur
Comme vous l’aurez compris, le code que je vous ai fait faire permet d’afficher le nombre de joueur.
Pour commencer on va modifier ce code :
print_r($api->call("getPlayerCount"));
Et mettre en place celui-ci
$PlayerCount = $api->call("getPlayerCount");print_r($PlayerCount["success"]);
Si votre serveur Minecraft est vide, vous devrez remarquer ce résultat:
0
Exemple d’utilisation:
Les informations du serveur
Je vous propose ce petit bout de code que j’ai créer avec l’utilisation de quelque méthodes utiles:
<?phprequire('JSONAPI.php'); // get this file at: https://github.com/alecgorge/jsonapi/raw/master/sdk/php/JSONAPI.php$ip = "localhost"; // Ip du serveur$port = 20059; //port du plugin (par défaut : 20059)$utilisateur = "root"; //nom d'utilisateur$motdepasse ="root"; //mot de passe$salt ="salt";$api = new JSONAPI($ip, $port, $utilisateur, $motdepasse, $salt);$PlayerCount = $api->call("getPlayerCount");$PlayerLimit = $api->call("getPlayerLimit");$ServerVersion = $api->call("getServer");echo "Ip : $ip " ; echo " Etat : ";if ($ServerVersion["success"] == '') { echo "Serveur hors ligne "; } else { echo "Serveur en ligne "; echo ' Nom du serveur : '; print_r($ServerVersion["success"]["serverName"]); echo " Nombre de joueur : "; print_r($PlayerCount["success"]); echo "/"; print_r($PlayerLimit["success"]); echo ' Version du Serveur : '; print_r($ServerVersion["success"]["version"]); echo ''; } ?>
Ne vous inquiéter pas, toutes les méthodes sont disponible ici
Si vous rajouter ce code:
$PlayerNames = $api->call("getPlayerNames");
Vous pourrez avoir alors les pseudos des joueurs connectés sur votre serveur Minecraft.
Nous pouvons même aller plus loin en ajoutant ce bout de code permettant de récupérer les skins des joueurs connectés:
foreach ($PlayerNames["success"] as $value) {
echo"<img src=\"https://minotar.net/avatar/$value/32.png\" alt=\"$value\" title=\"$value\"> $value";
} }
Nous restons à votre entière disposition.
Cordialement,