A custom Minecraft launcher built specifically for the Assembly Line SMP modpack on Modrinth. Supports both cracked (offline) and premium (Microsoft) accounts side by side, auto-updates the modpack from Modrinth, and auto-provisions the correct Java runtime — no manual Java install required.
Built with Python + Qt (PySide6), packaged into standalone executables with Nuitka via GitHub Actions.
- Multi-account: add any number of cracked and Microsoft accounts, switch between them freely.
- Cracked accounts: offline-mode login with vanilla-compatible deterministic UUIDs (same UUID scheme every mainstream launcher uses).
- Premium accounts: real Microsoft sign-in via the OAuth device-code flow (no password ever touches this launcher — you sign in through Microsoft's own page).
- Live modpack sync: fetches the latest version directly from the Modrinth API and asks for confirmation before applying an update.
- Automatic Java provisioning: downloads the correct Eclipse Temurin JRE version for whatever the modpack needs — you never have to install Java yourself.
- Mod loader support: Fabric, Quilt, NeoForge, and Forge.
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements-dev.txt
python -m launcher.appRequires Python 3.11+.
pip install -r requirements-dev.txt
python packaging/build.pyThe build creates a native installer in dist/: an Inno Setup .exe on
Windows, an .AppImage on Linux, and a .dmg on macOS. Linux builds require
appimagetool; Windows builds require Inno Setup (ISCC) on PATH.
The standalone distribution directory is also kept at
dist/AssemblyLineLauncher-<platform>/. Set the
LAUNCHER_BUILD_LTO=1 environment variable to enable link-time
optimization for a smaller/faster binary at the cost of a much longer
build (this is what tagged release builds in CI use).
Pre-built binaries for Windows, macOS, and Linux are published
automatically by GitHub Actions on every
push, and attached to GitHub Releases for tagged
versions (v*).
src/launcher/
auth/ Account models, cracked login, Microsoft OAuth device-code
flow, account persistence (system keyring when available)
core/ Modrinth API client, .mrpack installer, vanilla Minecraft
installer, mod loader installers, Java runtime provisioning,
instance tracking, launch command building
ui/ PySide6 GUI: main window, account dialog, settings dialog
app.py Entry point
packaging/
build.py Nuitka build script
docs/
MICROSOFT_AUTH_SETUP.md How to register your own Azure AD app
tests/ pytest test suite (runs in CI on every push)
Premium account login needs an Azure AD client ID. See
docs/MICROSOFT_AUTH_SETUP.md for what's
currently configured and how to switch to your own.
MIT — see LICENSE.