Création d'un serveur de skins et de capes intégrer dans un launcher

OxyGrox

Collectionneur de Minerais
6 Décembre 2013
16
1
3
26
Bonjour à toutes et à tous,
je me présente je m'appelle OxyGrox et je suis nouveau sur le forum.
Mon projet: J'aimerai créer un Launcher Minecraft avec un système d'upload de skins et de capes. Les capes et les skins seraient uploadés via mon site web.
J'ai chercher sur internet mais je n'ai trouvé aucun forums ni de tutos expliquant la création de ce type de launcher. Voila
Je serai très reconnaissants envers les personnes qui apporte leurs aides :)
D'avance Merci.
OxyGrox
 
J'aimerais t'aider mais déjà, as-tu un site web prêt, acheté ? Un serveur prêt, acheté ? Des connaissances en codage de logiciel ?
P.S. : Ne va pas me dire que tu as eu ton site gratuit ! Si tu veux upload et faire tout depuis ton site il te faudra le coder par toi même en HTLM.
RE P.S. : Si tu veux upload et mettre à jour à distance je te conseille Dropbox. Mais je ne ferais aucun tutos la dessus.

(J'ai eu l'expérience de faire à peu près comme toi, j'ai pris l'aide d'amis et on à pas terminé le projet malgré les heures passés dessus. Notre projet n'a pas tenu à cause du prix du serveur)
 
Oui, J'ai un site internet avec accée FTP, mySQL, etc...
Les skins et les capes seraient hébergés sur mon site web.
Mais je n'ai pas compris pour le serveur, est-ce qu'il faut avoir obligatoirement un serveur et si oui pourquoi ?
Pour la programmation ça va un peu prés. Pour l'upload de skin je croit que j'ai besoin de connaissance en PHP(c'est à dire créer un fichier PHP d'upload sur mon site pour que les gens upload leurs skins et leurs capes via mon site). Et pour le launcher il faut modifier les codes de Minecraft avec MCP et Eclipse (c'est à dire modifier où le Launcher irait chercher le skin ou la cape en l'occurrence sur les codes de Minecraft de base le launcher vas chercher le skin et la cape sur le site de Minecraft).
 
OxyGrox, ton serveur, tu l'a sur quelle hebergeur et surtout avec quelle formule ? Car certaines formules ne comprennent pas de mySQL. Pour que tout marche il faus que tu ais un acces mySQL par ton site + par ton serveur ! Pour le php tu peux facilement trouver les codes sur internet ! Pour la fin de ton message tu as juste mais si tu ne t'y connais pas beaucoup en MCP je te conseille de chercher un peu partout car cela pourrait carrément faire planter ton launcher! Voilà c'est tout ce que je peux te dire ;)
 
Mon hébergeur c'est Hostinger.fr un hébergeur gratuit de site web avec 2000 MO de stockage et j'ai un accès mySQL et la version est 5.1.61 par contre je n'ai pas l'accès à distance, est-ce vraiment important d'avoir un accès à distance et si oui pourquoi ?
 
Hostinger est un bon hébergeur, pour l'accès à distance il n'est pas primordial mais c'est mieux d'en avoir un(car la configuration est complexe mais rempli quelque de tes demandes)
En espérant t'avoir aider
 
J'ai trouvé !!!!!
J'ai réussi à créer un minecraft.jar en 1.6.4 avec le système de capes maintenant il ne reste plus qu'à créer le fichier php d'upload pour que les joueurs upload leurs capes via mon site et ensuite intégrer le minecraft.jar dans mon launcher. Le mySQL n'intervient pas dans la création de ce launcher, il faut juste un accès FTP et un site web.
En tout cas Un Grand MERCI à vous pour votre aide ;)
 
Salut voici le script php pour upload un skin avec un formulaire html de type file name skin:

Le formulaire:

HTML:
<form>
<input type="file" name="skin" /></br>
<input type="button" value="upload"
        onClick="fileUpload(this.form,'uploadSkin.php','upload'); return false;" >
<div id="upload"></div>
</form>

JS: (à mettre dans head, dans la même page que le formulaire)

Code:
<script>
function fileUpload(form, action_url, div_id) {
    // Create the iframe...
    var iframe = document.createElement("iframe");
    iframe.setAttribute("id", "upload_iframe");
    iframe.setAttribute("name", "upload_iframe");
    iframe.setAttribute("width", "0");
    iframe.setAttribute("height", "0");
    iframe.setAttribute("border", "0");
    iframe.setAttribute("style", "width: 0; height: 0; border: none;");
 
    // Add to document...
    form.parentNode.appendChild(iframe);
    window.frames['upload_iframe'].name = "upload_iframe";
 
    iframeId = document.getElementById("upload_iframe");
 
    // Add event...
    var eventHandler = function () {
 
            if (iframeId.detachEvent) iframeId.detachEvent("onload", eventHandler);
            else iframeId.removeEventListener("load", eventHandler, false);
 
            // Message from server...
            if (iframeId.contentDocument) {
                content = iframeId.contentDocument.body.innerHTML;
            } else if (iframeId.contentWindow) {
                content = iframeId.contentWindow.document.body.innerHTML;
            } else if (iframeId.document) {
                content = iframeId.document.body.innerHTML;
            }
 
            document.getElementById(div_id).innerHTML = content;
 
            // Del the iframe...
            setTimeout('iframeId.parentNode.removeChild(iframeId)', 250);
        }
 
    if (iframeId.addEventListener) iframeId.addEventListener("load", eventHandler, true);
    if (iframeId.attachEvent) iframeId.attachEvent("onload", eventHandler);
 
    // Set properties of form...
    form.setAttribute("target", "upload_iframe");
    form.setAttribute("action", action_url);
    form.setAttribute("method", "post");
    form.setAttribute("enctype", "multipart/form-data");
    form.setAttribute("encoding", "multipart/form-data");
 
    // Submit the form...
    form.submit();
 
    document.getElementById(div_id).innerHTML = "Uploading...";
} 
 
</script>

uploadSkin.php (a mettre dans le même répertoire que le formulaire)
PHP:
<?php session_start();
$dossier = '../images/skin/'; //repertoire de destination
$fichier = basename ($_FILES['skin']['name']);
$taille_maxi = 50000;
$taille = filesize ($_FILES['skin']['tmp_name']);
$extensions = array ('.png', '.gif', '.jpg', '.jpeg', '.bmp'); //la liste des extensions utilisable
$extension = strrchr ($_FILES['skin']['name'], '.');
 
//Début des vérifications de sécurité...
if (!in_array ($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if ($taille>$taille_maxi)
{
    $erreur = 'Le fichier est trop gros...';
}
if (!isset ($erreur)) //S'il n'y a pas d'erreur, on upload
{
 
    //On formate le nom du fichier ici...
    //$fichier = strtr ($fichier,  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // $fichier = preg_replace ('/([^.a-z0-9]+)/i', '-', $fichier);
    $fichier = $_SESSION["pseudo"].'.png';
    if (move_uploaded_file ($_FILES['skin']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    {
          echo  'Upload effectué avec succès !';
  }
    else  //Sinon (la fonction renvoie FALSE).
    {
          echo  'Echec de l\'upload !';
    }
}
else
{
    echo  $erreur;
}
 
?>

Voila tu peux améliorer le script par exemple en affichant le skin quand celui ci est uploader. si tu veux changer dynamiquement sans recharger la page ajoute une variable a ton image skin.png?1154578