Lancer forge en java
-
Bonjour à tous ,
étant entrain de crée un launcher perso pour mon serveur , je voudrais savoir comment on lance forge 1.6.4 depuis un logiciel java ?
J’ai fait des recherches , mais elles ne sont pas concluantes . Elles peuvent juste lancées minecraft en version vanilla . J’ai également cherché dans les sources du launcher actuelle sans résultat satisfaisant . La meilleur façon me dirais vous c’est de le faire avec un .json . Mais par manque de connaissance dans ce domaine je ne souhaite pas y passé (a part si vous m’expliquer comment l’itulisé ) .C’est le seul élément qui m’empêche de finir mon launcher .Pouvez-vous m’aider ?
ps : Désolé si je ne poste pas dans la bonne section . Mais n’ayant pas trouvé une section qui se rapproche de "Programmation java etc… " . Je me permet de poster dans cette section
Bonne fin de journée .
-
Suffit de regarder ce que le launcher de minecraft fait.
Lances le launcher de minecraft, choisis le profile forge, édites-le pour que le launcher reste ouvert (launcher visibility -> keep the launcher open) et regardes les logs :[17:00:01 INFO]: Half command: /usr/lib/jvm/java-7-oracle/jre/bin/java -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M -Djava.library.path=/home/robin/.minecraft/versions/1.7.10-Forge10.13.0.1186/1.7.10-Forge10.13.0.1186-natives-7125246239112 -cp /home/robin/.minecraft/libraries/net/minecraftforge/forge/1.7.10-10.13.0.1186/forge-1.7.10-10.13.0.1186.jar:/home/robin/.minecraft/libraries/net/minecraft/launchwrapper/1.9/launchwrapper-1.9.jar:/home/robin/.minecraft/libraries/org/ow2/asm/asm-all/4.1/asm-all-4.1.jar:/home/robin/.minecraft/libraries/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar:/home/robin/.minecraft/libraries/com/typesafe/config/1.2.1/config-1.2.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-actors-migration_2.11/1.1.0/scala-actors-migration_2.11-1.1.0.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/plugins/scala-continuations-library_2.11/1.0.2/scala-continuations-library_2.11-1.0.2.jar:/home/robin/.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:/home/robin/.minecraft/libraries/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-swing_2.11/1.0.1/scala-swing_2.11-1.0.1.jar:/home/robin/.minecraft/libraries/org/scala-lang/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar:/home/robin/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar:/home/robin/.minecraft/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar:/home/robin/.minecraft/libraries/com/mojang/realms/1.3.1/realms-1.3.1.jar:/home/robin/.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/home/robin/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/home/robin/.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/robin/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home/robin/.minecraft/libraries/java3d/vecmath/1.3.1/vecmath-1.3.1.jar:/home/robin/.minecraft/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar:/home/robin/.minecraft/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar:/home/robin/.minecraft/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/home/robin/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/home/robin/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/home/robin/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/home/robin/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/home/robin/.minecraft/libraries/io/netty/netty-all/4.0.10.Final/netty-all-4.0.10.Final.jar:/home/robin/.minecraft/libraries/com/google/guava/guava/16.0/guava-16.0.jar:/home/robin/.minecraft/libraries/org/apache/commons/commons-lang3/3.2.1/commons-lang3-3.2.1.jar:/home/robin/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/robin/.minecraft/libraries/commons-codec/commons-codec/1.9/commons-codec-1.9.jar:/home/robin/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home/robin/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home/robin/.minecraft/libraries/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/home/robin/.minecraft/libraries/com/mojang/authlib/1.5.16/authlib-1.5.16.jar:/home/robin/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.0-beta9/log4j-api-2.0-beta9.jar:/home/robin/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.0-beta9/log4j-core-2.0-beta9.jar:/home/robin/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.1/lwjgl-2.9.1.jar:/home/robin/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.1/lwjgl_util-2.9.1.jar:/home/robin/.minecraft/libraries/tv/twitch/twitch/5.16/twitch-5.16.jar:/home/robin/.minecraft/versions/1.7.10-Forge10.13.0.1186/1.7.10-Forge10.13.0.1186.jar net.minecraft.launchwrapper.Launch
Après il faut aussi les arguments :
–username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type} --tweakClass cpw.mods.fml.common.launcher.FMLTweaker"
En remplaçant bien sur les valeurs par ce qu’il faut. -
Merci , je vais voir si j’y arrive .
Alors , cela veux dire que la manière est totalement différente de celle-ci :try { appdata = System.getenv("APPDATA")+"\\.minecraft"; mc = "cd "+appdata+"\\bin" + " && java -cp minecraft.jar;lwjgl.jar;lwjgl_util.jar;jinput.jar; -Djava.library.path=natives net.minecraft.client.Minecraft " + jTextField1.getText(); command[0] = "cmd"; command[1] = "/c"; command[2] = mc; Process child = Runtime.getRuntime().exec(command); // Get output stream to write from it OutputStream out = child.getOutputStream(); out.write("cd C:/ /r/n".getBytes()); out.flush(); out.write("dir /r/n".getBytes()); out.close(); } catch (IOException e) { }
-
Oui, celle que tu as date de l’ancien launcher (< 1.6)
-
Ok , merci
Voici le code que j’ai fait .
Runtime runtime = Runtime.getRuntime(); String[] args = { "javaw.exe", "-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump", "-Xmx1G", "-Djava.library.path=[Dossiser natives]", "-cp", "[DestJeu]\libraries\net\minecraftforge\minecraftforge\9.11.1.953\minecraftforge-9.11.1.953.jar;[DestJeu]\libraries\net\minecraft\launchwrapper\1.8\launchwrapper-1.8.jar;[DestJeu]\libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;[DestJeu]\libraries\org\scala-lang\scala-library\2.10.2\scala-library-2.10.2.jar;[DestJeu]\libraries\org\scala-lang\scala-compiler\2.10.2\scala-compiler-2.10.2.jar;[DestJeu]\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;[DestJeu]\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;[DestJeu]\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;[DestJeu]\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;[DestJeu]\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;[DestJeu]\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;[DestJeu]\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;[DestJeu]\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;[DestJeu]\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;[DestJeu]\libraries\com\google\guava\guava\14.0\guava-14.0.jar;[DestJeu]\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;[DestJeu]\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;[DestJeu]\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;[DestJeu]\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;[DestJeu]\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;[DestJeu]\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;[DestJeu]\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;[DestJeu]\versions\1.6.4-custom\1.6.4-custom.jar", "net.minecraft.launchwrapper.Launch", "–username thekilleurgamer", "--session token:", "--version 1.6.4-custom", "--gameDir [DestJeu]", "–assetsDir [DestJeu]\assets", "–tweakClass cpw.mods.fml.common.launcher.FMLTweaker"}; try { final Process process = runtime.exec(args); } catch (IOException e) { System.out.println("Le lancement du jeu a echoué"); e.printStackTrace(); }
Pourrais tu me dire si il est potable ?
Et si je doit espacé les libraries , parce que la ils sont tous collés . Et enfin par exemple pour “–assetsDir [DestJeu]\assets”, je dois espacé les deux donnés ? (“–assetsDir”, “[DestJeu]\assets”,)
MerciEdit : Le code ne lance pas le jeu :/[/bt]