Accueil
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.
Comprendre l'utilisation de la librairie Minecraft
C'est une librairie non officiel
Récupérer des fichiers d'un serveur web
Utiliser le hash pour s'assurer de la validité les fichiers
Faire en sorte que le launcher est modifiable sans connaissance technique
Mettre à jour les fichiers du jeu avant le lancement du jeu
Répondre au besoin d'un client