Closed Arcandian closed 11 years ago
Hmmmm, après quelques heures de recherches, j'ai peut-être une solution : il semblerait qu'il n'y ai pas de checksum md5 généré dans le dossier "bin" du jeu, fichier crée normalement avec le launcher d'origine il me semble. Et il me semble qu'il ai néessaire au démarrage du jeu, même si le jeu n'est pas moddé.
Je tenterais demain cette solution : dans mon zip additionnel, j'ajouterais simplement le md5 crée par le launcher d'origine.
Ce zip sera donc comme suit :
mods.zip : |- bin |- checksum.md5 |- config |- mes fichiers de configs de mods... |- mods |- mes mods zip ou jar |- resources | - les sons...
Et ainsi de suite...
Je vous tiens au courant demain !
Je viens tout juste d'essayer d'intégrer ce hash manquant : le résulat est le même. Le launcher télécharge sans soucis les fichiers demandés, mais reste ensuite sur un écran noir.
Cependant, j'ai peut-être une autre thèse, mais cette fois en rapport avec Forge lui-même. Voici le contenu d'un report d'erreurs généré par celui-ci :
2012-11-27 15:03:26 [INFO] [STDERR] java.lang.RuntimeException: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindClassException: java.lang.ClassNotFoundException: net.minecraft.Launcher 2012-11-27 15:03:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:269) 2012-11-27 15:03:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.appletEntry(FMLRelauncher.java:212) 2012-11-27 15:03:26 [INFO] [STDERR] at net.minecraft.client.MinecraftApplet.init(MinecraftApplet.java:28) 2012-11-27 15:03:26 [INFO] [STDERR] at com.kokakiwi.mclauncher.core.launcher.LauncherApplet.replace(LauncherApplet.java:54) 2012-11-27 15:03:26 [INFO] [STDERR] at com.kokakiwi.mclauncher.core.Launcher.run(Launcher.java:85) 2012-11-27 15:03:26 [INFO] [STDERR] at java.lang.Thread.run(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] Caused by: cpw.mods.fml.relauncher.ReflectionHelper$UnableToFindClassException: java.lang.ClassNotFoundException: net.minecraft.Launcher 2012-11-27 15:03:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.ReflectionHelper.getClass(ReflectionHelper.java:159) 2012-11-27 15:03:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:254) 2012-11-27 15:03:26 [INFO] [STDERR] ... 5 more 2012-11-27 15:03:26 [INFO] [STDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.Launcher 2012-11-27 15:03:26 [INFO] [STDERR] at java.net.URLClassLoader$1.run(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at java.net.URLClassLoader$1.run(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at java.security.AccessController.doPrivileged(Native Method) 2012-11-27 15:03:26 [INFO] [STDERR] at java.net.URLClassLoader.findClass(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at java.lang.ClassLoader.loadClass(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at java.lang.Class.forName0(Native Method) 2012-11-27 15:03:26 [INFO] [STDERR] at java.lang.Class.forName(Unknown Source) 2012-11-27 15:03:26 [INFO] [STDERR] at cpw.mods.fml.relauncher.ReflectionHelper.getClass(ReflectionHelper.java:151) 2012-11-27 15:03:26 [INFO] [STDERR] ... 6 more
Cette ligne : "Caused by: java.lang.ClassNotFoundException: net.minecraft.Launcher", semble indiquer que Forge ne sait pas ou chercher la classe Main() du launcher officiel. Ce qui explique l'erreur de démarrage.
Je vais tenter quelques opérations sur le Wrapper.java, pour voir si je peux overrider ce paramètre. Ça ou faire une version légèrement modifiée de Forge pour booter sur ton launcher. Ou alors modifier l'agencement de ton projet afin qu'il boot correctement. Je vais aussi essayer
Si je trouve une solution, je te posterais le lien de mes sources pour que tu puisse les examiner ^^
Voilà, voilà, si quelqu'un d'autre à trouvé une solution, merci de poster ici (toi aussi Kiwi hein :-) )
Ah oui en effet, j'ai eu le même problème lorsque j'ai voulu utiliser Minecraft Forge avec mon launcher. Le problème c'est que Forge est quasi lié au launcher de base, et ne fonctionne qu'avec celui-ci, et pour le moment je n'ai pas de solutions à ce problème (j'ai tout de même essayé de mettre les classes originelles du launcher de base pour voir, ça ne marche pas) :/
Ben j'ai un début de solution en fait : il y a un fichier dans les sources de Forge, dans le packet common.cpw.mods.fml.relauncher, une classe appelée FMLRelauncher. Elle contient ces lignes (minecraftforge-src-1.4.5-6.4.0.396) :
Ligne 253 | String launcherClassName = System.getProperty("minecraft.applet.WrapperClass", "net.minecraft.Launcher");
Je crois comprendre ce cette chaîne de caractères prend en paramètre une classe de type wrapper et la classe principale du launcher officiel.
L'idée serait donc de remplacer ces paramètres par ceux de tes classes. J'ai essayé avec mcp v7.23 (sous Eclipse), en mettant :
String launcherClassName = System.getProperty("com.kokakiwi.mclauncher.launcher.core.Wrapper", "com.kokakiwi.mclauncher.MCLauncher");
Le souci, c'est que je ne sais pas où se trouvent la classe compilée. J'ignore où la chercher, pour après la remplacer dans mon minecraft.jar et essayer encore une fois.
Mmmh, je vais de faire un tour du code du FTB Launcher pour voir si je trouve pas un indice. Ils ont bien Forge qui fonctionne avec...
A défaut, je viens de poster une requête sur le projet FML de cpw, au cas ils pourraient nous donner un indice. Voilà voilà...
Bon ben j'ai toujours pas de réponses du côté des devs de FML, donc bah faudrait qu'on essaie la solution que j'ai cité précédemment...
Merci pour le truc que t'as trouvé du côté du dépôt de FML, j'vais y jeter un oeil bientôt, étant donné que je comptais utiliser mon launcher pour avoir un Minecraft moddé dans mon DD externe ^^ Du coup, il se peut qu'une MàJ arrive ensuite pour régler ce problème :)
C'est un plaisir, ravi d'avoir pu t'aider ^^
Je ferais des essais de mon côté. Je vais faire un fork de FML et compiler à la volée.
On se tient au courant, Kiwi hein? ^^
Bon codage :-)
Bon bah voilà, bug corrigé! Il suffisait en fait de faire un setProperty de "minecraft.applet.WrapperClass" de ma classe implémentant Applet :p
Raaah génial ! Merci Kiwi ^^
Comment on télécharge cette version ?
Salut Kiwi =) Tout d'abord, merci d'avoir crée ce brillant launcher dont j'ai presque fini les tests !
Presque, simplement parce que je ne comprends pas pourquoi, quand je lance le launcher, l'update se passe normalement, me dézippe mes mods sans soucis et télécharge le "minecraft.jar" modifié avec Forge, PlayerAPI et GuiAPI, le tout pour MC 1.3.2.
Et c'est là que le bas blesse : une fois que le launcher à fini de télécharger et dézipper sans problèmes les jars plus ce fichier zip additionnel contenant les autres mods, eh bien le jar ne démarre pas.
J'ai refait l'essai avec un "minecraft.jar" d'origine : il démarre correctement.
Donc voilà, je souhaitais savoir si tu savais pour quelle raison et si c'est réparable, et dans ce cas comment fait-on?
Merci par avance, à plus ! ^^
EDIT : J'oubliais de préciser que j'utilise le dossier personnalisé pour portabiliser le jeu, que le nom des dossiers sont ceux par défaut (/mcp_data/.minecraft) et que je me sers du système de versions custom pour mettre à jour le jeu. En espérant ne rien avoir oublié !