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