Un lanceur multiplateforme, léger et ergonomique pour gérer et lancer vos jeux et mods.
Ce README a été enrichi avec des sections pratiques : guide rapide, scripts utiles, packaging, détail technique sur l'auto-updater, procédure de rapport de bugs, et conseils pour contribuer.
- Interface moderne et personnalisable (EJS + Tailwind).
- Gestion multi-comptes (Microsoft, Mojang, etc.).
- Téléchargement et mise à jour automatiques des composants.
- Support des mods et des configurations personnalisées.
- Système de rapport de bugs intégré (Ctrl + Shift + L) qui collecte logs et infos système.
- Auto-updater avec logique de récupération défensive sur Windows pour atténuer les erreurs ENOENT.
- Node.js 20.x (voir
enginesdanspackage.json). - Git pour cloner le dépôt.
- Sur Windows : pour générer des installateurs,
electron-builderest utilisé (voir section Packaging).
- Clonez le dépôt :
git clone https://github.com/Multigames-Studio-fr/MGS-next-launcher.git
cd MGS-next-launcher- Installez les dépendances :
npm install- Lancer l'application en mode développement :
npm run dev- Pour une exécution locale en mode production :
npm start- Compiler les styles Tailwind (si vous éditez le CSS) :
npm run build-css- Pour surveiller les changements CSS en continu :
npm run watch-cssstart: lance l'app avec Electron.dev: mode développement (variable d'environnement--devpassée au processus main).dist: construit des artefacts viaelectron-builder.dist:win,dist:mac,dist:linux: builds ciblés.build-css,watch-css: compilation Tailwind.lint: lance ESLint.create-icon: script utilitaire pour générer des icônes.
Utilisez ces scripts tels quels avec npm run <script>.
Le projet est configuré pour electron-builder. Les options de publication et les conventions de nom d'artefact se trouvent dans package.json (build.publish, win, nsis).
Exemples de commandes :
# build pour toutes les plateformes configurées
npm run dist
# build spécifique (Windows/macOS/Linux)
npm run dist:win
npm run dist:mac
npm run dist:linuxNotes importantes :
- Sur Windows l'artefact NSIS est configuré (
artifactName), vérifiez les options densissi vous modifiez la génération d'installateur. - La signature de builds (codesign / signtool) n'est pas couverte ici — pour les releases publiques signées, préparez des certificats et adaptez la config
electron-builder. - Les builds CI peuvent être reliés à la publication GitHub (voir
build.publish).
Contexte : certains utilisateurs ont rencontré des erreurs ENOENT lors de la tentative de renommage d'un installeur temporaire vers le dossier pending de l'updater. Causes fréquentes : antivirus qui supprime le fichier, nom de fichier altéré, ou erreur de FS transitoire.
Mesures prises :
- Le process principal inclut maintenant une logique défensive qui scanne le dossier
pendinget tente des renommages alternatifs sûrs si un installeur correspondant est trouvé. - Journaux plus explicites pour aider au diagnostic.
Si vous voyez encore des erreurs :
- Vérifiez le dossier :
%USERPROFILE%\.multigames-studio-launcher-updater\pending
- Vérifiez votre antivirus / quarantaine (il peut avoir supprimé le fichier temp).
- Relancez la mise à jour après avoir désactivé temporairement l'antivirus pour tester.
Si vous voulez améliorer la logique d'auto-récupération, éditez index.js (initialisation de l'updater) et ajoutez des logs/strategies supplémentaires.
Méthode intégrée (recommandée) :
- Ouvrir le formulaire :
Ctrl + Shift + L. - Renseigner pseudo, titre et description. Les logs et infos système (OS, versions, stack traces) sont joints automatiquement.
- Envoyer.
Si vous préférez la méthode manuelle :
- Ouvrez la console de dev :
Ctrl + Shift + I-> ongletConsole. - Copiez les logs et joignez-les à votre issue.
- Donnez les informations : OS, RAM, CPU, version du launcher (affichée en bas ou dans les logs), étapes pour reproduire.
Ouvrez une issue ici : https://github.com/Multigames-Studio-fr/MGS-next-launcher/issues
Merci pour votre contribution ! Voici une checklist minimale pour une PR propre :
- Forkez et créez une branche nommée clairement (ex.
fix/updater-rename,feat/microsoft-auth). - Ajoutez des tests ou une procédure manuelle pour vérifier le changement (si pertinent).
- Respectez le style (EJS pour vues, Tailwind pour styles, Node/Electron pour le main).
- Lancez
npm run lintet corrigez les warnings bloquants. - Décrivez la PR (quoi, pourquoi, comment tester).
Commandes utiles :
git checkout -b feat/ma-fonctionnalite
git add .
git commit -m "feat: description courte"
git push origin feat/ma-fonctionnaliteindex.js— point d'entrée principal (main process Electron, auto-updater init).app/— templates EJS, assets (css, images, js), vues.app/assets/js/— scripts frontend, utilitaires (auth, config, ipc).app/assets/css/— sources Tailwind et fichiers compilés.build/— sortie des builds (selon CI/config local).
Q : L'updater échoue avec ENOENT lors du renommage
A : Vérifiez l'antivirus et le dossier pending de l'updater (voir section Auto-updater). Les logs dans electron-log (ou console) donnent plus de détails.
Q : Les builds échouent en CI
A : Assurez-vous que la machine CI utilise Node 20.x et dispose des outils natifs requis pour electron-builder (par ex. outils Windows pour la signature/packaging). Activez le verbose logging pour electron-builder pour diagnostiquer.
Q : Où sont les logs ?
A : Le projet utilise electron-log — les logs sont généralement écrits dans le répertoire utilisateur spécifique à l'application (selon OS). Vous pouvez aussi consulter la console DevTools (Ctrl + Shift + I).
Le launcher contient des fichiers de langue dans app/lang/ (ex. en_US.toml). Pour ajouter une langue :
- Créez un nouveau fichier
.tomlsuivant la structure existante. - Mettez à jour le loader de langues si nécessaire (
app/assets/js/langloader.js).
Consultez LICENSE.txt pour la licence complète. Les crédits et notices se trouvent dans NOTICE.md.
- Ouvrez une issue : https://github.com/Multigames-Studio-fr/MGS-next-launcher/issues
- Pour un rapport de bug rapide, utilisez le raccourci
Ctrl + Shift + Ldepuis l'app.
Si vous voulez :
- que j'ajoute des captures d'écran et un guide visuel étape par étape, dites quelles vues vous voulez montrer (landing, settings, updater) ;
- une version anglaise parallèle (README.en.md) ;
- ou que j'intègre des badges supplémentaires (build, release, license), je peux les ajouter.
Merci — dites-moi quelle amélioration prioritaire vous voulez (captures, traduction, badges, ou guide de packaging détaillé) et je m'en occupe.
