Plugin Serveur 100% Mod

  • Auteur de la discussion Auteur de la discussion Spyoo
  • Date de début Date de début

Spyoo

Aventurier
10 Juillet 2017
5
0
2
24
Hey, j'ai un serveur qui tourne sous forge donc, 0 plugin, mais après avoir réussi à remplacer Essentials et les plugins d'auth' je me pose une question.
Comment remplacer JSONAPI par un mod ? Quel mod utilisé ?
(Version du serveur : 1.10.2)
 
Salut,

effectivement je n'ait pas pris le temps de lire correctement ton message, désolé :/ Du coup j'ai continuer mes recherches mais il semble que Json-Manage est le seul mod permettant de faire ça ; je n'ai rien trouvé d'autres sur Google.

Peut-être que quelqu'un en connais un. Notre spécialiste @robin4002 peut-être ?

Sinon, il faudra que tu trouve quelqu'un pour te mettre à jour ce mod ou t'en créé un.
 
Salut,
Personnellement pour mon serveur 100% forge j'ai uniquement mon propre mod qui est connecté à une base de donnée que j'utilise pour avoir des données en commun avec le site. Pour les choses basiques comme le nombre de joueur / savoir si le serveur est allumé j'utilise simplement le packet de découverte de mc (ce genre de projet utilise la même chose : https://github.com/FunnyItsElmo/PHP-Minecraft-Server-Status-Query ).

Après le mod que tu as envoyé est open source et ne devrait pas être trop compliqué à mettre à jour.
 
  • J'aime
Reactions: DiscowZombie
En gros je veux juste qu'il y ait marqué "server online" et le nombre de joueurs ^^
 
Oui donc tu n'as pas besoin de jsonapi pour ça.
En jeu, quand tu es sur le menu serveur, ton jeu envoies un paquet de découverte à tous les serveurs de la liste. Les serveurs répondent s'ils sont en fonctionnement et envoie le nombre de joueur, le nombre de joueur maximum et le motd du serveur. Ensuite ton jeu l'affiche (en plus de calculer temps qu"il a fallu pour avoir cette réponse et l'afficher comme ping).

Ce même paquet, il est possible de l'envoyer depuis n'importe quoi (un code python, un code php, asp .net, etc ...) pour récupérer les informations n'importe où et les afficher.
Par exemple cette page de dinnerbone utilise ce principe avec un code python : https://dinnerbone.com/minecraft/tools/status/
Le lien que je t'ai envoyé plus haut permet de faire de même en php.

Sans même passer par une bibliothèque complexe :
http://www.mcnanotech.fr/nhg/test_status_server.php
Avec son code :
Code:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Nanotech hunger games stats</title>
    </head>
    <body>
                 
<?php

$statut = @fsockopen("mcnanotech.fr", 30000, $errno, $errstr, 1);
if($statut)
{
    fwrite($statut, "\xFE\x01");
 
    $d = fread($statut, 1024);
    if ($d != false AND substr($d, 0, 1) == "\xFF")
    {
        $d = substr($d, 3);
        $d = mb_convert_encoding($d, 'auto', 'UCS-2');
        $d = explode("\x00", $d);
        fclose($statut);?> <p class="info"> <?php
        echo 'Information du serveur 1 : ';
        echo '<br/>';
        echo 'Version: '.$d[2];
        echo '<br/>';
        list($timer, $status, $player) = explode(":", $d[3]);
        echo 'Joueurs en ligne: '.$d[4];
        echo '<br/>';
        echo 'Nombre de slots: '.$d[5];
             
             
        echo '<br/>';
        echo '<br/>';
        echo 'Temps : '.$timer;
        echo '<br/>';
        echo 'Status : '.$status;
        echo '<br/>';
        echo 'Joueur en vie : '.$player;
    }
} ?>

    </body>
</html>
Pour le temps / status (ça correspond à une étape du gameplay) / joueur en vie, je fais passer les données via le motd (je modifie dans mon mod le motd à la volé pour avoir les bonnes données).
 
Dernière édition:
  • J'aime
Reactions: DiscowZombie