CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Minecraft
  • Tout support
  • PC
  • Xbox Series
  • Switch
  • Switch 2
  • PS4
  • ONE
  • WiiU
  • PS3
  • 360
  • Vita
  • iOS
  • Android
  • Web
  • New 3DS
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum
Liste des sujets

[TUTO] Utiliser JSONAPI -- {NO CMS}

KumaRoger1000
KumaRoger1000
Niveau 8
25 octobre 2016 à 13:23:21

Bonjour tout le monde :hap:
Bon, hier j'ai réussi a bien utiliser JSONAPI et je me suis dis que pas mal de gens serait content de voir un tutoriel pour s'en servir, au moins en local.
Ce tutoriel s'appliquera aux personnes souhaitant relier le serveur et leur site avec JSONAPI SANS SITE EXTERNE OU CMS
Voici les pré-requis:

  • Avoir des connaissances en PHP
  • Avoir ces 3 plugins: ProtocolLib ; Vault ; et JSONAPI bien sûr.
  • Votre serveur Minecraft local ou hébergé
  • Votre site à relier local ou hébergé

Je vais être honnête, je sais pas à quoi servent les deux autres plugins :noel:
En cherchant sur Google, j'ai vu que carrément tout le monde disait que ces deux autres plugins étaient nécessaires.
Et si vous ne savez pas ce qu'est le PHP, alors je vous conseille d'aller utiliser un CMS tout fait, ce qui vous permettra de ne pas toucher a un seul bout de code.
Commençons :hap:

Première étape:
Installez les 3 plugins et vérifiez bien que le dossier JSONAPI a été correctement créé dans votre dossier plugins. Quand c'est fait allez dedans et cherchez le fichier config.yml
Là vous ne touchez à rien, sauf à use-new-api: et port:
Pour port vous allez mettre une liste de chiffres entre 1 et 63355 il me semble. Selon votre hébergeur, peut-être que celui ci vous aura prévu une liste de ports utilisables pour votre serveur, je vous laisse voir ça.

En local, il ne faut pas mettre 25565 sinon ça ne fonctionnera pas.
Dans cet exemple on va prendre 20032.
Ensuite, mettez false pour use-new-api

Deuxième étape:
Ouvrez users.yml.
Dans le premier tiret, vous arez username et password.
On va mettre par exemple:
Username: JmLesCitrouilles
Password: Carottes35
Ne touchez rien d'autre.
Téléchargez maintenant ce fichier: http://www.mediafire.com/file/hxkhfnhz0ygg7dq/jsonapi.inc.php
Lien direct: http://download1582.mediafire.com/f3uhaoupkbgg/hxkhfnhz0ygg7dq/jsonapi.inc.php

Troisième étape:
Dans votre site, sur la page où vous voulez montrer les infos de votre serveur, il vous faut appeler le fichier téléchargé de cette manière:
<?php include 'jsonapi.inc.php'; ?>
Une fois cela fait, je suis sympa je vous épargne les recherches, je vous donne le bout de code le plus utilisé pour JSONAPI:

$ip = "127.0.0.1"; //Ip du serveur 
$port = 20032; //port du plugin (par défaut : 20059)
$utilisateur = "JmLesCitrouilles"; //nom d'utilisateur
$motdepasse ="Carottes35"; //mot de passe
$api = new JSONAPI($ip, $port, $utilisateur, $motdepasse);// on affiche le nombre de joueur

$PlayerCount = $api->call("getPlayerCount");
$PlayerLimit = $api->call("getPlayerLimit");
$ServerVersion = $api->call("getServer");

echo "Ip: ".$ip."<br />";

// var_dump($ServerVersion);
// var_dump($PlayerCount);
// var_dump($PlayerLimit);

if($ServerVersion['0']['success'] == '') {
	echo "Etat: Hors ligne";
} else {
	$serverName = $ServerVersion["0"]['success']["serverName"];
	$serverCount = $PlayerCount['0']['success'];
	$serverLimit = $PlayerLimit['0']['success'];
	$serverVersion = $ServerVersion["0"]['success']["version"];
	echo "Etat: En ligne<br />";
	echo "Nom du serveur: ".$serverName."<br />";
	echo "Nombre de joueur: ".$serverCount."/".$serverLimit."<br />";
	echo "Version du Serveur: ".$serverVersion."<br />"; 
}
  1. La variable $ip doit contenir l'adresse IP de votre serveur (ici c'est du local, donc: 127.0.0.1 ou localhost),
  2. La variable $port doit contenir le port saisi plus tôt dans config.yml,
  3. La variable $utilisateur doit contenir le nom d'utilisateur saisi plus tôt dans config.yml,
  4. La variable $motdepasse doit contenir le password saisi plus tôt dans config.yml,
  5. La variable $api ne doit pas être touchée. Elle utilise le fichier téléchargé ci-dessus.

Des questions ? Répondez au sujet :p)

Message édité le 25 octobre 2016 à 13:25:40 par KumaRoger1000
Fatom70
Fatom70
Niveau 2
07 mai 2017 à 02:49:01

C'est LE SEUL tuto sur le php de JsonAPI qui fonctionne en 2017 !
Merci beaucoup !
Peut-tu faire un tuto sur une boutique et un sistem de récompence de vote STP ?

KillerJamme
KillerJamme
Niveau 56
07 mai 2017 à 13:27:09

Le 07 mai 2017 à 02:49:01 Fatom70 a écrit :
C'est LE SEUL tuto sur le php de JsonAPI qui fonctionne en 2017 !
Merci beaucoup !
Peut-tu faire un tuto sur une boutique et un sistem de récompence de vote STP ?

Malheureusement le topic date de 2016, y'a des grande chance que l'auteur ne surveille plus son topic du coup. :(
Essaye de lui demander via MP, t'aura déjà plus de chance d'avoir une réponse :ok:

ZeinGraphics
ZeinGraphics
Niveau 1
21 octobre 2017 à 16:41:17

Bonjour, j'aimerais savoir si vous auriez le dossier et le ficher donner par l'auteur car le lien donné n'est pas valide :/

KumaRoger1000
KumaRoger1000
Niveau 8
11 janvier 2018 à 15:02:17

Le 21 octobre 2017 à 16:41:17 ZeinGraphics a écrit :
Bonjour, j'aimerais savoir si vous auriez le dossier et le ficher donner par l'auteur car le lien donné n'est pas valide :/

Salut, voilà un nouveau lien https://mega.nz/#!TVAwiBwL!GnzDr1TO3u_7eXX1DoW2klt6gP9Uo8Rqqi--PnM13ZU

Le 07 mai 2017 à 02:49:01 Fatom70 a écrit :
C'est LE SEUL tuto sur le php de JsonAPI qui fonctionne en 2017 !
Merci beaucoup !
Peut-tu faire un tuto sur une boutique et un sistem de récompence de vote STP ?

Pour la boutique désolé je ne sais pas, pour les récompenses de vote non plus, mais si tu sais stocker ça en PHP avec base de données et tout le bordel, il te suffit de faire en sorte que lorsque l'user achète un truc en boutique ça exécute une commande du genre un give de l'objet
Après pour envoyer une commande il faut faire ça en JS (jsonapi-v2.js: https://mega.nz/#!OdIxgbaR!nWr09U2pBUC1--a-MtHg1AfTniN-S2id1djkgtpgYvM) ce lien te permettra d'afficher la console de ton serveur, et ainsi de lui envoyer des commandes. Tu inclus le fichier dans ta page console.php pis le formulaire c'est:
<div id="input"> <div> <button onclick="giveStone()">Give une stone à tout le serveur</button> </div><br /> <span><input type="text" id="inp" /></span> <input class="btn btn-default" type="button" id="run" value="Send (enter)" /> </div> <div class="well" id="console"> <?php include 'consoleTEXT.php'; ?> </div>
Ensuite dans consoleTEXT.php tu met

<!doctype html> <html> <head> <title>Console server</title> <script type="text/javascript" src="jsonapi-v2.js"></script> <style> ul, ul li, li { margin:0; padding:0; } .color-31 { color: red; } .color-32 { color: green; } .color-33 { color: orange; } .color-34 { color: darkblue; } .color-35 { color: purple; } .color-37 { color: #333333; } </style> </head> <body> <script type="text/javascript"> var j = new JSONAPI({ hostname: 'IP DU SERVEUR', port: 'port jsonapi', username: 'user', password: 'pass' }); $ = function(x) { return document.getElementById(x); }, c = $('console'); // AFFICHAGE DE LA CONSOLE j.stream('console', function(json) { var txtC = json.success.line; appendLine(colorize(txtC)); }); // ----------------------- function send () { var txt = $('inp').value; if(!txt.length) return; j.call('runConsoleCommand', txt); appendLine(">> " + txt + "\r\n"); } function giveStone() { var txt = 'give @a stone'; if(!txt.length) return; j.call('runConsoleCommand', txt); appendLine(">> " + txt + "\r\n"); } function appendLine (txt) { var el = document.createElement('ul', 'br br br'); el.innerHTML = color(txt); c.appendChild(el); document.body.scrollTop = document.body.scrollHeight; } $('run').addEventListener('click', send); $('inp').addEventListener('keydown', function(e) { if(e.which == 13) { send(); e.target.value = ""; } }); $('inp').focus(); function escape_html(string) { return (''+string).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g,'&#x2F;'); } function colorize(str) { var i = 0; str = str.replace("[m", ''); str = str.replace(/\>[a-z]/g, '<span class="color-37">$1</span>'); return str.replace(/(\[(0;(\d\d);{1,2})m)/g, function() { var txt = (i ? '</span>' : '') + '<span class="color-' + arguments[2] + '">'; i++; return txt; }) + (i?'</span>':''); } function color(str) { str = str.replace(/\[0;(\d\d);(\d)m/g, '<span class="color-$1">'); str = str.replace(/\[0;(\d\d);(\d\d)m/g, '<span class="color-$1">'); str = str.replace("[m", ''); return str; } </script> </body> </html>
Voilà et si tout se passe bien, non seulement tu verra ta console mais en plus tu pourras envoyer des commandes, et en appuyant sur le bouton "Give une stone à tout le serveur" tu donnera une stone à tout le serveur. Contactez moi en pv si besoin

Message édité le 11 janvier 2018 à 15:04:18 par KumaRoger1000
Soku_u
Soku_u
Niveau 1
28 septembre 2018 à 12:56:03

Salut !

J'arrive un peu tard je sais, mais est-ce que quelqu'un pourrait m'envoyer les fichiers complets et foncionnels pour que je puisse modifier moi meme et l'inclure a mon site parce que la je pige rien

MomoLeFr69
MomoLeFr69
Niveau 2
15 janvier 2020 à 04:28:43

Toujours aussi utile en 2020, merci, faut être sacrément à la rue pour pas comprendre .

Sous forums
  • Recherche de joueurs et serveurs PC/Consoles
La vidéo du moment