• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Obtenir les informations d'un serveur

    1.12.x
    1.12.2
    2
    8
    624
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Jerem_Tech
      Jerem_Tech dernière édition par Jerem_Tech

      Bonjour à tous !

      Je viens vers vous aujourd’hui car j’ai un petit problème.
      J’ai suivie tout le tutoriel concernant la personnalisation du menu principal, qui est au passage excellent 🙂

      Toutefois, je n’arrive pas à obtenir les informations de mon serveur : ni motd, ni nombre de joueurs, …
      J’ai pourtant même été copier-coller le code de Minecraft Vanilla, passé des heures à comprendre quelle fonction fait quoi mais en vain.

      Voici donc la fonction qui rafraîchi les informations serveur (avec ses variables les plus importantes) :

      private static final ThreadPoolExecutor EXECUTOR = new ScheduledThreadPoolExecutor(5, (new ThreadFactoryBuilder()).setNameFormat("Server Pinger #%d").setDaemon(true).build());
      private ServerData dcserver = new ServerData("Dofuscraft", "xxx.xxx.xxx.xxx:xxxxx", false); // IP et port masqué pour le forum
      
          private void pingServer()
          {
              // Display Dofuscraft server information
              if (!this.dcserver.pinged)
              {
                  this.dcserver.pinged = true;
                  this.dcserver.pingToServer = -2L;
                  this.dcserver.serverMOTD = "";
                  this.dcserver.populationInfo = "";
                  EXECUTOR.submit(new Runnable()
                  {
                      public void run()
                      {
                          try
                          {
                              GuiDofusCraftMainMenu.this.serverPinger.ping(GuiDofusCraftMainMenu.this.dcserver);
                          }
                          catch (UnknownHostException var2)
                          {
                              GuiDofusCraftMainMenu.this.dcserver.pingToServer = -1L;
                              GuiDofusCraftMainMenu.this.dcserver.serverMOTD = TextFormatting.DARK_RED + I18n.format("multiplayer.status.cannot_resolve");
                          }
                          catch (Exception var3)
                          {
                              GuiDofusCraftMainMenu.this.dcserver.pingToServer = -1L;
                              GuiDofusCraftMainMenu.this.dcserver.serverMOTD = TextFormatting.DARK_RED + I18n.format("multiplayer.status.cannot_connect");
                          }
                      }
                  });
              }
          }
      

      Je précise que les informations s’affiche bien, ce n’est pas un oublie d’affichage.
      Car le plus étrange c’est que si je met l’IP d’un serveur de mini-jeux connu, ça fonctionne !
      Je me suis dit que c’est un problème de port/IP mais pourquoi alors dans le menu multijoueur Vanilla ça fonctionne et pas sur mon menu principal ? Étrange non ?

      Merci d’avance de votre aide !

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Salut,
        Il y a un tutoriel sur le sujet : https://www.minecraftforgefrance.fr/topic/4205/modifier-le-menu-principal#afficher-les-informations-d-un-serveur

        1 réponse Dernière réponse Répondre Citer 0
        • Jerem_Tech
          Jerem_Tech dernière édition par

          Je l’ai effectivement bien lu, c’est ça le soucis c’est que ça ne fonctionne pas même en mettant le même code 😞

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Il doit avoir un problème avec l’adresse que tu as mis alors …

            1 réponse Dernière réponse Répondre Citer 0
            • Jerem_Tech
              Jerem_Tech dernière édition par

              Certainement mais pourquoi le GUIMultiplayer de base affiche tout correctement ?
              J’ai vu que si j’allais sur le GUIMultiplayer et que je revenais sur le menu principal, cela fonctionnais, même en actualisant.
              J’en ai donc déduis que le GUIMultiplayer fait quelque chose en plus qui fait que ça fonctionne, mais quoi…

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Hum là je ne serai pas dire 😕

                1 réponse Dernière réponse Répondre Citer 0
                • Jerem_Tech
                  Jerem_Tech dernière édition par

                  Bon bah je vais continuer à chercher de mon côté, mais si quelqu’un à une idée je prend 🙂

                  1 réponse Dernière réponse Répondre Citer 0
                  • Jerem_Tech
                    Jerem_Tech dernière édition par

                    Après des heures de recherches et de tests, j’ai trouvé une alternative !

                    En effet, plutôt que de passer par la voie habituelle, je passe par la Query du serveur. Bien sûr pour que cela fonctionne il faut que le serveur est cette fonctionnalité d’activée ainsi que le port correctement configuré !

                    Je vous met le lien de la classe ainsi que la doc qui permet de le faire simplement (y a pas mal d’autres langage possible comme le php et le javascript si ça peut intéresser) :
                    https://github.com/ldilley/minestat

                    Je passe en résolu, et peut-être que ça servira à d’autres 🙂

                    Jerem’

                    1 réponse Dernière réponse Répondre Citer 0
                    • 1 / 1
                    • Premier message
                      Dernier message
                    Design by Woryk
                    Contact / Mentions Légales

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB