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



  • Bonjour,

    J'aimerai savoir car j'ai un gros problème si il était possible de créer un mod de préférence en 1.7.2 qui empêcherai l'ajout d'autres mods dans le dossier mods ( je pense à nodus entre autres).

    voilà j'epère que vous pourrez m'aider.
    Merci



  • Je crois que ça se gère sur le launcher ça…Par exemple, grâce à l'installateur de robin, tu peux autoriser les mods via une whitelist


  • Administrateurs

    De toute façon la plupart des mods de triche ne sont pas compatible avec Forge …



  • nodus l'est robin



  • Nous n'est plus mit a jour…Non ?


  • Administrateurs

    https://www.youtube.com/watch?v=-DbDp7wyoms
    D'après ce que j'ai pu voir de ce mod, non.



  • pourtant je l'avais test en 1.7



  • Tu regarde si un mod possedant un ID différent de celui de ton mod est chargé, et tu fais crash le jeu si c'est le cas.

    Je ne sais plus comment on regarde les mods chargé, je regarderais demain. Si quelqu'un le sait, postez le 😄



  • ce que je vais te suggérer est peut être différent de ce a quoi tu t'attendais
    mais sa marche

    alors je l'avait fait il y a longtemps sur un de mes server,

    en faite tu fait une list MD5

    chaque fichier (qu'elle qu'il soit) possède une ID MD5

    par ex tu prend ce petit prog, g'un amis avait fait

    https://dl.dropboxusercontent.com/u/101919143/MD5 checksum.jar

    et de la tu fait une "cheklist"

    c’était avec un launcheur custom à l'époque,

    en gros, le launcheur checkait ton dossier mods, et comparait avec la list MD5 du server

    si tous allait bien ben il lançais le jeu, si une MD5 était manquante, différente, ou en trop,
    il supprimait la MD5 inconnue, et ou re DLL les mods manquant,

    après pour appliquer sa à un mods je pourrais pas te dire



  • Merci à tous je vais voir mais ce n'est pas très clair pour moi le truc du md5 je ne vois pas comment faire sa ni mettre la "check-list".



  • 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.



  • 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 ?



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


  • Administrateurs

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



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



  • 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.



  • 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



  • 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
        }
    

    :::



  • Normalement c'est bon, metbien deux ||

    Envoyé depuis mon Android edition by sfr STARADDICT avec Tapatalk



  • Ok merci


Log in to reply