MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Comment interdir l'ajout d'autres mods dans le dossier

    Planifier Épinglé Verrouillé Déplacé Sans suite
    26 Messages 12 Publieurs 6.6k Vues 1 Watching
    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.
    • RedRelayR Hors-ligne
      RedRelay Moddeurs confirmés
      dernière édition par

      le MD5 va servir a faire une whitelist et non une blacklist.
      En gros, pour faire simple, tout les fichiers sont une suite de 0 et de 1.
      Il existe des méthode de cryptologie qui permettent de trouver une clé “unique” pour chacun des fichiers via cette suite de 0 et de 1.

      Si tu change quoique se soit dans le fichier, le MD5 est radicalement différent.
      Donc tu peux faire une whitelist pour t’assurer que les fichiers dans le dossier mods sont les même que ceux que tu exiges.
      Par contre, ça ne sert a rien d’interdire un fichier via son MD5.

      Si c’est un jar, il suffit que l’utilisateur ajoute un fichier dans le jar, même un fichier texte vide, ça ne changera pas le comportement du jar, mais le MD5 sera différent.

      Par contre, petite correction : un fichier ne possède pas un identifiant MD5 en attribut contrairement au nom, la date de création etc…
      Le MD5 se calcule. Tu n’as pas a écrire la formule, il existe dans l’API Java standard une méthode qui te renvoie la clé MD5 directement.

      –------------------------------------------------------------------------------------
      Si tu trouves mon intervention pertinente, n'hésite pas a m…

      1 réponse Dernière réponse Répondre Citer 0
      • M Hors-ligne
        Megalist
        dernière édition par

        Bonjour j’ai vraiment besoin d’aide au niveau du MD5 pourrais-tu m’expliquer plus en détail l’opération a effectuée svp ?

        1 réponse Dernière réponse Répondre Citer 0
        • sosohS Hors-ligne
          sosoh
          dernière édition par

          Deja il te faut un launcher custom, si tu en as un alors je peux essayer de t’expliquer ce que j’ai compris…

          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

          1 réponse Dernière réponse Répondre Citer 0
          • Superloup10S Hors-ligne
            Superloup10 Modérateurs
            dernière édition par

            Non, surtout pas de launcher custom, mais tu peux utiliser l’installateur que robin4002 a fait.

            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • sosohS Hors-ligne
              sosoh
              dernière édition par

              C’est ce que je voulais dire ^^ Je me suis tromper

              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

              1 réponse Dernière réponse Répondre Citer 0
              • RedRelayR Hors-ligne
                RedRelay Moddeurs confirmés
                dernière édition par

                Non pas obliger de faire des actions avant le lancement du jeu. Donc pas obligé d utiliser le launcher.

                Tu demandes au joueur qui veut se connecter le MD5 de son dossier mods
                Le serveur check ensuite si c est le bon.
                Si c est pas le cas, le serv kick le joueur.

                –------------------------------------------------------------------------------------
                Si tu trouves mon intervention pertinente, n'hésite pas a m…

                1 réponse Dernière réponse Répondre Citer 0
                • AmaA Hors-ligne
                  Ama
                  dernière édition par

                  La fonction que Gugu à parlé plus haut est

                  ​if (Loader.isModLoaded("ID_DU_MOD")) //Vous aurez l'ID du mod dans le mcmod.info qui ce trouve dans l'archive du mod elle contient l'ID du mod, généralement en minuscule, à la ligne "modid"
                  
                      {
                             System.out.println("Vous avez ajouter un mod, il est interdit de faire ca ! bla, bla…");//Affiche un message dans la console du jeu
                             FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
                      }
                  

                  A mettre dans la fonction postInit de la classe principale

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                  1 réponse Dernière réponse Répondre Citer 0
                  • sosohS Hors-ligne
                    sosoh
                    dernière édition par

                    Ok, mais on peut faire ca, pour checker si il y a plusieurs mods ? :
                    :::

                    ​
                    **if** !(Loader.isModLoaded("ID_DU_MOD") | Loader.isModLoaded("ID_DU_MOD") ) //Vous aurez l'ID du mod dans le mcmod.info qui ce trouve dans l'archive du mod elle contient l'ID du mod, généralement en minuscule, à la ligne "modid"
                    
                        {
                               System.**out**.println("Vous avez ajouter un mod, il est interdit de faire ca ! bla, bla…");//Affiche un message dans la console du jeu
                               FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
                        }
                    

                    :::

                    Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                    1 réponse Dernière réponse Répondre Citer 0
                    • AmaA Hors-ligne
                      Ama
                      dernière édition par

                      Normalement c’est bon, metbien deux ||

                      Envoyé depuis mon Android edition by sfr STARADDICT avec Tapatalk

                      Si je t'ai filé un coup de main n'oublie pas le + / -
                      Par contre évite les demandes d'aides en MP, tu sera sympa'

                      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                      1 réponse Dernière réponse Répondre Citer 0
                      • sosohS Hors-ligne
                        sosoh
                        dernière édition par

                        Ok merci

                        Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                        1 réponse Dernière réponse Répondre Citer 0
                        • G Hors-ligne
                          galaxyoyo
                          dernière édition par

                          Sinon,  un coremod qui check tous les MD5 ou les noms de fichiers dès l’instanciation du coremod.

                          package ton.package;
                          
                          // Ctrl+Maj+O
                          
                          public class ModChecker implements IFMLLoadingPlugin
                          {
                          private static Map <string, string="">validMD5sMap = new HashMap<string, string="">();
                          private static List <string>validMD5sList = new ArrayList<string>();
                          
                          public ModChecker()
                          {
                          buildMap();
                          checkMods();
                          }
                          
                          public static void buildMap()
                          {
                          // Entre ici tous tes noms de fichiers à whitelist
                          // Ex : Whitelist de NEI version 1.0.3.67
                          validMD5sMap.put("NotEnoughItems-1.7.10-1.0.3.67-universal.jar", "B0431D2D45BFBAD636F5C7C9357A3660");
                          validMD5sList.add("B0431D2D45BFBAD636F5C7C9357A3660");
                          }
                          
                          public static void checkMods()
                          {
                          for (File f : new File("mods"))
                          {
                          if (!isValidMD5(f))
                          {
                          f.delete();
                          }
                          }
                          
                          for (File f : new File("mods/1.7.10")
                          {
                          if (!isValidMD5(f))
                          {
                          f.delete();
                          }
                          }
                          }
                          
                          public static boolean isValidMD5(File f)
                          {
                          String MD5 = DigestUtils.md5Hex(new BufferedInputStream(new FileInputStream(f)));
                          return (validMD5sMap.hasKey(f.getName()) && validMD5sMap.get(f.getName()).equalsIgnoreCase(MD5)) || validMD5sList.contains(MD5);
                          }
                          }
                          

                          Je te conseille le site http://onlinemd5.com pour trouver les MD5.</string></string></string,></string,>

                          1 réponse Dernière réponse Répondre Citer 0
                          • S Hors-ligne
                            Sebenf0rce
                            dernière édition par

                            @‘galaxyoyo’:

                            Sinon,  un coremod qui check tous les MD5 ou les noms de fichiers dès l’instanciation du coremod.

                            package ton.package;
                            
                            // Ctrl+Maj+O
                            
                            public class ModChecker implements IFMLLoadingPlugin
                            {
                                   private static Map <string, string="">validMD5sMap = new HashMap<string, string="">();
                                   private static List <string>validMD5sList = new ArrayList<string>();
                                   
                                   public ModChecker()
                                   {
                                           buildMap();
                                           checkMods();
                                   }
                                   
                                   public static void buildMap()
                                   {
                                           // Entre ici tous tes noms de fichiers à whitelist
                                           // Ex : Whitelist de NEI version 1.0.3.67
                                           validMD5sMap.put("NotEnoughItems-1.7.10-1.0.3.67-universal.jar", "B0431D2D45BFBAD636F5C7C9357A3660");
                                           validMD5sList.add("B0431D2D45BFBAD636F5C7C9357A3660");
                                   }
                                   
                                   public static void checkMods()
                                   {
                                           for (File f : new File("mods"))
                                           {
                                                   if (!isValidMD5(f))
                                                   {
                                                           f.delete();
                                                   }
                                           }
                                           
                                           for (File f : new File("mods/1.7.10")
                                           {
                                                   if (!isValidMD5(f))
                                                   {
                                                           f.delete();
                                                   }
                                           }
                                   }
                                   
                                   public static boolean isValidMD5(File f)
                                   {
                                           String MD5 = DigestUtils.md5Hex(new BufferedInputStream(new FileInputStream(f)));
                                           return (validMD5sMap.hasKey(f.getName()) && validMD5sMap.get(f.getName()).equalsIgnoreCase(MD5)) || validMD5sList.contains(MD5);
                                   }
                            }
                            

                            Je te conseille le site http://onlinemd5.com pour trouver les MD5.</string></string></string,></string,>

                            En utilisant cela comment faire pour que ça retélécharge les mod où alors que ça fasse crasher le jeu ?

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

                              FMLCommonHandler.instance().handleExit(0);

                              1 réponse Dernière réponse Répondre Citer 0
                              • M Hors-ligne
                                Megalist
                                dernière édition par

                                Merci à tous,
                                mais je n’ai pas compris une chose comment créer votre ''white-list ‘’.
                                Faire un nouveau mod? Si oui pourriez vous m’expliquer comment faire car je débute.
                                Merci vraiment pour vos réponses.

                                1 réponse Dernière réponse Répondre Citer 0
                                • sosohS Hors-ligne
                                  sosoh
                                  dernière édition par

                                  Tu mets ça, dans la fonction post-init dans ta classe principale:

                                  
                                  if (!Loader.isModLoaded("modid")) //Vous aurez l'ID du mod dans le mcmod.info qui ce trouve dans l'archive du mod elle contient l'ID du mod, généralement en minuscule, à la ligne "modid"
                                  
                                     {
                                            System.out.println("Vous avez ajouter un mod, il est interdit de faire ça ! Tant qu'un mod extérieur a ceux du serveur sera présent, le jeu ne se lancera pas.");//Affiche un message dans la console du jeu
                                            FMLClientHandler.instance().getClient().shutdown(); //Fait crash le jeu
                                     }
                                  
                                  

                                  Donc si le jeu charge un mod avec un modid different de ce que tu as mis dans

                                  Loader.isModLoaded(“modid”)

                                  Alors il met un message dans la console puis fait crash ton jeu.
                                  Tu peux faire qu’il crash que si il charge un mod que tu veux pas genre, un mod qui permet d’exploiter un bug sur ton mod/serveur moddé, pour cela il faut enlever le “!” devant Loader.isModLoaded dans la condition.
                                  J’espère avoir était claire, si ce n’est pas le cas, n’hésites pas à me demander des précisions… 🙂

                                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • M Hors-ligne
                                    Megalist
                                    dernière édition par

                                    Merci je vais essayer demain ou mercredi je vous tient au courant

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

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB