MFF

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

    Bloquer des mods non désirables au lancement du jeu

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    91 Messages 10 Publieurs 13.5k 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.
    • ? Hors-ligne
      Un Ancien Utilisateur
      dernière édition par

      tu peux me dire comment faire ?

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

        Regarde http://stackoverflow.com/questions/15720822/how-to-get-names-of-classes-inside-a-jar-file

        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
        • ? Hors-ligne
          Un Ancien Utilisateur
          dernière édition par

          nan srx la j’ai rien compris car le site pue

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

            Comment ça le site “pue”? Si tu ne comprends pas ce qui est dit dans le lien que j’ai donné, franchement, revois ton anglais.

            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
            • DeletedD Hors-ligne
              Deleted
              dernière édition par

              Mais y’a un truc que je comprends pas …
              Tu souhaites bloquer un mod vanilla, c’est ça ? Juste pourquoi ? Ton serveur sera forge, donc cela forcera le dénommé “cheeater” à installer forge. Ce qui lui créera un nouveau profile. Et si il souhaite installer son mod cheat sur ce nouveau profil forge, y’a de très grandes chances que ça crash au démarrage, problème de compatibilité. Ou alors j’ai faux depuis le début ?

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

                Le mod cheat n’est pas même loader quand tu as forge.

                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
                • M Hors-ligne
                  mosca421
                  dernière édition par

                  Xray ne passe pas par forge, il n’a pas de modid mais est bien pris par forge essaye de detecter un fichier config xray et config pour tout les cheat les plus connu

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

                    Le plus simple est de créer un mods et ( coté client ) tu look le dossiers /mods tu le scan et tu compare avec une liste de md5 sum stocké sur un FTP .
                    Pour le moment je crois que ça peut marcher ? J’espère 🙂

                    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

                      @‘amigo127’:

                      nan srx la j’ai rien compris car le site pue

                      On a atteint le niveau maximum de la connerie là. stackoverflow est un des meilleurs sites pour tout ce qui est problème de programmation. Il m’a déjà été utile pleins de fois.

                      Et essayer de soigne ton orthographe et arrêtes le langage sms.

                      Bon concernant les mods de triche il y a deux possibilités :

                      • le mod n’est pas un mod forge et s’installe donc directement dans le fichier jar de Minecraft. Dans ce cas il y a 90% de chance qu’il sera incompatible avec forge et donc qu’il ne fonctionnera pas. Dans le cas où il fonctionne quand même, par défaut forge n’accepte pas que le jar de Minecraft soit modifié. Pour qu’il démarre le tricheur devra ajouter l’argument “-Dfml.ignoreInvalidMinecraftCertificates=true”.
                        Donc il suffit de quitter le jeu si l’argument en question est présent :
                      if(Boolean.parseBoolean(System.getProperty("fml.ignoreInvalidMinecraftCertificates","false")
                      {
                          FMLCommonHandler.instance().exitJava(1, true);
                      }
                      

                      Problème réglé.

                      • le mod est un mod forge. Dans ce cas le nombre de mod chargé va augmenter de un.
                             if(Loader.instance().getModList().size() != 50) // à changer
                             {
                                 FMLCommonHandler.instance().exitJava(1, true);
                             }
                      

                      avec le != on couvre même le cas où l’utilisateur tente de retirer un mod.
                      Problème réglé.

                      Il y avait vraiment besoin de 4 pages de discussion pour ça ?

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

                        Mdr Robin => la science infuse 🙂

                        Mais dit moi, pour cette solution tu dois connaitre le nombre de mod à l’avance  , mais si on utilise un installateur avec une liste de mods optionnelle ce nombre est juste introuvable, non ?

                        ```java
                           if(Loader.instance().getModList().size() != 50) // à changer
                               {
                                   FMLCommonHandler.instance().exitJava(1, true);
                               }

                        
                        :::
                        Et aussi j'ai look un peut les vidéos de "Hacke" , et j'ai testé sur ton installateur, et c'est vrai qu'il est possible pour un humain d'ajouter un mod entre le moment où le clean passe et le moment où Minecraft se lance !  
                        :::

                        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

                          En effet.
                          Si tu utilises mon installateur afin d’avoir une couche de sécurité en plus il faut dans son mod, dans la fonction init ou post init lire tous les md5 du dossier sync ainsi que ceux de la white-list et vérifier le md5 de chaque fichier du dossier mods. Si un md5 ne correspond pas tu coupe le jeu. (le code qui compare les md5 se trouve dans ces classes : https://github.com/FFMT/ModPackInstaller/tree/master/src/main/java/fr/minecraftforgefrance/common)

                          Avec ça tu as une sécurité très bonne (enfin très bonne pour un petit serveur Minecraft), l’un des seuls moyens serait de créer un conflit de md5 (en gros un fichier qui a le même md5 qu’un mod autorisé mais qui est différent) mais c’est loin d’être à la porté de tous.
                          Ou alors de décompiler ton mod pour supprimer la sécurité. Pas impossible mais comme pour le conflit de md5 ce n’est pas à la porté de tous.

                          1 réponse Dernière réponse Répondre Citer 0
                          • ? Hors-ligne
                            Un Ancien Utilisateur
                            dernière édition par

                            genre juste avant que je met se que robin a dis sa marchait mais je les mis je l’export je met 1mod car mon mod plus l’autre sa fait 2 je lance sa marche pas j’en mais deux sans compté mon mod non plus voici ma class principale

                            
                            package com.adamitemod.mod;
                            
                            import java.awt.Color;
                            
                            import net.minecraft.block.Block;
                            import net.minecraft.block.material.Material;
                            import net.minecraft.client.Minecraft;
                            import net.minecraft.client.gui.GuiMainMenu;
                            import net.minecraft.creativetab.CreativeTabs;
                            import net.minecraft.item.Item;
                            import net.minecraftforge.common.MinecraftForge;
                            
                            import com.adamitemod.mod.Dynamite.EntityDynamite;
                            import com.adamitemod.mod.blocks.BlockElevator;
                            import com.adamitemod.mod.blocks.ElevatorEvent;
                            import com.adamitemod.mod.blocks.GuiCustomMainMenu;
                            import com.adamitemod.mod.init.BlocksMod;
                            import com.adamitemod.mod.init.CraftsMod;
                            import com.adamitemod.mod.init.ItemsMod;
                            import com.adamitemod.mod.items.ItemDynamite;
                            import com.adamitemod.mod.proxy.CommonProxy;
                            import com.adamitemod.mod.world.WorldRegister;
                            
                            import cpw.mods.fml.client.FMLClientHandler;
                            import cpw.mods.fml.common.FMLCommonHandler;
                            import cpw.mods.fml.common.Loader;
                            import cpw.mods.fml.common.Mod;
                            import cpw.mods.fml.common.Mod.EventHandler;
                            import cpw.mods.fml.common.Mod.Instance;
                            import cpw.mods.fml.common.SidedProxy;
                            import cpw.mods.fml.common.event.FMLInitializationEvent;
                            import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                            import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                            import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                            import cpw.mods.fml.common.gameevent.TickEvent;
                            import cpw.mods.fml.common.network.NetworkRegistry;
                            import cpw.mods.fml.common.registry.EntityRegistry;
                            import cpw.mods.fml.common.registry.GameRegistry;
                            import cpw.mods.fml.relauncher.Side;
                            import cpw.mods.fml.relauncher.SideOnly;
                            
                            @Mod(modid = References.MOD_ID, name = References.MOD_NAME, version = References.VERSION)
                            
                            public class AdamiteMod
                            {
                            @Instance(References.MOD_ID)
                            public static AdamiteMod instance;
                                public static Item Dynamite;
                                public static Block Machine;
                            
                                @SidedProxy(clientSide = References.CLIENT_PROXY, serverSide = References.SERVER_PROXY)
                                public static CommonProxy proxy;
                            
                            public static Block Elevator;
                            
                                public static CreativeTabs Ada = new CreativeTabs("Ada")
                                {
                                    @SideOnly(Side.CLIENT)
                                    public Item getTabIconItem()
                                    {
                                        return ItemsMod.adamiteChestplate;
                                    }
                                };
                                @EventHandler
                                public void preInit(FMLPreInitializationEvent event)
                                {
                                    BlocksMod.init();
                            
                            Elevator = new BlockElevator().setBlockTextureName(References.MOD_ID + ":elevator").setHardness(3.5F).setBlockName("Elevator").setCreativeTab(AdamiteMod.Ada);
                            
                            GameRegistry.registerBlock(Elevator, "Elevator");
                            
                                    BlocksMod.register();
                                    ItemsMod.init();
                                    Machine = new Machine().setBlockName("machine");
                                    ItemsMod.register();
                                    Dynamite = new ItemDynamite(Dynamite).setUnlocalizedName("Dynamite").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":dynamite");
                                    GameRegistry.registerItem(Dynamite, "Dynamite");
                                    GameRegistry.registerBlock(Machine, "Machine");
                                    CraftsMod.init();
                                    WorldRegister.mainRegsitry();
                                    proxy.registerRenders();
                               EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
                                }    
                            
                                @EventHandler
                                public void init(FMLInitializationEvent event)
                                {
                                    proxy.registerRenders();
                            
                            MinecraftForge.EVENT_BUS.register(new ElevatorEvent());
                            FMLCommonHandler.instance().bus().register(new ElevatorEvent());
                            
                                    NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
                            
                               EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
                            
                               GameRegistry.registerTileEntity(TileEntityMachine.class, References.MOD_ID + ":MachineTileEntity");
                            
                               }
                                @EventHandler
                                public void postInit(FMLPostInitializationEvent event)
                                {
                            
                                  if(Loader.instance().getModList().size() != 2) // à changer
                                       {
                                           FMLCommonHandler.instance().exitJava(1, true);
                                       }
                            
                                EntityRegistry.registerModEntity(EntityDynamite.class, "Dynamite", 7, this, 64, 20, true);
                             }
                            @SubscribeEvent
                            
                            @SideOnly(Side.CLIENT)
                                public void onTick(TickEvent.ClientTickEvent event)
                                {
                                    Minecraft mc = FMLClientHandler.instance().getClient();
                                    if(mc.currentScreen != null && mc.currentScreen.getClass().equals(GuiMainMenu.class))
                                    {
                                        mc.displayGuiScreen(new GuiCustomMainMenu());
                            }
                                }
                            }
                            
                            
                            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

                              Rien qu’avec Forge + FML + MCP il y a 3 mods.
                              Donc + le tient + l’autre ça fait 5.

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

                                Où sinon, avec une liste de tous les mods :

                                @NetworkCheckHandler
                                public boolean isConnectionAcceptable(Map mods, Side side)
                                {
                                return true;//Si c'est false, mc crash
                                }
                                

                                A mettre dans la classe principale.

                                ça te donne un map avec en key le modid et en value la version qui correspond, donc si tu veux vérifier les mods, du fais un iterator de la map pour vérifier les mods : ```java
                                Iterator <string>it = mods.keySet().iterator();
                                while(it.hasNext())
                                {
                                String lemodid = it.next();
                                }

                                
                                C'est appelé quand forge charge le mod, quand tu te connectes sur un monde et quand un client se co sur le serveur.</string>

                                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                  Pas mal aussi.
                                  Même meilleur.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • ? Hors-ligne
                                    Un Ancien Utilisateur
                                    dernière édition par

                                    Alors la . . .
                                    j’ai perdu %(#333333)[size=small][[color=#0072bc]AymericRed]

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

                                      Alors en gros tu mets ça dans ta classe principale :

                                      @NetworkCheckHandler
                                      public boolean isConnectionAcceptable(Map mods, Side side)
                                      {
                                      for(String lemodid : mods.keySet()) //Ceci va éxécuter le for avec tous les modid qui se trouvent dans la liste de mods
                                      {
                                      if(taListeDeModsIdIncorrects.contains(lemodid)) //Ou lemodid.equals("UnModIncorrect")
                                      {
                                      System.out.println("Ce mod n'est pas autorisé : " + lemodid + " !");
                                      return false;
                                      }
                                      }
                                      
                                      return true;//Si c'est false, mc crash
                                      }
                                      

                                      Donc après t’a plus qu’à faire ta liste de mods que tu veux pas et c’est bon.
                                      Ceci va être vérifié quand FML “trouve” ton mod et le charge, quand tu te co sur un monde (solo/multi) et quand le serveur reçoit une requête de co d’un client.

                                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                        Résolu ?

                                        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
                                        • S Hors-ligne
                                          sventus
                                          dernière édition par

                                          car si tu as un laucnher, tu fais dans le launcher un scan de ton dossier .serveur et si un mod/pack de textures ou quoi ne devrait pas être la, le launcher lesupprime.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • ? Hors-ligne
                                            Un Ancien Utilisateur
                                            dernière édition par

                                            nan mais ses simple ses déja fait avant que je poste mon pb lis de la premiere page et tu verra

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB