[Logiciel / Web] EML : Créez votre launcher Minecraft moddé facilement

GoldFrite

Aventurier
8 Novembre 2025
4
0
1
26
Bonjour tous,

Je m'appelle GoldFrite et je suis le créateur de l'écosystème open-source EML (Electron Minecraft Launcher).

1762619461734.png


Comme beaucoup d'administrateurs de serveurs moddés, j'ai longtemps été confronté au même problème : comment distribuer facilement nos mods, nos configs et nos mises à jour à nos joueurs ? Comment faire un launcher professionnel, performant, et personnalisable tant sur le partie technique que graphique ?
Faire un .zip et prier pour que tout le monde le décompresse au bon endroit ? Gérer manuellement des fichiers JSON compliqués sur un FTP ? Rien de tout cela n'est très pratique, surtout lorsque l'on souhaite faire quelque chose d'assez professionnel.

Après des mois de travail, j'ai le plaisir de vous présenter EML, une solution complète qui ne vous donne pas seulement un launcher, mais aussi tout le backend pour le gérer depuis une interface web. L'objectif n'est pas de créer un modèle de launcher, mais bien de vous permettre de créer le votre en toute simplicité, sans avoir de connaissances techniques poussées (l'IA peut être un bon allié pour vous aider à peaufiner votre launcher :D).

1762612162682.png


Qu'est-ce que EML ?

EML est un écosystème en deux parties, basé sur une stack technique moderne (JavaScript/Electron) :

  1. EML Lib (Le Client) — C'est la bibliothèque (librairie) Node.js qui vit dans votre launcher Electron. Fini le JavaFX ! Vous créez l'interface de votre launcher avec ce que vous connaissez déjà : HTML, CSS et JavaScript. C'est un outil complet qui gère l'authentification Microsoft, la vérification des fichiers, le téléchargement et le lancement du jeu. Le tout en quelques lignes de code, auxquelles vous ajouterez la logique de votre interface utilisateur.
  2. EML AdminTool (Le Serveur) — C'est le véritable atout du l'écosystème EML : un panel d'administration web complet qui gère tout ce que votre launcher client doit savoir. Plus besoin de s'embêter avec un FTP pour ajouter des mods, changer de version de Minecraft, ou écrire un fichiers JSON pour ajouter des actualités sur votre launcher : l'EML AdminTool fait déjà tout ça, et en toute simplicité ! Couplé avec l'EML Lib qui vérifie le hash de chaque fichier avant le lancement du jeu, il permet de s'assurer que chaque joueur accédera au serveur dans de bonnes conditions.
  3. EML Template (Le Modèle) — C'est la base de votre futur launcher Minecraft avec EML Lib et EML AdminTool. Commencez rapidement à créer votre propre launcher en modifiant ce modèle pour faire votre propre design et vos fonctionnalités personnalisées.
template.png


Pourquoi choisir EML ?

La plus grande force d'EML est qu'il résout le vrai problème : la gestion côté admin.



Approche
Solutions SaaS
Librairies "DIY"
Modèles "à Forker"
EML
Philosophie"Payez et cliquez""Boîte à outils" pour tout coderProjet "prêt à forker" et modifierÉcosystème "Admin-Friendly"
StackFermée (Hébergée)Node.js ou JavaElectron (souvent)Electron + AdminTool (Docker)
Gestion des Mises à Jour (Admin)Panel Web (Facile, mais propriétaire : vous ne gérez pas vos données)Aucune (À coder soi-même : nombres fichiers, utilisation d'un FTP)Manuelle (Fichiers JSON à build, ou code à changer, mise à jour du FTP)Panel Web AdminTool (Facile, et open-source : une seule installation à faire)
CoûtPayant (Abonnement), ou fonctionnalités limitéesGratuit (Open-Source), mais il faut tout faire (UI + serveur)Gratuit (Open-Source), mais il faut mettre en place le serveurGratuit (Open-Source) : il suffit de développer l'UI et d'installer l'AdminTool en 1 ligne de commande
Public CibleAdmins (Non-techniques)Développeurs aguerrisDéveloppeurs / SysAdminsAdmins avec quelques connaissances techniques

Où nous trouver ?

Le projet est 100 % open-source et n'attend que vous ! Nous cherchons des testeurs, des contributeurs et surtout des retours d'administrateurs de serveurs. Toute la documentation est disponible sur le site officiel (en anglais).



Rendez-vous sur :

1762619951552.png 1762620199019.png 1762620228150.png 1762620805701.png globe-with-meridians-r1en6mgtcsluqoy0hg8g6j.webp
 

Fichiers joints

  • 1762619729562.png
    1762619729562.png
    907.1 KB · Vues : 161
Dernière édition:
Bonsoir,

Ça pourrait être intéressant de montrer des captures d'écran du launcher ; quelques autres détails aussi :
  • Tu as licencié le frontend (“EML Lib”) sous MIT, ça aurait pu être avantageux de l'avoir licencié sous GPL/copyleft ;

  • Tu as licencié le backend (“EML AdminTool”) sous GPL ; un peu sans effet pour un site web, il faudrait le licencier sous AGPL ;

  • Tu as quelque chose comme ça dans le code :
    Code:
    <h4>{$l.dashboard.emlatSettings.infoOf} {selectedUser.username}</h4>
    Même si ça marche en français « Informations de Bernard », en japonais « の情報 Bernard » ne veut rien dire (le の s'apparente au ’s anglais, ça devrait être Bernardの情報), et il n'y a pas d'espace en japonais (toute la ponctuation est différente, le point s'écrit 。 et contient l'espace dans le caractère lui-même), en pratique tu ne dois pas concaténer des chaînes d'une langue naturelle quelconque.

    Généralement, tu devrais avoir « {name}の情報 » et faire
    Code:
    <h4>{$l.dashboard.emlatSettings.infoOf.replace("{name}", selectedUser.username}</h4>
    Bon après idéalement faudrait gérer les accords en genres/pluriels et les élisions (d'Arthur, pas de Arthur ; mais pour les mots en H ça dépend si le mot est d'origine grecque ou latine), mais on va dire que mettre les mots dans le bon ordre est généralement assez bien.

  • A priori, le backend se connecte à la BDD via un socket TCP/IP ; si tu veux t'amuser, tu peux essayer de passer via un socket Unix, c'est plus sécurisé (statistiquement, quelqu'un va mettre un mdp stupide et ouvrir tous les ports ; les sockets Unix sont des fichiers donc inaccessibles depuis l'Internet).
Cordialement,
ShE3py
 
Dernière édition:
Bonsoir,
Merci beaucoup pour cette réponse !

Comme indiqué dans le post, il n’y a pas à proprement parler de launcher déjà fait. Je propose "simplement" une librairie et un logiciel Web pour pouvoir créer et gérer plus facilement un launcher. Je peux cependant mettre des captures des anciens launchers que j’ai fait (il y a longtemps…) mais ils ne sont pas faits avec EML (qui n’existait pas à l’époque) et qui ne reflètent plus du tout ce que je fais aujourd’hui (tant d’un point de vue code que design). A la rigueur je pourrais faire un enregistrement d’écran de demo sur un launcher purement fictif et ultraminimaliste.

Concernant la license, je vais me renseigner un peu plus alors. Mais il me semble que MIT est plutôt en accord avec les autorisations que je veux donner pour l’EML Lib (j’estime que le cœur de mon projet n’est finalement pas l’EML Lib, mais bien l’EML AdminTool, donc il m’est égal que l’EML Lib soit réutilisée, même à des fins commerciales, sans divulguer les sources). Concernant l’AdminTool, c’est effectivement un bonne idée. Je vais me renseigner plus précisément.

Concernant la langue, merci beaucoup pour cette information ! Je vais faire les mises à jour en conséquence. Mais n’étant pas à l’origine de chaque traduction, cela ne se fera certainement pas d’un coup…

Enfin, en ce qui concerne la sécurité de la BDD, normalement les risques sont limités : j’utilise Docker et je distribue un docker-compose.yml prêt à l’emploi, qui s’installe avec une ligne de commande. Les réseaux sont déjà configurés, limitant fortement (il me semble) les risques (le vrai risque serait que quelqu’un décide de faire son propre docker-compose.yml). Par ailleurs, lors de la configuration de l’EML AdminTool, l’utilisateur est invité à générer un mot de passe plutôt qu’à en choisir un (une lib npm s’occupe de la génération, donc il me semble que ça doit être suffisamment sécurisé). Mais je note quand même l’idée !

En tous cas, merci beaucoup pour tous ces conseils !

Cordialement,

GoldFrite.
 
Comme indiqué dans le post, il n’y a pas à proprement parler de launcher déjà fait. Je propose "simplement" une librairie et un logiciel Web pour pouvoir créer et gérer plus facilement un launcher.
EML Lib (Le Client) — C'est un outil complet qui gère l'authentification Microsoft, la vérification des fichiers, le téléchargement et le lancement du jeu.
C'est par définition un launcher ? Tu parles d'Electron/HTML avant, donc ça implique qu'il génère en plus le launcher sous la forme d'une page web, ou alors y'a pas vraiment besoin d'Electron (si c'est le développeur qui doit faire la vue, toi tu proposes juste le modèle et le contrôleur).
 
Si on est très rigoureux, alors oui, on peut considérer l’EML Lib comme un launcher. Mais sans interface graphique. L’EML Lib est une librairie qui embarque le code nécessaire pour lancer rapidement Minecraft, gérer l’authentification, etc. Je parle d’Electron, mais c’est en réalité uniquement si on souhaite utiliser l’authentification avec Microsoft (l’EML Lib utilise Electron pour afficher la page de connexion Microsoft, donc ça nécessite que le launcher utilise Electron). Mais le launcher n’est pas généré automatiquement : il faut bien un développeur pour créer le launcher (principalement son UI, puisque la majeure partie de la logique est gérée par l’EML Lib).
J’ai fait ce choix principalement car je trouve que si c’est "moi" (ou un quelconque logiciel) qui génère le launcher, les possibilités de personnalisation sont très réduites. D’autant plus qu’il existe déjà plusieurs solutions de ce genre (certaines avec des forfaits gratuits).
 
Update : J'ai finalement créé un launcher template que n'importe qui peut forker pour commencer son launcher encore plus vite. J'ai aussi ajouté le support de Fabric (en plus de Forge et Vanilla) à l'écosystème.