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.
Et bien oui dans LanucherConstants vous avez toutes les adresses utilisées par le launcher pour mettre à jour toutes les ressources, il n'y a qu'à remplacer l'adresse officielle par la tienne. Par contre sur ton serveur il te faut obligatoirement la même architecture que le serveur officiel (notamment la génération de fichier XML en root).

Oui, si j'upload sur mon FTP le dossier assets de mon.minecraft, c'est sur que l'architecture (son contenu) sera la même que sur le serveur officiel de minecraft mais quelque chose me trouble

notamment la génération de fichier XML en root (de jambonlatex)

Tu pourras m'expliquer ce que tu as dit sur le prochain post ?
 
Oui, si j'upload sur mon FTP le dossier assets de mon.minecraft, c'est sur que l'architecture (son contenu) sera la même que sur le serveur officiel de minecraft mais quelque chose me trouble



Tu pourras m'expliquer ce que tu as dit sur le prochain post ?


Le XML dont je parle est même que celui généré dans le dossier ressources/ de ton serveur (grâce à index.php) :
PHP:
<?php
function ScanDirectory($Directory, $tableau=false){
$slash = '';
    $MyDirectory = opendir($Directory) or die('Erreur');
    while($Entry = @readdir($MyDirectory)){
        if($Entry != '.' && $Entry != '..' && $Entry != 'index.php' && $Entry != ".htaccess" && $Entry != "indexold.php" && $Entry != "test.php" && $Entry != "libraries"){
            if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..'){
                $slash = '/';           
            }
                        else
                        {
                        $slash = '';
                        }
            $tableau[] = substr($Directory.'/'.$Entry, strlen(strstr($Directory.'/'.$Entry, '/', true))+1).$slash;
        }
        if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..'){
            $tableau = ScanDirectory($Directory.'/'.$Entry, $tableau);
        }
    }
    closedir($MyDirectory);
    return $tableau;
}
 
Header('Content-type: text/xml');
$xml = new SimpleXMLElement('<xml/>');
 
$base = $xml->addChild('ListBucketResult');
$base->addChild('Name', "ressources");
$base->addChild('Prefix');
$base->addChild('Marker');
$base->addChild('MaxKeys', "1000");
$base->addChild('IsTruncated', 'false');
 
foreach(ScanDirectory('.') as $key => $value){
    $stat = stat($value);
    $content = $base->addChild('Contents');
    $content->addChild('Key', htmlentities($value));
    $content->addChild('LastModified', date("Y-m-d\TH:i:s.000\Z", filemtime($value)));
   
    if(is_dir($value)&& $value != '.' && $value != '..'){
        $content->addChild('ETag', '"'.md5($value).'"');
        $content->addChild('Size', 0);
    }else{
        $content->addChild('Size', $stat['size']);
        $content->addChild('ETag', '"'.md5_file($value).'"');
    }
    $content->addChild('StorageClass', 'STANDARD');
}
 
print($xml->asXML());
?>

Ce code est donc à insérer dans un fichier nommé "index.php" et ce fichier il faudra le mettre à la racine de ton dossier d'assets.



Voilà et pour ma part, voici mon appli fonctionnelle à 100% :

IlQ3rj7.png

Je l'uploaderai après quelques verifs ;)
 
Bonjour,

J'utilise comme serveur d'authentification Customdrasil, qui permet non seulement de vérifier le nom d'utilisteur mais aussi le mot de passe,
Mais lors de la connexion, j'obtiens l'erreur suivante :

"Sorry but we couldn't connect to our servers"

Alors qu'avec le serveur d'authentification officiel cela fonctionne

Ps: Pour info, voila la config :

Code:
URL_AUTHENTICATION_SERVER = "http://88.190.239.79:8080/"; //Serveur d'authentification, par defaut : "https://authserver.mojang.com/"

Cordialement,
Lucas
 
Bonjour a tous, je fais des serveur minecraft pour quelque amis et moi depuis quelque année et mon problème est que j'ai un fichier que le client devrais garder ( /mods/******/******.properties ) et il me l’enlève donc ma question : est il possible de modifier le fichier index.php pour exclure certain fichier de la purge.

Merci de vos réponse
 
Bonjour a tous, je fais des serveur minecraft pour quelque amis et moi depuis quelque année et mon problème est que j'ai un fichier que le client devrais garder ( /mods/******/******.properties ) et il me l’enlève donc ma question : est il possible de modifier le fichier index.php pour exclure certain fichier de la purge.

Merci de vos réponse

La réponse se trouve dans le premier post tout en bas :
Il faut que tu ailles dans le code source du Launcher, dans le fichier Lister.java à la ligne 77 tu la mdofies comme ceci :
Code:
                if(lmd5.contains(md5) && !it.getName().endsWith(".cfg") && !it.getName().endsWith("NOM_DU_DOSSIER\NOM_DU_FICHIER.properties") && !it.getName().endsWith(".json")){
Si tu veux garder tous les fichiers .properties du dossier mods/, il te suffit d'enlever NOM_DU_DOSSIER\NOM_DU_FICHIER .


Pour Customdrasil, il faut obligatoirement certificat SSL pour pouvoir l'utiliser, par raison de sécurité.
 
Bonjour,

Merci de votre réponse rapide,
Comment puis-je installer un certificat ssl sur windows ?

Merci beaucoup
Lucas

Pour avoir un certificat SSL, il faut l'acheter. Je ne conseille pas l'utilisation de Customdrasil (c'est d'ailleurs pourquoi je ne l'ai jamais partagé ici).

Vous trouverez un meilleurs moyens de gérer les utilisateurs du launcher ici, http://minecraft.fr/forum/index.php?threads/07-2014-creation-de-launcher-1-6-2-à-1-7-9-mlc.118972/
 
Statut
N'est pas ouverte pour d'autres réponses.