1.12.2 launcher lancer le 1.12.2.jar sans passer par le launcher officiel



  • Bonjour, j'aimerai savoir comment lancer le 1.12.2.jar (qui se trouve dans %APPDATA\%\\.minecraft\\versions\\1.12.2) SANS passer par le launcher de base (car comme je le rappelle pour ceux qui n'ont pas essayé avec l'invite de commande, ça met que la classe net.minecraft.client.main est introuvable)
    en fait je cherche à créer un launcher custom pour mon serveur quelqu'un a une idée ?
    j'ai juste entendu dire qu'un Main.class se trouvait dans le launcher.exe (à la base, avant d'être compilé)


  • Moddeurs confirmés Rédacteurs Administrateurs

    Bonsoir,
    C'est net.minecraft.client.main.Main le chemin de la main classe complète.
    Et il se trouve bien dans le jar 1.12.2.
    Par contre pour le lancer, il faut également ajouter toutes les bibliothèques nécessaires dans le classpath.



  • @robin4002 le classpath c'est le fichier *.mf dans le META-INF ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Non, c'est un chemin contenant l'ensemble des bibliothèques à utiliser. Il peut être précisé en utilisant l'argument -cp de la commande java. Le launcher de minecraft le génère à la volé par partir du contenu du fichier 1.12.2.json.



  • en fait le problème est que la JVM cherche un net.minecraft.clien.Main dans le MANIFEST.mf mais ce fichier est inexistant
    il n'y a que net.miencraft.client.main.Main qui n'est pas montré comme étant une Main-Class dans le manifeste
    donc à moins que le fichier Main.class ne soit généré avec le *.json (comme tu le dis) je ne vois pas comment le launcher trouve la classe Main



  • sinon pour la commande cp je ne connais pas les arguments, et je ne vois pas comment créer les bibliothèques avec le json (oui en java j'y connais rien sur les arguments JVM je sais juste dev)



  • This post is deleted!

  • Moddeurs confirmés Rédacteurs Administrateurs

    cp n'est pas une commande mais un argument de la commande Java (il faut lire ce que j'écris ...)

    java -cp fichier1.jar;fichier2.jar chemin.de.la.MainClass



  • et donc le fichier2.jar c'est le fichier contenant toutes les bibliothèques ?
    si j'ai bien compris
    sinon merci 👍


  • Moddeurs confirmés Rédacteurs Administrateurs

    Il n'y a pas de fichier contenant toutes les libs, il faut ajouter chaque lib à la suite.

    Voila la commande java qu'utilise le launcher pour lancer Minecraft 1.12.2 avec forge chez moi :
    java -Dos.name=Windows 10 -Dos.version=10.0 -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Djava.library.path=C:\Users\robin\AppData\Roaming\.minecraft\bin\79fe-d492-a754-835b -Dminecraft.launcher.brand=minecraft-launcher -Dminecraft.launcher.version=2.1.17628 -Dminecraft.client.jar=C:\Users\robin\AppData\Roaming\.minecraft\versions\1.12.2\1.12.2.jar -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -cp C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.12.2-14.23.5.2823\forge-1.12.2-14.23.5.2823.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.2\asm-all-5.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\jline\jline\3.5.1\jline-3.5.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2\scala-continuations-plugin_2.11.1-1.0.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.5.2\vecmath-1.5.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\maven\maven-artifact\3.5.3\maven-artifact-3.5.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\mojang\patchy\1.1\patchy-1.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.1.9.Final\netty-all-4.1.9.Final.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\21.0\guava-21.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.5.25\authlib-1.5.25.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\mojang\realms\1.10.22\realms-1.10.22.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\it\unimi\dsi\fastutil\7.1.0\fastutil-7.1.0.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.8.1\log4j-api-2.8.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.8.1\log4j-core-2.8.1.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar;C:\Users\robin\AppData\Roaming\.minecraft\libraries\com\mojang\text2speech\1.10.3\text2speech-1.10.3.jar;C:\Users\robin\AppData\Roaming\.minecraft\versions\1.12.2\1.12.2.jar net.minecraft.launchwrapper.Launch



  • This post is deleted!


  • le problème c'est que les librairies ne se trouvent pas dans mon dossier bin de .minecraft, comme celle-là : 79fe-d492-a754-835b, donc mon cmd.exe me dit qu'il ne trouve pas la classe principale...
    et juste pour savoir on les trouve comment les arguments que tu m'as donnés (parce que dans la configuration de ma version forge 1.12.2 on voit juste -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M, qui ne sont pas les arguments classpath) ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Ils sont dans le fichier launcher_log.txt après avoir lancé le jeu.



  • ah ok merci ^^



  • alors en fait petit problème avec la commande -D os.name=Windows 10 :

    Error: Could not find or load main class os.name=Windows
    Caused by: java.lang.ClassNotFoundException: os.name=Windows
    

    je ne comprends pas trop pourquoi alors que minecraft arrive très bien à le lancer



  • ah j'ai "réussi" à lancer un programme avec la commande (dans un *.bat), mais ça m'affiche un message d'erreur, comme quoi on ne pourrait pas convertir ClassLoaders$AppClassLoader en URLClassLoader :

    Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
    
    at net.minecraft.launchwrapper.Launch.<init>(Launch.java:34)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    

    mais ça m'étonnerait que Mojang ait fait une erreur dans son code


  • Moddeurs confirmés Rédacteurs Administrateurs

    Forge 1.12.2 ne peut pas être lancé avec Java 11. C'est java 8 maximum.



  • @baztoul76 a dit dans lancer le 1.12.2.jar sans passer par le launcher officiel :

    mais ça m'étonnerait que Mojang ait fait une erreur dans son code

    Bah ... En faite si il y en à pleins d'erreurs et de bêtises 😂
    Mais pas au lancement en effet puisque cela fonctionne 🙂
    Comme dit robin c'est pas le bon Java avec lequel tu travails 😉



  • ah ok...
    bah merci pour tout je re-re-regarde si ça marche



  • Unable to launch
    java.lang.ClassNotFoundException:
    net.minecraft.client.Minecraft
        at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_261]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_261]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_261]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_261]
        at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?]
        at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    Caused by: java.lang.NullPointerException
        at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
    

    j'ai essayé avec jre 1.8.0 261 mais ça ne marche toujours pas...
    donc je vais essayer avec jdk 8 je pense


Log in to reply