EML Template is the reference boilerplate for building a modern, fast, and cross-platform Minecraft Launcher.
Powered by EML Lib • Configurable via EML AdminTool
EML Template acts as the frontend foundation for the Electron Minecraft Launcher ecosystem. It is a pre-configured Electron + Vite application designed to provide the best possible gaming experience.
It is engineered to work in perfect synergy with EML Lib (for the core logic) and EML AdminTool (for configuration).
- Next-gen performance: Built on Vite, offering instant startup and Hot-Module-Replacement (HMR).
- Microsoft authentication: Full integration of the official authentication flow via EML Lib.
- Asset management: Smart downloading of game files (Java, libraries, assets, mods) with hash validation, thanks to EML Lib and EML AdminTool (optional).
- Auto-update: Automatic update system linked to your EML AdminTool instance.
Before starting, ensure you have installed:
- Node.js (v18 or higher recommended)
- npm (or Yarn/Pnpm)
-
Clone the repository:
git clone https://github.com/Electron-Minecraft-Launcher/EML-Template.git cd EML-Template -
Install dependencies:
npm install
Note: This will automatically install
eml-liband build tools. -
Start in Development mode:
npm run dev
An Electron window will open with hot-reloading enabled.
Modify the configuration file (electron/const.ts) to point to your distribution URL generated by EML AdminTool.
Tip
Since EML Lib v2.2.0, you can use EML Template without an EML AdminTool instance by providing a custom configuration object directly in the code. However, using EML AdminTool is recommended for easier management and updates.
To change the visual identity, replace the files in the build/ folder:
icon.png: Standard icon (512x512).icon.ico: For Windows.icon.icns: For macOS (Legacy & Liquid Glass fallback).background.png: DMG Installer background (macOS).
To create the final executables for distribution:
| Platform | Command | Output format |
|---|---|---|
| Windows | npm run release:win |
.exe (NSIS Installer) |
| macOS | npm run release:mac |
.dmg (Disk Image) |
| Linux | npm run release:lin |
.AppImage, .deb, .rpm |
Compiled files will be located in the release/ folder.
Contributions are welcome! For major changes, please open an issue first to discuss what you would like to change.
