Empêcher d'installer d'autres mods /texturespack
-
Bah faut mettre quoi alors
Mais on est d’accord qu’il faut le mettre sur le launcher et non pas sur le serveur car c’est le launcher qui doit se fermer
-
Tu as déjà la condition if(event.getSide().isClient()) qui permet de check que tu es côté client et non côté serveur.
if(event.getSide().isClient()) { if(Loader.instance().getActiveModList().size() > nbrDeMod) { try { throw new Exception("mod interdit détecté"); } catch(Exception e) { FMLClientHandler.instance().getClient().shutdown(); e.printStackTrace(); } } }Attention aux nombres de mod, certains mod contient des sous mods. Il ne faut pas oublier de les compter (au pire lances le jeu avec les mods voulus tu verra bien dans le menu le nombre de mod actif en bas à gauche).
Rien d’avec Forge tu en as 3 (mcp, fml et Forge) -
on a 4 mods installé
je vais donc essayer de mettre 4 en nombre max et d’ajouter xray pour voir si cela fonctionne
j’ai compris le soucis, en réalité on met un nombre précis de mods mais le truc c’est que le launcher ne retourne pas dans le .serveur pour voir si d’autres mods on été ajouté.
ou en faite quand on ajoute xray dans le dossier mods du serveur, le mod qui est sensé analyser ne le reconnait pas comme étant un mod car j’ai essayé d’installer ModControl qui permet de faire une whitelist des mods que j’autorise et il bloque tout mes mods, les uns après les autres (que j’autorise au fur et à mesure) sauf qu’il ne bloque pas xray !
Pourtant quand j’essaye de supprimer un mod, que je relance le launcher et que j’essaye de me connecter, j’ai bien un message d’erreur me disant qu’il manque un mod ….
je viens d’essayer de le mettre dans la blacklist et il ne reconnait pas Xray comme étant un mod …
-
désolé de faire un repost mais comme j’ai changé mon message entre temps, je sais pas si tu vois les édits que je fais, je pense donc avoir compris le soucis entre temps comme expliqué au-dessus
-
Surement car le mod xray n’est pas un mod mais un plugin FML et que l’auteur n’a pas ajouté ce qu’il faut pour être reconnu en temps que mod.
Du-coup le seul moyen de vérifier ça présence et de regarder si une de ses classes est présente dans le classpath. -
et faut faire cela comment ??
car pour voir les class il suffit d’ouvrir avec winrar et j’ai vu un XRayInstaller.class ou encore XRayTweaker.class
XRay18.class
-
try { Class.forName("nom.du.package.NomDeLaClasse"); // on essaie de trouver la classe // ajouter ici le code pour quitter le jeu } catch( ClassNotFoundException e ) { // la classe n'existe pas, on ne fait rien } -
donc j’ai trouvé un système pour trouver les package, mais du coup si d’autres mods ne sont pas considéré comme tels, ça sera toujours pareil, donc il n’est pas possible de faire en sorte d’interdire l’ajout de toutes genre de choses à l’intérieur du dossier mods ? ou de réinstaller les dossiers à chaque lancement (ce qui devrait être rapide normalement si aucun fichier n’a changé)
-
Tu peux gérer ça depuis le launcher / depuis mon installateur.
-
depuis le launcher je peux gérer ce qui est dans mods ?
-
Normalement oui. Tu télécharges bien les mods depuis le launcher ? Donc tu peux aussi supprimer les mods indésirable.
Il suffit de comparer les mods locales et les mods distant. C’est ce que je fais avec mon installateur.
https://github.com/FFMT/ModPackInstaller/tree/master/src/main/java/fr/minecraftforgefrance/common -
oui les mods sont installés depuis le launcher donc une de tes classes du lien permet de supprimer les choses non voulues
-
C’est ici que je retires les anciens mods / mods non autorisé :
https://github.com/FFMT/ModPackInstaller/blob/master/src/main/java/fr/minecraftforgefrance/common/ProcessInstall.java#L185-L200
Et je compare ici :
https://github.com/FFMT/ModPackInstaller/blob/master/src/main/java/fr/minecraftforgefrance/common/FileChecker.java#L76-L98
(tous est basé sur le md5). -
mais tu le mets ou ce code car enfaite mon launcher vient de launchmycraft
-
Ah oui, si c’est un launcher tout fait ce n’est pas possible.
-
mais c’est compliqué à faire un launcher relié à son site pour voir qui est inscrit, et qu’il l’est pas pour permettre ou non la connexion au serveur
? -
Aucune idée, je n’ai jamais fait ça.
-
Ce n’est plus pas difficile. Mais il faut toujours vérifier que le compte Mojang est valide (sinon c’est contre la volonté de Mojang, et contre l’éthique du site).
Et niveau sécurité il faut faire super gaffe.Sent from my GT-I9195I using Tapatalk
-
ok ok merci et toi jglrxavpok tu as des idées pour protéger le dossier mods et empêcher les gens d’installer n’importe quoi sur le launcher ?
Et donc pour pouvoir faire des analyse sur les mods existant il faut que je creer un launcher ou je mettrais les morceaux de codes que tu as mît toi ? Puis les “mods” qui ne le sont pas réellement, ça va marcher quand même ou pas car il y a beaucoup de faux mods
Et du coup la classe que tu as envoyé c’est la création de ton launcher, c’est bien ca ?
J’essaye de comprendre ton code mais je comprend pas ce qu’est tout les Json…. et les importations argo… elles sortent d’où ? ^^
-
Bonjour’ j’ai votre code
if(event.getSide().isClient()) { if(Loader.instance().getActiveModList().size() > nbrDeMod) { try { throw new Exception("mod interdit détecté"); } catch(Exception e) { FMLClientHandler.instance().getClient().shutdown(); e.printStackTrace(); } } }ou dois-je le placer?