| Loaders | Vanilla · Fabric · Quilt · Forge · NeoForge |
| Modpacks | Modrinth & CurseForge search + install, local import (.mrpack / MultiMC / CF zip) |
| Mods & more | Browse mods, resource packs, shaders — filtered to version & loader |
| Themes | Built-in palettes + custom HEX theme editor |
| Servers | Saved list, status ping, quick-join / direct-connect |
| Accounts | Microsoft (device code) + offline |
| Safety | Blocks delete / edit / reinstall / copy while the game is running |
| Updates | Header badge when a new GitHub release is out (click / U) |
Measured with cargo run --release --bin mctui-perf (20s samples, Windows, headless UI only — no Minecraft JVM).
| Scenario | CPU % (1 core) | RAM (working set) | Notes |
|---|---|---|---|
| Idle (no redraw) | ~0.08% | ~10.2 MiB | Quiet event loop |
| Scroll @ 60 FPS (400 mods) | ~6.6% | ~10.9 MiB | Realistic continuous scroll |
| Scroll max (stress) | ~98% | ~10.9 MiB | Upper bound — redraw as fast as possible |
| Release binary | ~12.6 MiB on disk |
How CPU % is calculated (correct, not Task Manager “guess”):
100 × (process CPU time ÷ wall time) using Windows GetProcessTimes (user + kernel).
100% = one full logical core. RAM is process working set (K32GetProcessMemoryInfo), same as Task Manager Memory.
Re-run on your machine:
cargo run --release --bin mctui-perf
# longer sample:
$env:MCTUI_PERF_SECS=60; cargo run --release --bin mctui-perfPortable .exe — no installer.
- Latest release
- Download
Terminal-Launcher-windows-x64.zip - Run
Terminal-Launcher.exe
Portable binary (x86_64, glibc — works on Arch, Debian, Fedora, Ubuntu, and most other distros).
- Latest release
- Download
Terminal-Launcher-linux-x64.tar.gz - Extract and run:
tar -xzf Terminal-Launcher-linux-x64.tar.gz
chmod +x Terminal-Launcher
./Terminal-LauncherNeeds a terminal with Unicode, a JRE 21+ for Minecraft, and (for Microsoft login token storage) a desktop keyring / Secret Service (gnome-keyring, kwallet, etc.).
Build from source
git clone https://github.com/Foxemsx/Terminal-Launcher.git
cd Terminal-Launcher
cargo build --release
# Windows → target/release/mctui.exe
# Linux → target/release/mctuiOn Linux you may need: pkg-config, OpenSSL headers (libssl-dev / openssl-devel / openssl).
CurseForge API key (optional)
Get an org key at console.curseforge.com, then either:
- Settings → curseforge field, or
- Windows:
$env:MCTUI_CURSEFORGE_KEY = '$2a$10$…'(PowerShell: single quotes) - Linux:
export MCTUI_CURSEFORGE_KEY='$2a$10$…'
| Step | Keys |
|---|---|
| Microsoft login | 2 accounts → a |
| New instance / modpack | 1 → n |
| Install & play | i then ↵ |
| Browse mods | o open instance → / search |
| Saved servers | 3 → n add · ↵ join |
1–4 switch tabs · q quit · tab next tab
Microsoft login uses the device-code flow with our own Azure app registration (client ID baked into the build). No third-party launcher client ID is used.
You can override it with the MCTUI_MS_CLIENT_ID environment variable if you register your own Azure app (supported account types: Personal Microsoft accounts only, with the nativeclient redirect URI).
Offline accounts never contact Microsoft.
%LOCALAPPDATA%\mctui\ on Windows · ~/.local/share/mctui/ on Linux
Instances live under instances/<name>/.minecraft/.
If Terminal Launcher helps you, you can support development:
Also available in-app: Settings → community → ☕ support us / ⬡ github.
Unofficial community project — not affiliated with Mojang / Microsoft.
You need a legitimate Minecraft Java Edition copy for online play.






