Launcher Minecraft
Un launcher personnalisé pour votre serveur !

Présentation

Jeux Applications Serveurs
Damien

Minecraft appartient à Microsoft (Mojang).

Pour votre information, Minecraft est un jeu vidéo développé par Mojang. Le terme "launcher" désigne un exécutable préalable au jeu, permettant d'accéder aux actualités, de choisir la version du jeu et de le lancer.

Il y a quelques années, j'ai entrepris le développement d'un launcher Minecraft en Java, en me basant sur un tutoriel vidéo. Cependant, avec l'évolution de Java, le launcher était devenu obsolète et présentait des dysfonctionnements sur de nombreuses machines Windows. En me remémorant mon travail passé, j'ai souhaité explorer l'existence de nouvelles bibliothèques intéressantes pour créer un launcher. J'en ai découvert une, mais exclusivement disponible en C#. J'ai donc décidé de me lancer le défi de réaliser un nouveau launcher en partant de zéro, en utilisant un autre langage de programmation.

L'objectif de ce projet était de développer un launcher personnalisé, capable d'exécuter une version précise de Minecraft, en incluant des fichiers supplémentaires tels que des packs de ressources ou des configurations spécifiques. Pour cela, j'ai mis en place un serveur web permettant de télécharger les fichiers requis, tout en vérifiant leur intégrité grâce à leur empreinte cryptographique (hash). De plus, il était nécessaire d'utiliser l'API Discord pour afficher sur le profil de l'utilisateur qu'il joue actuellement via le launcher. Enfin, l'utilisation des API de Microsoft et Mojang était primordiale pour permettre à l'utilisateur de se connecter à son compte Minecraft et de lancer le jeu.

Finalement, j'ai réussi à développer ce launcher de A à Z, en incluant un exécutable "bootstrap" pour le téléchargement initial du launcher. Ainsi, si des mises à jour ou autres modifications sont nécessaires, les utilisateurs n'ont pas besoin de télécharger à nouveau le launcher, ils peuvent simplement exécuter le bootstrap qui se chargera de la mise à jour. De plus, l'administrateur dispose d'un fichier de configuration disponible sur le serveur, lui permettant de modifier certains comportements du launcher sans nécessiter de connaissances techniques spécifiques, tels qu'une clé API, des messages Discord, un logo, et bien d'autres éléments.

Difficultés rencontrées

Voici les principaux problèmes que j'ai rencontrés durant ce projet.

Acquisition de compétences

Voici les principales compétences que j'ai acquises durant ce projet.

Langages utilisés

Frameworks, Langages, Librairies ou outils utilisés pour ce projet

Photos

Découvrez ce fascinant projet grâce à ces photos.