Electron Minecraft Launcher Lib (EML Lib) is a Node.js library. It permits to authenticate, download Java and Minecraft and launch Minecraft.
EML Lib supports multiple authentication methods, including Microsoft, Azuriom, Yggdrasil and Crack. This allows you to choose the authentication method that best suits your needs and preferences.
Read the docs for MicrosoftAuth, YggdrasilAuth, AzAuth and CrackAuth.
Choose the Minecraft version and loader that you want to launch. EML Lib supports all Minecraft versions, from Minecraft beta to the latest Minecraft snapshot, and all loaders, including Vanilla, Forge, NeoForge, Fabric and Quilt. MCP support is coming soon.
EML Lib also allows you to use Profiles, which are sets of settings (such as Minecraft version, loader, mods, etc.) that you can save and reuse later.
EML Lib can automatically download and install Java to ensure that you have the correct Java version for the Minecraft version you want to launch. It also supports custom Java paths if you prefer to use your own Java installation.
To use all the capacities of EML Lib, you should set up your EML AdminTool website. It will allow you to use features such as news, bootstraps, maintenance, background, and more.
Read the docs for Profiles, Launcher and Java.
EML Lib can allow your players to manage their skins and capes. It supports the official Miccrosoft skin and cape system, as well as custom skins and capes. Players can change their skins and capes directly from the launcher.
Read the docs.
Bootstrap 1
Bootstrap is a powerful feature that allows you to auto-update your launcher. It checks for updates on a specified URL and downloads and installs them automatically. This ensures that your launcher is always up to date with the latest features and bug fixes.
Read the docs.
Maintenance mode 1
Maintenance mode is a feature that allows you to block the launcher during maintenance. When maintenance mode is enabled, users will see a message indicating that the launcher is under maintenance and will not be able to launch Minecraft until the maintenance is complete.
Read the docs.
Customization 1
EML Lib allows you to customize the launcher with various features, including:
- News: Displaying news on the launcher.
- Background: Displaying a background image on the launcher.
- Server status: Displaying server information on the launcher.
Read the docs for News, Background and ServerStatus.
Stats 1
Stats is a feature that allows you to collect and send anonymized usage statistics to EML AdminTool. This helps you understand how users are interacting with your launcher and can help you improve the user experience.
Read the docs.
Crash Reports 1
Crash Reports is a feature that allows you to collect and send crash reports to EML AdminTool. This helps you understand what went wrong when the launcher crashes and can help you fix the issues.
Read the docs.
There are already several Node.js libraries to launch Minecraft. Here is how EML Lib compares to the main ones.
| Solution | Language / License | Actively maintained | Auth | Loaders | Agnostic mode | Ecosystem |
|---|---|---|---|---|---|---|
| EML Lib | TypeScript / MIT | Yes | Microsoft, Azuriom, Yggdrasil, Crack | Vanilla, Forge, NeoForge, Fabric, Quilt | Yes (v2.2.0+) | EML AdminTool, EML Template |
| MCLC (Pierce01) | JavaScript / MIT | No (last release: 2023) | Via MSMC (external) | Forge only | Yes | None |
| minecraft-java-core (Luuxis) | TypeScript / Custom 2 | Yes | Microsoft, Azuriom | Vanilla, Forge, NeoForge, Fabric, Quilt | Yes | Selvania Launcher |
| GMLL (Hanro50) | TypeScript / MIT | No (last release: 2023) | Via MSMC (external) | Forge, Fabric, Quilt | Yes | None |
| @xmcl packages (Voxelum) | TypeScript / MIT | Yes | — (low-level toolkit) | All | Yes | XMCL launcher |
Most existing libraries focus on launching Minecraft. EML Lib focuses on guaranteeing that every player runs exactly the expected environment — from authentication to file integrity, Java installation, and modpack distribution.
This is especially useful for:
- private servers that distribute a specific modpack,
- heavily modded servers where client drift causes issues,
- controlled environments where manual client edits are not acceptable.
If you do not need a backend, use agnostic mode with a hosted JSON modpack file. If you want a full administration dashboard, pair EML Lib with EML AdminTool.
- Node.js 20 or higher: see Node.js;
- Electron 23 or higher: please install it with
npm i electronif you use Microsoft Authentication.
To get all the capacities of this Node.js library, you should set up your EML AdminTool website! Without it, some features will be unavailable (such as News, Bootstrap, etc.).
You need Node.js and Electron.
# Using npm
npm i eml-libeml-lib package includes TypeScript typings, so you don't need to install @types/eml-lib.
You can use the EML Template to create a Minecraft launcher with EML Lib. It is an Electron application that uses EML Lib to launch Minecraft. It is a good starting point to create your own Minecraft launcher.
Quick start using the EML AdminTool:
const EMLLib = require('eml-lib')
const launcher = new EMLLib.Launcher({
url: 'https://at.emlproject.com', // Your EML AdminTool URL
root: 'eml',
account: new EMLLib.CrackAuth().auth('GoldFrite')
})
launcher.launch()Please refer to the docs for more information.
| OS (platform) | Supported? | Minimum version supported |
|---|---|---|
| Windows (win32) | Yes | Windows 7 (Windows NT 6.1) |
| macOS (Darwin) | Yes | Mac OS X Lion (10.7) |
| Linux, including Chrome OS | Yes | Variable |
| Others | Not officially | - |
Warning
Mac with Apple Silicon (M1, M2, etc.) is supported only for Minecraft 1.13 and above.
Warning
No support will be provided for older versions of Windows, macOS and Linux, or for other operating systems.
The library has been tested on Windows 11 and macOS Tahoe (M3) with Node.js 22, on multiple Minecraft versions, from 1.0 to the Minecraft 26.1-snapshot, and with multiple loaders (Vanilla, Forge, NeoForge, Fabric and Quilt).
Warning
Mac with Apple Silicon (M1, M2, etc.) is supported only for Minecraft 1.13 and above.
Warning
Forge is supported only for Minecraft 1.6 and above.
See CONTRIBUTING.md for guidelines on how to contribute to this project.
- This is not an official library from Mojang Studios, Microsoft, Electron or Node.js. Minecraft is a trademark of Mojang Studios.
- This Node.js library is under the
MITlicense; to get more information, please read the fileLICENSE. It is legally obligatory to respect this license. - If you need some help, you can join this Discord.