Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

  • Annonces

    • Pskyco

      Bukkit France passe sous Discord !   02/20/16

      Bukkit France est désormais passé sur Discord, au revoir donc notre vieux Teamspeak ! Téléchargez le client et venez nous rejoindre sur notre salon en suivant les instructions suivantes.
      M-à-j du 25/02/2017 : Désormais, seuls les comptes actifs sur le forum se verront donner l'accès au Discord, ce dernier n'est pas une plateforme d'aide de la même manière que le chat.
WWC

[JSONAPI] Configurer et relier serveur Minecraft / serveur Web

1 message dans ce sujet

Une version vidéo est en cours de tournage !

 

Bonjour à tous,

Tout d'abord, je voudrais que vous soyez indulgent sur le tutoriel car c'est mon premier ;) !

Sur ce, place au tuto !

 

JSONAPI :

 

1) Téléchargement

2) Configuration côté Minecraft

3) Configuration côté Web

4) Prise en main du JSON

5) Prise en main de L'API

 

Pré requis :

  - Un serveur sous CraftBukkit

  - Un hébergeur qui autorise l'utilisation des ports (ou hébergement local)

  - Des connaissances en PHP ou/et en JavaScript

  - Un hébergeur Web (ou hébergement local)

  - Le plugin ProtocolLib

  - Le plugin Vault

  - L'extension cURL sur votre hébergement ou serveur

 

1) Téléchargement

  - Rendez-vous sur le site de JSONAPI (http://www.mcjsonapi.com).

  - Téléchargez le fichier JAR, de la version qu'il vous convient !

  - Téléchargez ensuite les SDK qu'il vous faut (moi j'utilise PHP et JavaScript)

 

2) Configuration côté Minecraft

  - Dans le dossier Plugins de votre serveur Mnecraft Craftbukkit, mettez le fichier JAR de JSONAPI.

  - Démarrez/Relancez votre serveur

  - Configuration:

# API methods on the method-whitelist will be# able to called without any sort of authenticationmethod-whitelist:- getPlayerLimit- dynmap.getPortoptions:  stream_pusher:    max_queue_age: 30    max_queue_length: 500  startup-delay: 2000  port: 20059  ip-whitelist: []  log-to-console: true  log-to-file: 'false'  anyone-can-use-calladmin: true  use-new-api: true

Dans config.yml, concrètement, method-whitelist ne sert pas à grand chose, on ne touche pas à stream_pusher et startup-delay, en revanche, le port on peut le changer. Je vous conseille de ne pas le toucher, par contre votre hébergeur peut imposer des ports autorisé, et dans ce cas, vous serez obligés. ip-whitelist sert à définir les IPs qui pourront accéder au plugin. Le reste, ne le touchez pas.

users:- username: admin  password: changeme  logging: true  groups:  - full_control- username: chatonly  password: example  logging: true  groups:  - chat_only

En gros, c'est pour la sécurité. Pour une utilisation simple, changez juste le "changeme" ligne 3 (et/ou le "admin" ligne 2).

 

Le reste des fichiers, pour une utilisation très simple, n'y touchez pas !

 

Rechargez votre serveur et c'est fini !

 

3) Configuration côté Web

  La configuration côté Web est, contrairement à ce que l'on a l'habitude de penser, la plus simple.

  Mettez simplement le JSONAPI.php ou le JSONAPI.js ou autre dans le répertoire de votre site (je vais pas vous expliquer ça quand même), et c'est presque bon !

  On va partir du principe que vous ne connaissez ni le JSON ou le JavaScript, et encore moins le PHP.

  Créez donc dans le répertoire un fichier "tuto.php" par exemple (trop d'inspiration ;D ) et écrivez pour le moment ce code :

<?phprequire "JSONAPI.php";$ip = "IP de votre serveur";$port = Port de JSONAPI; #sans les guillemets$user = "l'utilisateur";$pass = "mot de passe de l'utilisateur";$salt = "salt"; #Ne pas changer$api = new JSONAPI($ip, $port, $user, $pass, $salt);?>

Changez les informations entre guillemets, mais gardez les guillemets. Le fichier tuto.php dans être dans le même répertoire qui le fichier JSONAPI.php.

 

4) Prise en main du JSON

  le JSON (JavaScript Object Notation ) est une façon de créer des variables en tableaux (enfin c'est plus compliqué que ça mais bon)

  Bref, vous trouverez quelque chose de bien par ici ou par .

 

  Et pour les connaisseurs en JavaScript, voudrez surement utiliser les tableaux avec JavaScript donc pour les passer de PHP à JavaScript, il suffit de faire comme ça :

<script type="text/javascript">var montableau = <?php json_encode($tableau_en_php); ?>;</script>

5) Prise en main de l'API

  maintenant que nos liaisons son effectuées, nous aimerions faire quelque chose avec !

  En php, ça donne ceci :

<?phprequire "JSONAPI.php";$ip = "IP de votre serveur";$port = Port de JSONAPI;$user = "l'utilisateur";$pass = "mot de passe de l'utilisateur";$salt = "salt"; #Ne pas changer$api = new JSONAPI($ip, $port, $user, $pass, $salt);$resultat = $api->call("requête");?>

voilà, c'est tout !

Maintenant, les requêtes. Je pense qu'un peu d'Anglais de vous fera pas de mal.

Allez donc icihttp://www.mcjsonapi.com/apidocs/

Et regardez les requêtes possibles.

Pour les arguments, il faudra mettre ceci :

$resultat = $api->call("requête", array("argument 1"), array("argument 2"));

Ainsi, pour executer une commande, il suffira de remplacer "requête" (laisser les guillemets) par "server.run_command", et mettre en argument "array("commande sans le /")"

Exemple : Pour écrire "Bonjour" sur la console :

$resultat = $api->call("server.run_command", array("say Bonjour"));

Récupération des données : 

  Vous aurez surement besoins de récupérer le retour de la requête (par exemple pour connaitre la liste des joueurs, etc).

  Pour obtenir les retours, il suffit d'écrire la variable ( $resultat ) suivit de "l'identifiant dans le tableau".

  Pour connaître cet "identifiant", écrivez cici pour commencer :

$resultat = $api->call("server.run_command", array("say Bonjour"));print_r($resultat); #cela vous écrit le tableau

Je vais ensuite vous laisser utiliser vos connaissances en JSON.

 

Important :

  - Dans le config.yml, il y avait "method-whitelist". Concrètement, dans le fichier "method.json", il y a la liste des methodes, qui s'utilisent comme les autres requêtes et qui sont, finalement, l'équivalent de ces dernières.

Ainsi, pour écrire bonjour, cela pourrait donner ceci :

  Dans le config.yml :

method-whitelist:- getPlayerLimit- dynmap.getPort- runConsoleCommand #ajouter cette ligne

  Dans le tuto.php :

$resultat = $api->call("runConsoleCommand", array("say Bonjour"));

  - Je ne vous ai mis à chaque fois que la ligne qui changeait, mais il ne faut pas oublier le plus important à savoir que la ligne juste au dessus donnera au minimum ça dans votre code :

<?phprequire "JSONAPI.php";$ip = "IP de votre serveur";$port = Port de JSONAPI;$user = "l'utilisateur";$pass = "mot de passe de l'utilisateur";$salt = "salt"; #Ne pas changer$api = new JSONAPI($ip, $port, $user, $pass, $salt);$resultat = $api->call("runConsoleCommand", array("say Bonjour"));?>

  J'espère que ce tutoriel vous aura plus et qu'il vous aura éclairé ! Sur ce, Bye ;) !

1 personne aime ça

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.