Créez votre propre installateur


  • Administrateurs

    youtubeCe tutoriel est également disponible en vidéo.

    Sommaire

    Introduction

    Salut à tous ! Dans ce premier tutoriel hors série je ne vais pas vous apprendre à créer un bloc, ni un item, ni quoi que ce soit en rapport avec la programmation. Je vais plutôt vous apprendre à créer un installateur de mod pour votre serveur. Comme dit juste avant, il n'y aura rien à programmer. Il suffit juste de modifier des fichiers texte, n'importe qui peut donc suivre ce tutoriel.
    L'installateur à les fonctionnalités suivantes :

    • Télécharge automatiquement les mods mais aussi d'autres fichiers si spécifiés (pack de ressource, extension pour Flan's mod, configuration des mods, etc …).
    • Utilise comme dossier de jeu .minecraft/modpacks/<nom du modpack>. Il n'y a donc aucun conflit avec les autres mods que l'utilisateur installe.</nom>
    • Passe entièrement par le launcher officiel de Mojang (ajoute un nouveau profil ayant le nom de votre modpack, comme lorsqu'on installe Forge ou Optifine). Vos utilisateurs n'ont donc pas à craindre un vol d'identifiant.
    • Système de mise à jour intégré : lorsque l'utilisateur clique sur "play" sur le launcher, cela lance un petit programme nommé "updater" qui va vérifier que tout est à jour. Si ce n'est pas le cas il télécharge les nouveaux fichiers et supprime les anciens puis lance le jeu. Si c'est le cas il lance directement le jeu.
    • En plus de vérifier que tout est à jour, l'updater vérifie qu'aucun fichier inconnu n'ait été ajouté. Si c'est le cas il les supprime. Ainsi si un utilisateur installe un mod de xray, ce dernier sera supprimé au lancement.
    • Il est aussi possible de configurer une liste blanche de fichier autorisé. Par exemple vous pouvez autoriser un mod de minimap sans qu'il ne soit installé par défaut. Si l'utilisateur l'installe manuellement ce dernier il ne sera alors pas supprimé (optionnel).
    • Possibilité de configurer une liste de changement (changelog) (optionnel).
    • Possibilité d'afficher un bouton vers votre site sur l'installateur (optionnel).
    • Possibilité de configurer des pré-configurations (pour les touches ou option graphique). L'utilisateur pourra ainsi choisir sa configuration parmi les pré-configurations que vous avez mis en place. Cette pré-configuration sera téléchargée lors de la première installation.

    Par rapport à un launcher, l'installateur a les avantages suivants :

    • Utilise le dossier assets et le dossier libraries de .minecraft et non d'un .nomDuLauncher. Cela évite que l'utilisateur ne se retrouve avec plusieurs fichiers en double sur son ordinateur (le dossier assets et libraries font presque 200 mo ensemble.
    • Ne nécessite pas de ré-héberger des fichiers de Minecraft. Comme il passe entièrement par le launcher officiel, c'est ce dernier qui s'occupe de télécharger les fichiers du jeu via les serveurs de Mojang. Ainsi contrairement à certains launchers qui nécessitent le ré-hébergement de certains fichiers de Minecraft sur son propre serveur, l'installateur respecte entièrement les conditions d'utilisation de Minecraft. (Oui il est interdit de ré-héberger les fichiers de Minecraft, cependant comme Mojang ne s'amuse pas à vérifier ça beaucoup de personnes le font et sont donc dans l'illégalité).
    • L'utilisateur ne se retrouve pas avec 50 launchers différents s'il a plusieurs modpacks puisque tout est centralisé dans le launcher officiel.
    • Comme dit plus tôt, l'utilisateur ne craindra pas un vol d'identifiant (même si c'est rare, c'est déjà arrivé, Jeb a d'ailleurs dit de se méfier des launchers non-officiels).

    Par rapport à un launcher, l'installateur a les désavantages suivants :

    • Pas de page d'accueil que l'utilisateur voit à chaque lancement (ce qui est en général utilisé pour afficher les nouveautés du serveur ou autre). Ce problème peut être contourné en affichant les nouveautés sur la page principale du jeu (cela sera le sujet d'un futur tutoriel de modding).
    • Certains mod utiliseront toujours le dossier .minecraft au lieu de .minecraft/modpacks/<nom du="" modpack="">. Il arrivera donc que le fichier de config d'un mod se retrouve dans .minecraft/config au lieu de .minecraft/modpacks/<nom du="" modpack="">/config. Malheureusement je ne peux rien n'y faire, le problème vient du mod lui même qui utilise new File(".") au lieu de Minecraft.getMinecraft().mcDataDir pour obtenir le dossier du jeu. Il faut signaler le problème à l'auteur du mod si rencontré.</nom></nom> Ce problème est réglé depuis la version 2.3.0.

    Démonstration

    Voici une rapide démonstration en vidéo, si celle-ci vous satisfait vous n'avez plus qu'à suivre le tutoriel.

    Youtube Video

    Pré-requis

    • Un logiciel d'extraction (7zip, winrar)
    • Un éditeur de texte (le bloc note de Windows peut suffire mais notepad++ ou sublime text sont mieux).
    • Un serveur web avec php. Certains hébergeurs Minecraft fournissent un web avec leurs offres Minecraft, d'autres en option, d'autres pas du tout. Il existe des offres d'hébergements web gratuites mais souvent limitées (l'offre gratuite de hostinger devrait être suffisante pour l'installateur si tous vos fichiers ne font pas plus de 2 go) sinon kimsufi propose un serveur web à 1,80 €/mois (nom de domaine offert à la création) qui sera suffisant pour l'installateur et pour le site web de votre serveur. Si vous avez un serveur dédié ou un vps vous pouvez facilement y installer un serveur web (comme apache2).
    • Un logiciel de ftp comme filezilla pour envoyer les fichiers sur votre serveur web. (http://sourceforge.net/projects/filezilla/ ajoutez "?nowrap" à la fin du lien de téléchargement pour ne pas avoir l'installateur contenant des publiciels)

    Création de l'installateur

    Préparation du serveur web :

    Commencez par télécharger les ressources depuis le lien suivant : http://dl.mcnanotech.fr/FFMT/installer/resourcesV2/
    Vous allez avoir besoin du fichier structure.zip et du fichier zip correspondant la version de forge souhaitée. Si la version de Minecraft que vous souhaitez n'est pas disponible n’hésitez pas à demander, je la rajouterai. Je vais vous expliquer plus tard dans le tutoriel comment changer la version de forge.
    Extrayez les deux archives. Connectez-vous en ftp à votre serveur puis créez un nouveau dossier nommé installateur. Dans ce dossier installateur uploadez le dossier sync (qui était présent dans l'archive structure). Si vous souhaitez mettre en place des pré-configurations uploadez aussi le dossier preset.
    Ouvrez maintenant le fichier remote_info.json à l'aide d'un éditeur de texte.
    Nous allons dans un premier temps modifier la partie "install".

    • "name" correspond au nom du modpack. Mettez à la place de "name of your modpack" le nom de votre modpack. Ce nom va être utilisé pour le nom du profil ainsi que pour le nom de l'installateur.
    • "minecraft" est la version de Minecraft, vous n'avez pas besoin de la modifier.
    • "forge" est la version de Forge. Cette ligne sera à modifier en cas de changement de forge, mais il y a aussi d'autres choses à changer, nous verrons ça dans la partie "mettre en place une mise à jour".
    • "syncDir" est une liste de dossier à synchroniser totalement (les dossiers concernés seront identiques dans le dossier sync et dans le dossier de jeu de l'utilisateur). Par défaut il y a le dossier mods, vous pouvez aussi ajouter le dossier config et si vous avez flan's mod sur votre serveur ajoutez aussi le dossier Flan. Les différents dossier doivent être séparés avec une virgule :
      "syncDir": "mods,config,Flan",
    • Pour vous détailler un peu plus le principe de fonctionnement du téléchargement des fichiers :Votre dossier sync correspond en quelques sortes au dossier .minecraft/modpack/<nom du="" modpack="">. Tous les fichiers placés dans le dossier sync seront téléchargés à l'identique dans le dossier de jeu. Donc si j'ajoute un fichier "MonMod.jar" dans un dossier mods, que j'upload dans le dossier sync, lors de l'installation l'installateur va télécharger ce fichier dans le dossier .minecraft/modpack/<nom du="" modpack="">/mods/. À savoir qu'un programme nommé "updater" est lancé lorsque le joueur lance le profil de votre serveur donc les fichiers qui se trouvent dans le dossier sync sont vérifiés à chaque lancement et téléchargés si manquants. Avec ce comportement si je retire ce mod du dossier sync/mods, le fichier va être conservé sur l'ordinateur de l'utilisateur. De même si l'utilisateur télécharge et place dans le dossier .minecraft/modpack/<nom du="" modpack="">/mods/ un fichier qui n'est pas présent dans le dossier sync/mods, celui-ci sera conservé. Cependant, comme le dossier mods est présent dans la liste "syncDir", le dossier mods sera alors identique dans le dossier de jeu de l'utilisateur et dans le dossier sync. Donc si je retire le mod du dossier sync/mods, il sera aussi retiré du dossier .minecraft/modpack/<nom du="" modpack="">/mods/. De même si l'utilisateur ajoute un autre mod. Par défaut, seul le dossier mods a ce comportement. Ajouter des dossiers à la liste syncDir permet donc de reproduire ce comportement dans d'autres dossiers. Du-coup il n'est pas possible d'installer des mods non présents dans le dossier sync/mods du serveur web. Sauf si vous configurez la whitelist, ce qui va être expliqué dans une autre partie du tutoriel.</nom></nom></nom></nom>
    • "syncUrl" est l'adresse du dossier sync. Vous devez y mettre le lien vers votre dossier sync. Créez un dossier mods à l'intérieur de votre dossier sync et ajoutez-y quelques fichiers, puis allez avec votre navigateur sur le lien de votre dossier sync. Vous devrez avoir quelque chose de semblable à ceci : http://dl.mcnanotech.fr/FFMT/installer/demo/sync/
      Si vous avez une erreur php cela peut venir du fait que la version de php utilisé est trop ancienne. Si vous avez un vps ou serveur dédié vous pouvez le mettre à jour vous-même. Sinon vous allez devoir demander à votre hébergeur voire changer d'hébergeur.
    • "welcome" est le petit message de bienvenue qui s'affiche en dessous de l'image de l'installateur. Laissez le vide si vous ne voulez pas de message :
      "welcome": "",
    • "whitelist" correspond au lien vers la whitelist. Si vous souhaitez mettre en place une whiteliste créez un fichier nommé whitelist.json dans le dossier installateur de votre site web et indiquez ici le lien vers ce fichier. Sinon supprimez complètement cette ligne.
    • "JVMarg" vous permet de mettre des arguments Java au profil que va créer l'installateur. Par exemple la valeur suivante : "-Xmx2G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M" permet d'avoir les mêmes arguments que ceux présents par défaut mais avec 2 go de ram à la place de 1. Attention si vous mettez plus de 1536M de ram les utilisateurs ayant Java 32 bits ne pourront plus lancer le profil.
      Si vous ne voulez pas d'argument Java personnalisé supprimez cette ligne.
    • "webSite" vous permet de mettre un lien vers le site web de votre serveur. Si vous n'en avez pas retirez cette ligne, le bouton "site web" ne sera pas présent sur l'installateur.
    • "credits" vous permet de créditer les personnes qui ont contribué à votre serveur. Pour faire un retour à la ligne dans le texte utilisez la balise html
      . Le petit texte s'affichera au début dans le menu crédit de l'installateur. Supprimez cette ligne si vous n'avez pas besoin de créditer des contributeurs.
    • "changeLog" est le lien vers le fichier json contenant le changelog. Si vous souhaitez mettre en place un changelog créez dans le dossier installateur de votre ftp un fichier nommé changelog.json et mettez le lien de ce dernier ici. Sinon supprimez cette ligne.

    Attention, la dernière ligne présente avant la fermeture d'accolade ne doit pas avoir de virgule à la fin.
    Par exemple :

    {
       "install": {
           "name":"demonstration",
           "minecraft": "1.8.9",
           "forge": "11.15.0.1718",
           "syncDir": "mods",
           "syncUrl": "http://dl.mcnanotech.fr/FFMT/installer/demo/sync/",
           "welcome": "Bienvenue sur l'installateur de démonstration",
           "whiteList":"http://dl.mcnanotech.fr/FFMT/installer/demo/whiteList.json",
           "JVMarg":"-Xmx1536M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M",
           "webSite":"http://www.minecraftforgefrance.fr/",
           "credits":"Modpack créé par robin4002 pour cette démonstration",
           "changeLog":"http://dl.mcnanotech.fr/FFMT/installer/demo/changelog.json"
       },
    […] <- j'ai coupé car le tout aurait été assez long
    

    ceci fonctionnera.

    {
       "install": {
           "name":"demonstration",
           "minecraft": "1.8.9",
           "forge": "11.15.0.1718",
           "syncDir": "mods",
           "syncUrl": "http://dl.mcnanotech.fr/FFMT/installer/demo/sync/",
           "welcome": "Bienvenue sur l'installateur de démonstration",
           "whiteList":"http://dl.mcnanotech.fr/FFMT/installer/demo/whiteList.json",
           "JVMarg":"-Xmx1536M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M",
           "webSite":"http://www.minecraftforgefrance.fr/",
           "credits":"Modpack créé par robin4002 pour cette démonstration",
           "changeLog":"http://dl.mcnanotech.fr/FFMT/installer/demo/changelog.json",
       },
    […]
    

    Ceci est un json invalide et causera une erreur.

    Ensuite dans la partie "profile" changez juste la valeur de id. l'id va correspondre au nom du dossier qui se trouve dans le dossier .minecraft/modpack/ ainsi qu'au dossier qui se trouve dans .minecraft/version/
    Choisissez de préférence un nom sans caractères spéciaux ni d'espace (uniquement a-z,A-Z,0-9).

    Je vous invite à vérifier votre json avec le site suivant : http://jsonlint.com/ (il faut bien copier/coller tout le json et non juste une partie, sinon il va tout le temps vous dire que c'est invalide)

    Vous pouvez maintenant uploader le fichier dans le dossier installateur du ftp.

    Modification de l'installateur :

    Rendez-vous sur la page de téléchargement de l'installateur et téléchargez le dernier installateur en date (le fichier .jar).
    Ouvrez le fichier jar à l'aide d'un logiciel d'extraction (7zip, winrar, etc… sous OS X il faut extraire le zip afin d'obtenir un dossier puis modifier directement le contenu du dossier, refaire un .zip à l'aide du dossier une fois les modifications terminées et enfin changer l'extension du fichier .zip en .jar)
    Ouvrez le dossier "installer" qui se trouve à l'intérieur de l'archive. Ouvrez maintenant le fichier local_info.json à l'aide d'un éditeur de texte. Changez l'url par celle de votre fichier remote_profile.json.
    Remplacez également le fichier logo.png par le logo de votre serveur. Éviter les images trop grandes, mettre une image de 1280x720 par exemple est une très mauvaise idée. L'idéal se situe entre 100x50 et 600x300. Si vous ne voulez par d'image sur l'installateur remplacez le fichier logo.png par une image blanche de 100x1 par exemple. La non présence du fichier logo.png va faire planter l'installateur.

    Le jar de votre installateur est maintenant prêt, il ne vous reste plus qu'à le distribuer à vos utilisateurs. (Vous pouvez le mettre sur votre ftp et distribuer le lien de ce dernier à vos utilisateurs).
    Et si vous n'avez pas mis en place de whitelist, ni de changelog, ni de pré-configuration, votre installateur est fini et opérationnel !
    Si ce dernier ne fonctionne pas, vérifiez dans un premier temps le fichier remote_profile.json. Si vous ne trouvez pas d'erreur ouvrez une discussion dans la section support pour l'installateur, décrivez le problème rencontré, donnez-nous le lien de votre fichier remote_profile.json ou le lien du jar de l'installateur et nous allons vous aider à régler le problème.

    Mise en place de la whitelist (optionnel) :

    Téléchargez sur votre ordinateur le fichier whitelist.json que nous avons créé dans la première partie. Ce dernier est vide, ouvrez-le avec un éditeur de texte.
    Ajoutez ceci dans le fichier :

    {
       "exemple.jar":"md5",
       "exemple2.jar":"md5",
       "exemple3.jar":"md5"
    }
    

    Comme le reste de l'installateur la whitelist est au format json. Ici il faudra juste mettre le nom du mod suivi de son md5. Chaque ligne doit avoir une virgule à la fin, sauf la dernière.
    Le nom du mod est juste là pour vous aider à vous retrouver, l'installateur ne l'utilise pas. Vous pouvez donc mettre ce que vous voulez sur la partie de gauche. La partie de droite par contre (le md5) est plus importante car c'est de que l'installateur va utiliser.
    Pour obtenir le md5 d'un fichier vous pouvez utiliser le logiciel suivant sous Windows : http://www.winmd5.com/
    Il faudra sélectionnez le fichier, le md5 s'affichera en dessous de "Current file md5 checksum value".
    Sous Linux ou OS X vous pouvez utilisez la commande md5sum depuis un terminal :

    Voici un exemple de fichier whitelist.json avec un mod :

    {
       "OptiFine_1.8.9_HD_U_H3.jar":"e3c0fbd46bebe4e2dd1b55666e9f9377"
    }
    

    Pas de virgule à la fin comme il n'y a qu'une seule ligne dans le fichier.
    Avec plusieurs mods :

    {
    "OptiFine_1.8.9_HD_U_H3.jar":"e3c0fbd46bebe4e2dd1b55666e9f9377",
    "OptiFine_1.8.9_HD_U_H2.jar":"c55e665db3717a654a6ae973b7bb3083",
    "OptiFine_1.8.9_HD_U_H1.jar":"f4fd33036f372a6bb6050552f2241fb5",
    "InventoryTweaks-1.60-dev-27.jar":"fcd693fbca409f3e40e7d6ff39f25b96",
    "gamesense-1.11.jar":"9de271ea5ff1c5aeb2fafc943bd263b0"
    }
    

    Seule la dernière ligne n'a pas de virgule.

    Une fois fini il ne vous reste plus qu'à uploader le fichier sur votre ftp.
    Si vous souhaitez autoris un mod de plus à tout moment il vous suffit de l'ajouter à cette liste simplement en modifiant à nouveau le fichier. De même si vous voulez interdire un mod précédemment autorisé, il vous suffit de le retirer de la liste.

    Mise en place du changelog (optionnel) :

    Téléchargez sur votre ordinateur le fichier changelog.json que nous avons créé dans la première partie. Ce dernier est vide, ouvrez-le avec un éditeur de texte.
    À nouveau le fichier est au format json, il faut donc faire attention aux virgules. Le format est simple, la partie de droite du json sera la version et la partie de gauche le changelog de la version. Il faudra utiliser "\n" pour faire un retour à la ligne. Voici un exemple de fichier valide :

    {
       "1.1.0":"-ajout de TheSpotLightMod\n-ajout d'IronChest",
       "1.0.0":"-version initiale"
    }
    

    L'installateur affichera tous les changelog compris entre la dernière version et la version actuelle du client exclus. L'ordre doit être décroissant, la mise à jour la plus récente est donc haut-dessus et la plus ancienne en-dessous.

    Le système de mise à jour reste totalement indépendant du changelog. C'est à dire que si vous ajoutez un mod sans modifier le changelog le système de mise à jour téléchargera quand même le mod. Donc si vous oubliez de modifier le changelog cela ne causera aucun problème. C'est seulement un plus pour que les joueurs de vos serveurs puissent voir les changements directement depuis le système de mise à jour.

    Uploadez le fichier sur votre ftp une fois modifié (n'hésitez pas à le vérifier avec jsonlint pour être sûr qu'il n'y ait pas d'erreur dans le json).

    Mise en place des pré-configurations (optionnel) :

    Allez dans le dossier preset de votre ftp. Commencez par créer un dossier par pré-configuration que vous souhaitez mettre en place. Dans mon cas je vais créer un dossier nommé low_graphic, un dossier high_graphic et un dossier medium_graphic.
    Téléchargez le fichier index.php qui se trouve dans le dossier preset. Ouvrez le fichier avec un éditeur de texte et modifiez la ligne 37 :

    echo ' "default": "azerty",'."\n";
    

    à la place de azerty indiquez le nom de la pré-configuration par défaut. Dans mon cas je vais mettre medium_graphic :

    echo ' "default": "medium_graphic",'."\n";
    

    Maintenant dans chaque dossier mettez les fichiers tels qu'ils vont se retrouver dans le dossier .minecraft/modpacks/<nom de="" votre="" modpack="">/
    Par exemple dans mon cas comme je veux mettre une pré-configuration graphique, je vais mettre dans chaque dossier (low_graphic, medium_graphic et high_graphic créé précédemment) un fichier options.txt avec les options configurées à l'avance.
    Dans le fichier options.txt qui se trouve dans le dossier low_graphic je vais mettre :

    renderDistance:8
    clouds:false
    enableVsync:false
    particles:2
    

    (ces valeurs viennent du fichier options.txt qui se trouve dans le dossier .minecraft après avoir mis la distance de rendu sur 8, les nuages sur off, la vsync sur off et les particules sur minimum).

    Pour finir, dans le fichier remote_info.json ajoutez ceci :

    "preConfig": true,
    "preset": "https://lien.vers/le/dossier/preset/",
    

    On peut utiliser le même principe pour faire des pré-configurations de touche. Ou alors pour des packs de ressources en créant un dossier "resourcepacks" et en plaçant un pack de ressource différent dans chaque dossier de pré-configuration.

    Comment mettre en place une mise à jour :

    Mettre en place une mise à jour est très simple. Si vous souhaitez ajouter un mod ajoutez simplement le jar du mod en question dans le dossier sync/mods/ du ftp. De même si vous souhaitez en retirer un. (pensez à bien mettre à jour votre serveur en même temps). Pour changer la version d'un mod supprimez le jar de l'ancienne version et ajoutez le jar du nouveau mod.

    Si vous avez mis en place un changelog il faut juste ajouter dans le fichier changelog.json une ligne avec le numéro de version et les changements que vous avez effectué.

    En vidéo

    Youtube Video

    Crédits

    Rédaction :

    Correction :

    Creative Commons
    Ce tutoriel de Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

    retourRetour vers le sommaire des tutoriels


  • Administrateurs

    Oui ça fonctionne aussi.



  • Bonjour,
    j'ai constamment un problème avec les autres pc qui lancent minecraft après l'installation:

    Successfully read file : sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@12a3a380
    Successfully read file : sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@6e0be858
    Starting updater !
    Exception in thread "main" java.lang.NoSuchMethodError: joptsimple.OptionParser.allowsUnrecognizedOptions()V
    at fr.minecraftforgefrance.updater.Updater.<init>(Updater.java:44)
    at fr.minecraftforgefrance.updater.Updater.main(Updater.java:36)

    Pour information, mon installateur: http://mlp-france.fr/minecraft/installer-2.1.2.jar
    Mon remote_info: http://mlp-france.fr/minecraft/remote_info.json

    Si quelqun à une idée de pourquoi, je suis toute ouïe !</init>


  • Administrateurs

    J'ai vu ton commentaire sur youtube, franchement cette erreur est un mystère car la lib est bien présente et la fonction qu'il ne trouve pas est bien dedans. C'est vraiment étrange.



  • @'robin4002':

    J'ai vu ton commentaire sur youtube, franchement cette erreur est un mystère car la lib est bien présente et la fonction qu'il ne trouve pas est bien dedans. C'est vraiment étrange.

    Après de nombreux tests, le problème est réglé si forge est installé avant ou après l'installation depuis le launcher.
    Peut-être une dépendance installée en même temps que le client forge ?

    Sinon, la source du problème est la suivante: le message d'erreur apparaît si l'utilisateur n'a pas Forge d'installé (pas besoin de le lancer, juste l'installer depuis l'installateur Windows suffit)
    Ps: testé sous 1.8.9 version 1808



  • @'robin4002':

    J'ai vu ton commentaire sur youtube, franchement cette erreur est un mystère car la lib est bien présente et la fonction qu'il ne trouve pas est bien dedans. C'est vraiment étrange.

    Bon, déjà, après avoir vérifié toutes les librairies individuellement, il n'en manque aucune, donc le problème ne vient pas de là.

    Je ne comprend du coup pas comment l'installation de forge peut régler le problème.



  • Très bonne nouvelle !
    Après un scan complet des fichiers avec WinMerge, j'ai pu déterminer l'erreur exacte.

    Il semblerai que le fichier net.minecraftforge:forge:1.8.9-11.15.1.1808 qui se trouve dans les librairies et qui est téléchargé par le launcher est corrompu.

    Si forge est installé avant, il ne retelecharge pas le fichier et a donc un fichier valide => Sa marche
    Si forge est installé après le launcher forge détecte cette différence et retélécharge un fichier valide => Sa marche
    Si forge n'est pas installé le launcher télécharge un fichier invalide => Il y à l'erreur

    Et maintenant: Pourquoi ce fichier corrompu ?
    Et bien, pour une raison très simple et très conne….
    Le remote-info fourni pour la version 1722 dans les liens de téléchargement est corrompu !
    En effet, une erreur est présente:
    Ligne 35 pour directURL il télécharge le fichier installer au lieu du fichier universal !
    Oui, tout sa à cause d'une simple erreur de mot dans le fichier fourni dans le dl.

    Bref, il faudra vérifier dans tous les fichiers remote_info des liens de téléchargement que l'erreur n'est pas présente.

    Et puis, tant que j'y suis, voici une version 1.8.9-1808 avec LiteLoader inclus: http://mlp-france.fr/minecraft/remote_info_forge1.8.9-1808_LiteLoader.zip


  • Administrateurs

    Alors là, franchement, bravo !
    J'aurai jamais douté que le problème venait de là.
    Quand j'y repense c'est logique, l'installateur de forge se retrouvait donc dans le classpath. Or ce dernier contient une version partiel de jsimplepot, sans la fonction en question, d'où le problème x) la version complète de jsimplepot étant donc ignoré à cause de ça …

    J'ai corrigé le profil en question et vérifier les autres, le deuxième forge 1.8.9 avait visiblement le même soucis (en fait il était identique alors qu'il aurait du avoir une version différente de forge ...). J'en ai profité pour mettre à jour ce dernier.
    J'ai également ajouté le profile 1.8.9 avec lite loader, merci 🙂
    Et je vais également ajouter un profil pour la 1.9. À l'avenir je vais essayer de faire un peu plus attention x)

    En tout cas merci encore pour ton travail de recherche !



  • @'robin4002':

    Alors là, franchement, bravo !
    J'aurai jamais douté que le problème venait de là.
    Quand j'y repense c'est logique, l'installateur de forge se retrouvait donc dans le classpath. Or ce dernier contient une version partiel de jsimplepot, sans la fonction en question, d'où le problème x) la version complète de jsimplepot étant donc ignoré à cause de ça …

    J'ai corrigé le profil en question et vérifier les autres, le deuxième forge 1.8.9 avait visiblement le même soucis (en fait il était identique alors qu'il aurait du avoir une version différente de forge ...). J'en ai profité pour mettre à jour ce dernier.
    J'ai également ajouté le profile 1.8.9 avec lite loader, merci 🙂
    Et je vais également ajouter un profil pour la 1.9. À l'avenir je vais essayer de faire un peu plus attention x)

    En tout cas merci encore pour ton travail de recherche !

    Merci à toi pour ton aide !



  • Bonjour à tous, je viens de finir de lire et de tester ton tuto et tous fonctionne !
    Mais j'ai voulu tester les limites de installateur  🙂
    Chez moi, tous les fichiers qui sont dans le dossier sync sont syntonisés à chaque fois alors que normalement seul les dossiers de la liste "syncDir" le sont !
    Je voudrais savoir où mettre le fichier "server.dat" pour qu'il soit ajouté dans le modPack une fois, avec l'installateur, car pour le moment l'updater me le DL à chaque fois !

    Voici mon remote_info :
    "syncDir": "mods,config"
    "syncUrl": "http:../installateur/sync/"

    Donc je mets mon "servers.dat" dans : installateur/sync/ .
    Dois t'il être dans un sous-dossier pour ne pas être syncro ?

    Et au passage j'ai fait la même manip pour le preset , l'index.php du preset voit bien mes option.. .txt , ( sur navigateur ) , mais l'updater n'envois rien , ni même l'installateur pour la 1er install .
    Merci d'avance pour votre aide  🙂


  • Administrateurs

    Salut,
    Vu l'emplacement le fichier servers.dat ne devrait que être téléchargé lors de la première installation et non à chaque fois.

    Et pour les preset ce n'est pas normal non plus.

    Tu peux m'envoyer le lien de ton installateur modifié (ou du fichier remote_profile) ? (si tu ne veux pas les donner publiquement envoies-moi ça en mp)


    La pré-configuration ne fonctionne pas car il manque la ligne :
    "preset";"http:// lien de ton dossier preset",
    dans la partie install du fichier remote_info.json
    Et tu ne risquait pas de le savoir car j'ai oublié de le préciser dans le tutoriel x)

    Concernant le fichier servers.dat retéléchargé à chaque fois je vais vérifier le code, il y a en effet un problème.



  • "Erreur réseau, veuillez vérifier votre connection internet"

    Voila le message d'erreur que j'obtient 😕

    Voici l'URL : http://bern-arts.fr/CYG/install/

    Et l'installateur : en PJ

    Merci 😉



  • On ne dit pas installeur?


  • Administrateurs

    installateur en français, installer en anglais.



  • Salut

    j'ai un soucis avec mon installer, il re-vérifie systématiquement le dossier config

    et je n'arrive pas a ajouter le fichier server.dat

    Merci du coup de main !



  • @'robin4002':

    installateur en français, installer en anglais.

    Installeur = programme qui t'installe un logiciel
    Installateur = personne qui t'installe une lampe par exemple

    Minantcraft 😉


  • Administrateurs

    Installateur est aussi bon pour un programme qui installe.
    Installeur est calqué de la langue anglaise.

    En tout cas c'est ce qu'indique wikipedia : https://fr.wikipedia.org/wiki/Installateur_(logiciel)

    @'Histos':

    Salut

    j'ai un soucis avec mon installer, il re-vérifie systématiquement le dossier config

    et je n'arrive pas a ajouter le fichier server.dat

    Merci du coup de main !

    Peux-tu m'envoyer un lien vers ton fichier remote_profile.json ?



  • @'robin4002':

    Installateur est aussi bon pour un programme qui installe.
    Installeur est calqué de la langue anglaise.

    En tout cas c'est ce qu'indique wikipedia : https://fr.wikipedia.org/wiki/Installateur_(logiciel)

    @'Histos':

    Salut

    j'ai un soucis avec mon installer, il re-vérifie systématiquement le dossier config

    et je n'arrive pas a ajouter le fichier server.dat

    Merci du coup de main !

    Peux-tu m'envoyer un lien vers ton fichier remote_profile.json ?

    je te l'ai envoyé



  • Mouais Wikipedia…

    Minantcraft 😉


  • Administrateurs

    @'Minantcraft':

    Mouais Wikipedia…

    Sérieusement ?
    Youtube Video