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.

jambonlatex

Architecte en herbe
11 Octobre 2013
133
22
125
32
ça veux dire que si toi (ou un joueur) installe un mod qui n'est pas sur ton serveur, il sera effacé de son dossier, c'est très risqué comme procédé et facilement contournable.

Le but d'un serveur qui gere les mods, c'est à la base que tout le monde puisse jouer avec exactement les mêmes mods.

Maintenant contournable, il n'y a pas de sécurité parfaite, mais un joueur lambda aura au moins la même expérience de jeu que les autres.
 

MoulouTeam

Architecte en herbe
7 Juillet 2012
6
0
61
31
Bonjour,
J'ai un problème avec mon launcher tous marche bien sauf je téléchargement du contenue du dossier ressources et aussi peut-on faire télécharger les fichier config des mods ?

Merci d'avance pour ta réponse
 

HoverEpic

Architecte en herbe
20 Octobre 2013
6
1
64
35
J'ai aussi conçu un launcher nouvelle génération avec installation de mods automatique, je vois très bien ce que tu veux dire.

Pour la liste des mods, je pensais plutôt faire une liste des mods autorisés et supprimer ceux qui ne sont pas dans la liste automatiquement au lancement. La liste serait hébergée sur le serveur avec un format au choix, la vérification se ferait dans la classe VersionManager.
 

Loggerz

Aventurier
17 Octobre 2013
9
0
1
25
Tu as compilé en version 1.7 ou 1.6 ? Les Mac ne supportent que la 1.6 pour l'instant ;)
Code:
Download job 'Resources' skipped as there are no files to download
Vérifies bien tes liens, apparemment il n'a pas pu trouver la liste des ressources.


Premièrement, merci pour ta réponse,

J'ai bien compilé en Java 1.6 (pour Mc 1.6.4)
J'ai essayé de changer le lien il me met autre chose :
Code:
Launcher 1.0 (through bootstrap 5) started on osx...
Refreshing local version list...
Current time is Oct 20, 2013 6:23:26 PM
System.getProperty('os.name') == 'Mac OS X'
Refreshing remote version list...
System.getProperty('os.version') == '10.8.5'
System.getProperty('os.arch') == 'x86_64'
System.getProperty('java.version') == '1.6.0_51'
System.getProperty('java.vendor') == 'Apple Inc.'
System.getProperty('sun.arch.data.model') == '64'
Refresh complete.
Unexpected exception refreshing profile list
java.lang.RuntimeException: Unable to invoke no-args constructor for interface java.lang.reflect.Type. Register an InstanceCreator with Gson for this type may fix this problem.
    at com.google.gson.internal.ConstructorConstructor$12.construct(ConstructorConstructor.java:210)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:162)
    at com.google.gson.Gson.fromJson(Gson.java:803)
    at com.google.gson.Gson.fromJson(Gson.java:868)
    at com.google.gson.Gson$1.deserialize(Gson.java:126)
    at net.minecraft.launcher.authentication.AuthenticationDatabase$Serializer.deserialize(AuthenticationDatabase.java:28)
    at net.minecraft.launcher.authentication.AuthenticationDatabase$Serializer.deserialize(AuthenticationDatabase.java:1)
    at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)
    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)
    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.profile.ProfileManager.loadProfiles(ProfileManager.java:116)
    at net.minecraft.launcher.Launcher$3.run(Launcher.java:329)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gson.internal.UnsafeAllocator$1.newInstance(UnsafeAllocator.java:48)
    at com.google.gson.internal.ConstructorConstructor$12.construct(ConstructorConstructor.java:207)
    ... 21 more
Caused by: java.lang.InstantiationException: java.lang.reflect.Type
    at sun.misc.Unsafe.allocateInstance(Native Method)
    ... 27 more
 
Logging in with username & password
Delta time to compare resources: 10984 ms
Download job 'Resources' started (8 threads, 1 files)
Finished downloading /Users/loggerz/Library/Application Support/LoggerzMod/assets/sounds.json for job 'Resources': Downloaded successfully and etag matched
Job 'Resources' finished successfully
Getting syncinfo for selected version
Queueing library & version downloads
Unhandled exception in executor net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask@11b78953
java.util.concurrent.ExecutionException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
    at java.util.concurrent.FutureTask.get(FutureTask.java:83)
    at net.minecraft.launcher.updater.ExceptionalThreadPoolExecutor$ExceptionalFutureTask.done(ExceptionalThreadPoolExecutor.java:29)
    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
    at com.google.gson.Gson.fromJson(Gson.java:803)
    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(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    ... 4 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
    at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165)
    ... 14 more

IL fait tout le temps référence à Google lorsqu'il y une erreur comme ça, sais-tu pourquoi ?

Merci encore !
 

HoverEpic

Architecte en herbe
20 Octobre 2013
6
1
64
35
Google c'est pour package com.google.gson; c'est le moteur de désérialisation json qui est utilisé pour la vérification des mises a jour.
Pour ton soucis faut aller voir "Register an InstanceCreator with Gson for this type may fix this problem."
Vérifie tes la mise en page des tes fichiers json, c'est très capricieux niveau syntaxe ( refreshing profile list),
 
  • J'aime
Reactions: Loggerz

fatalterreur

Bucheron
24 Août 2011
10
0
12
27
Ma question peut paraitre un peu ridicule mais j'aimerais savoir qu'elle site utiliser pour avoir un ftp en http ?
(Mon serveur ne propose que en ftp et dropbox ne partage pas les dossiers..)
Sinon super tuto ;)
 
Statut
N'est pas ouverte pour d'autres réponses.