Tutoriel [Guide] [MAJ 12/07/14]Créer un launcher pour 1.6.2/1.6.4 avec mods

Statut
N'est pas ouverte pour d'autres réponses.
J'ai un problème avec le plugin je crois.Quand je build ca me met ca dans la console :

Description Resource Path Location Type
Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-plugin:2.3.2:runtime Cause: error in opening zip file pom.xml /minecraft-bootstrap line 1 Maven Project Build Lifecycle Mapping Problem
 
Tout d abord, merci Jambonlatex pour ce tuto et les multiples infos contenues dans ces pages.

J'ai pu faire le launcher pour nos serveurs privés ( 1.6.4 forge, 1.5.2 forge, 1.4.7 forge) et la gestion des updates des mods est infiniment pratique dans mon cas ( si cela t'interesse je pourrais te détailler :" pourquoi").

Je cherchais à gérer une authentification "perso" et j'ai vu ton travail sur GitHub, j'ai donc pris la liberté de commencer des essais, j'ai modifié donc : "launcher.authentication.yggdrasil" en redirigeant vers les pages php récupérées sur GitHub et hébergées sur un de mes sites.
Par contre, je rencontre plusieurs soucis.

- le launcher ne semble pas pouvoir se connecter au serveur ( je n'ai pas trouvé d'autres URL à modifier que celles contenues dans launcher.authentication.yggdrasil, mais peut être que :"URL_STATUS_CHECKER = "http://status.mojang.com/check" " dans" LauncherConstants" doit pointer ailleurs aussi ?)

- Quand j’accède a " index.php" par un navigateur, il detecte plusieurs erreurs, ( j'ai ajouté un "print ( test); sur la page error.php pour vérifier qu'il me renvoyait bien dessus, ( et oui sinon ce n'est pas forcement visible) mais il semble avoir un pb avec json_encode :"

test<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at XXXXXXXXX craft/authentryu/errors.php:1) in <b>/data/village/shaan/shaan_levillage_org/www/craft/authentryu/index.php</b> on line <b>8</b><br />
<br />
<b>Fatal error</b>: Call to undefined function: json_encode() in <b>XXXXXXXXX craft/authentryu/errors.php</b> on line <b>59</b><br />
Est ce que cela vient d'un pb de version php de mon hebergeur ? ( le village.org) j'ai déjà du heberger les dossiers "ressources" pour les mods chez hostinger.


Je crains d'être un peu confus dans mes explications... étant autodidacte/curieux/bidouilleur je n'ai parfois pas le même "vocabulaire" que les gens formés "programmation/développement".

PS:

J'y pense, je tiens à préciser que mon but n'est pas de contourner les serveurs d'authentification de Mojang ( ça pourrait être pris comme ça ;)
Le concept un peu " particulier" des serveurs privés que je mets en place ( que je te détaillerai si cela t’intéresse) et notamment la possibilité de changer le "nom" et le " skin" des utilisateurs à la volée ( en fonction du scénario Role-play de la période) me serait grandement facilitée, avec cette authentification " perso".

merci par avance de ton attention.
 
Bonjour,

Je rencontre une erreur :

Code:
Launcher 1.0 (through bootstrap 5) started on windows...
Refreshing local version list...
Current time is Dec 4, 2013 9:11:29 PM
System.getProperty('os.name') == 'Windows Vista'
System.getProperty('os.version') == '6.0'
System.getProperty('os.arch') == 'x86'
System.getProperty('java.version') == '1.7.0_45'
System.getProperty('java.vendor') == 'Oracle Corporation'
System.getProperty('sun.arch.data.model') == '32'
Refreshing remote version list...
Refresh complete.
Loaded 1 profile(s); selected 'xMalware'
Refreshing auth...
Logging in with access token
Getting syncinfo for selected version
Queueing library & version downloads
Unhandled exception in executor net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask@f74e81
java.util.concurrent.ExecutionException: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask.done(ExceptionalThreadPoolExecutor.java:29)
    at java.util.concurrent.FutureTask.finishCompletion(Unknown Source)
    at java.util.concurrent.FutureTask.setException(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at com.google.gson.Gson.fromJson(Gson.java:818)
    at com.google.gson.Gson.fromJson(Gson.java:768)
    at com.google.gson.Gson.fromJson(Gson.java:717)
    at com.google.gson.Gson.fromJson(Gson.java:689)
    at net.minecraft.launcher.updater.VersionList.getCompleteVersion(VersionList.java:85)
    at net.minecraft.launcher.updater.VersionManager.getLatestCompleteVersion(VersionManager.java:103)
    at net.minecraft.launcher.GameLauncher.playGame(GameLauncher.java:405)
    at net.minecraft.launcher.ui.bottombar.PlayButtonPanel$1$1.run(PlayButtonPanel.java:34)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    ... 4 more
Caused by: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505)
    at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:519)
    at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
    at com.google.gson.Gson.fromJson(Gson.java:803)
    ... 12 more
 
Delta time to compare resources: 26622 ms
Download job 'Resources' skipped as there are no files to download
Job 'Resources' finished successfully
Launching game
Aborting launch; version is null?

Pouvez-vous m'aider s'il vous plait ?
Cordialement.
 
Bonjour a tous ,
J'aurais aimer savoir si il était possible de mettre une version plus récent de forge dans le launcher ??

Cordialement
 
Tout d abord, merci Jambonlatex pour ce tuto et les multiples infos contenues dans ces pages.

J'ai pu faire le launcher pour nos serveurs privés ( 1.6.4 forge, 1.5.2 forge, 1.4.7 forge) et la gestion des updates des mods est infiniment pratique dans mon cas ( si cela t'interesse je pourrais te détailler :" pourquoi").

Je cherchais à gérer une authentification "perso" et j'ai vu ton travail sur GitHub, j'ai donc pris la liberté de commencer des essais, j'ai modifié donc : "launcher.authentication.yggdrasil" en redirigeant vers les pages php récupérées sur GitHub et hébergées sur un de mes sites.
Par contre, je rencontre plusieurs soucis.

- le launcher ne semble pas pouvoir se connecter au serveur ( je n'ai pas trouvé d'autres URL à modifier que celles contenues dans launcher.authentication.yggdrasil, mais peut être que :"URL_STATUS_CHECKER = "http://status.mojang.com/check" " dans" LauncherConstants" doit pointer ailleurs aussi ?)

- Quand j’accède a " index.php" par un navigateur, il detecte plusieurs erreurs, ( j'ai ajouté un "print ( test); sur la page error.php pour vérifier qu'il me renvoyait bien dessus, ( et oui sinon ce n'est pas forcement visible) mais il semble avoir un pb avec json_encode :"


Est ce que cela vient d'un pb de version php de mon hebergeur ? ( le village.org) j'ai déjà du heberger les dossiers "ressources" pour les mods chez hostinger.


Je crains d'être un peu confus dans mes explications... étant autodidacte/curieux/bidouilleur je n'ai parfois pas le même "vocabulaire" que les gens formés "programmation/développement".

PS:

J'y pense, je tiens à préciser que mon but n'est pas de contourner les serveurs d'authentification de Mojang ( ça pourrait être pris comme ça ;)
Le concept un peu " particulier" des serveurs privés que je mets en place ( que je te détaillerai si cela t’intéresse) et notamment la possibilité de changer le "nom" et le " skin" des utilisateurs à la volée ( en fonction du scénario Role-play de la période) me serait grandement facilitée, avec cette authentification " perso".

merci par avance de ton attention.

Répondu en MP

Bonjour,

Je rencontre une erreur :

Code:
Launcher 1.0 (through bootstrap 5) started on windows...
Refreshing local version list...
Current time is Dec 4, 2013 9:11:29 PM
System.getProperty('os.name') == 'Windows Vista'
System.getProperty('os.version') == '6.0'
System.getProperty('os.arch') == 'x86'
System.getProperty('java.version') == '1.7.0_45'
System.getProperty('java.vendor') == 'Oracle Corporation'
System.getProperty('sun.arch.data.model') == '32'
Refreshing remote version list...
Refresh complete.
Loaded 1 profile(s); selected 'xMalware'
Refreshing auth...
Logging in with access token
Getting syncinfo for selected version
Queueing library & version downloads
Unhandled exception in executor net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask@f74e81
java.util.concurrent.ExecutionException: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask.done(ExceptionalThreadPoolExecutor.java:29)
    at java.util.concurrent.FutureTask.finishCompletion(Unknown Source)
    at java.util.concurrent.FutureTask.setException(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at com.google.gson.Gson.fromJson(Gson.java:818)
    at com.google.gson.Gson.fromJson(Gson.java:768)
    at com.google.gson.Gson.fromJson(Gson.java:717)
    at com.google.gson.Gson.fromJson(Gson.java:689)
    at net.minecraft.launcher.updater.VersionList.getCompleteVersion(VersionList.java:85)
    at net.minecraft.launcher.updater.VersionManager.getLatestCompleteVersion(VersionManager.java:103)
    at net.minecraft.launcher.GameLauncher.playGame(GameLauncher.java:405)
    at net.minecraft.launcher.ui.bottombar.PlayButtonPanel$1$1.run(PlayButtonPanel.java:34)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    ... 4 more
Caused by: com.google.gson.stream.MalformedJsonException: Expected ':' at line 5 column 62
    at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505)
    at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:519)
    at com.google.gson.stream.JsonReader.skipValue(JsonReader.java:1209)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:170)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
    at com.google.gson.Gson.fromJson(Gson.java:803)
    ... 12 more
 
Delta time to compare resources: 26622 ms
Download job 'Resources' skipped as there are no files to download
Job 'Resources' finished successfully
Launching game
Aborting launch; version is null?

Pouvez-vous m'aider s'il vous plait ?
Cordialement.

Il y a une erreur dans tes fichiers .json sur ton serveur, vérifies-les.

Bonjour a tous ,
J'aurais aimer savoir si il était possible de mettre une version plus récent de forge dans le launcher ??

Cordialement

Oui il devrait pas y avoir de problème, vérifies seulement si les libraires scala sont les mêmes que celles qu'il y a dans mes sources ;)

Le lien des librairies de minecraft on changer :
modifier ceci : https://s3.amazonaws.com/Minecraft.Download/libraries/
par cela : https://libraries.minecraft.net/

Merci de l'info, j'ai update les codes sources en première page du coup ;)

J'ai un problème avec le plugin je crois.Quand je build ca me met ca dans la console :

Description Resource Path Location Type
Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-plugin:2.3.2:runtime Cause: error in opening zip file pom.xml /minecraft-bootstrap line 1 Maven Project Build Lifecycle Mapping Problem

Supprimes le dossier ".maven" que tu as dans C:\Users\NOM_DE_USER\ et supprimes le dossier "target" dans le dossier de ton projet eclipse. Ensuite réessayes.

Finalement sais bon sa marche mais j'aimerais le rendre en crack pour mon server si qu'elqun peux maclerais sur le fichier à modif je suis partent
Je ne tolère pas les versions crackées, donc pas d'aide à ce sujet.
 
Merci pour ta réponsse Jambonlatex.
Pourrais tu m'indiquer la marche a suivre pour changer la version de forge, ?car je n'y arrive pas

Cordialement
 
Merci beaucoup pour ta réponse mais le code php ne fonctionne pas sur les ficher sans extension ceci est un gros problème pour certain mod comme par exemple better dongon.

Code:
This page contains the following errors:
 
error on line 2 at column 1: Document is empty
Below is a rendering of the page up to the first error.
 
Merci beaucoup pour ta réponse mais le code php ne fonctionne pas sur les ficher sans extension ceci est un gros problème pour certain mod comme par exemple better dongon.

Code:
This page contains the following errors:
 
error on line 2 at column 1: Document is empty
Below is a rendering of the page up to the first error.

Pour moi ça marche, vérifies bien la ligne 37 de ton code :
Code:
$content->addChild('Key', htmlentities($value));
 
Statut
N'est pas ouverte pour d'autres réponses.