MFF

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

    Signer un mod

    Planifier Épinglé Verrouillé Déplacé Java & outils de développement
    forgegradle
    14 Messages 4 Publieurs 3.3k Vues 3 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.
    • D Hors-ligne
      Degraduck
      dernière édition par

      Salut par curiosité j’ai testé j’ai tout fais sauf l’étape plugin FML car je ne sais aps ce qu’est un plugin FML xD mais rien ne se passe je vois pas en quoi le mod est signer 🙂

      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

        Pour vérifier que ton mod est bien signé, modifies un fichier du jar, logiquement il va crasher au lancement.

        1 réponse Dernière réponse Répondre Citer 0
        • D Hors-ligne
          Degraduck
          dernière édition par robin4002

          Aucun crash ^^

          Mon fichier gradle.properties:

          keyStore=C:\Users\Sullivan.keystore
          keyStoreAlias=Degraduck
          keyStorePass=monmdp
          keyStoreKeyPass=monmdp
          

          Mon code dans la class principale:

          @Mod(modid = Constants.MODID, name = Constants.MODNAME, version = Constants.MODVERSION, certificateFingerprint = "13acf16405b3ac8d7ccab68563acefda5f644c75")
          
          @EventHandler
          public void signature(FMLFingerprintViolationEvent event){
          
          }
          
          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

            As-tu bien ajouté la tâche signJar dans le fichier build.gradle ?

            1 réponse Dernière réponse Répondre Citer 0
            • D Hors-ligne
              Degraduck
              dernière édition par robin4002

              Oui voici mon fichier:

              buildscript {
              repositories {
              mavenCentral()
              maven {
              name = "forge"
              url = "http://files.minecraftforge.net/maven"
              }
              maven {
              name = "sonatype"
              url = "https://oss.sonatype.org/content/repositories/snapshots/"
              }
              }
              dependencies {
              classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
              }
              }
              
              apply plugin: 'forge'
              
              version = "1.0"
              group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
              archivesBaseName = "modid"
              
              minecraft {
              version = "1.7.10-10.13.4.1558-1.7.10"
              runDir = "eclipse"
              }
              
              dependencies {
              // you may put jars on which you depend on in ./libs
              // or you may define them like so..
              //compile "some.group:artifact:version:classifier"
              //compile "some.group:artifact:version"
              
              // real examples
              //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
              //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
              
              // for more info…
              // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
              // http://www.gradle.org/docs/current/userguide/dependency_management.html
              
              }
              
              processResources
              {
              // this will ensure that this task is redone when the versions change.
              inputs.property "version", project.version
              inputs.property "mcversion", project.minecraft.version
              
              // replace stuff in mcmod.info, nothing else
              from(sourceSets.main.resources.srcDirs) {
              include 'mcmod.info'
              
              // replace version and mcversion
              expand 'version':project.version, 'mcversion':project.minecraft.version
              }
              
              // copy everything else, thats not the mcmod.info
              from(sourceSets.main.resources.srcDirs) {
              exclude 'mcmod.info'
              }
              }
              
              task signJar(type: SignJar) {
              onlyIf { // On exécute seulement s'il y a un keystore spécifié dans le gradle.properties
              project.hasProperty('keyStore')
              }
              
              keyStore = project.keyStore // on indique le keystore ainsi que toutes les autres variables
              alias = project.keyStoreAlias
              storePass = project.keyStorePass
              keyPass = project.keyStoreKeyPass
              inputFile = jar.archivePath // On indique le jar d'entrée et de sortie
              outputFile = jar.archivePath
              }
              
              assemble.dependsOn signJar // Lorsque l'on compile le jar on le signe
              
              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

                Dans ta fonction public void signature(FMLFingerprintViolationEvent event){
                ajoutes un System.out.println(“empreinte invalide”);
                et regardes s’il affiche après avoir modifié le jar.

                1 réponse Dernière réponse Répondre Citer 0
                • D Hors-ligne
                  Degraduck
                  dernière édition par robin4002

                  Oui en lançant j’ai bien:

                  [14:34:53] [Client thread/INFO] [STDOUT]: [com.degraduck.atlantidecraft.core.AtlantideCraft:signature:63]: empreinte invalide
                  
                  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

                    Donc ça fonctionne comme prévu.
                    À toi de faire ce que tu veux dans la fonction en question.

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

                      Ah d’accord je pensais que ça crashait au lancement tout seul, j’avais pas compris que c’était a moi de lui dire de crash dans ma fonction^^

                      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

                        C’était aussi ce que je pensais au début.

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

                          Est-on réellement obliger de passer par le keytool de java ? Ou alors peut-on également et manuellement calculer le sha-1 du fichier et de le mettre en paramètre du @Mod ? Car si je comprend bien, le sha1 mis dans l’annotation correspond au sha1 de notre mod, je me trompe ?

                          Mon GitHub
                          Mon repo Maven
                          Mon Updater
                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

                          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 robin4002

                            Le sha1 qui se trouve dans @mod c’est la signature de la clé avec laquelle tu signes, pas celle du mod.

                            Il y a probablement moyen de signer sans keytool mais je ne vois pas l’intérêt de vouloir se passer de cet outil qui simplifie la procédure.
                            https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html

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

                              merci de ces informations !

                              Mon GitHub
                              Mon repo Maven
                              Mon Updater
                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

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

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB