首个 iced + Material 3 Expressive 版本的源码快照。 完整历史与日常提交在 dev 分支;main 只放阶段性快照。
5.9 KiB
Unlucky Launcher {{VERSION}}
Rust-native single-file Minecraft launcher: iced 0.14 + Material 3 Expressive UI, built-in AI agent (chat / config edits / crash diagnosis) and an MCP server other agent tools can attach to. No WebView, no bundled runtime, no JRE download needed to start the launcher itself.
Downloads
| Platform | Asset | Notes |
|---|---|---|
| Windows 10/11 x64 | unlucky-launcher-{{VERSION}}-windows-x64.exe |
single exe, double-click to run |
| Windows 11 ARM64 | unlucky-launcher-{{VERSION}}-windows-arm64.exe |
single exe, runs natively on ARM64 Windows |
| Linux x64 (X11/Wayland) | unlucky-launcher-{{VERSION}}-linux-x64.tar.gz |
single binary inside, no installer |
| Linux arm64 (X11/Wayland) | unlucky-launcher-{{VERSION}}-linux-arm64.tar.gz |
single binary inside; needs glibc 2.35+ |
| macOS 12+ Apple Silicon | unlucky-launcher-{{VERSION}}-macos-arm64.tar.gz |
single binary inside, no installer |
| macOS 12+ Intel | unlucky-launcher-{{VERSION}}-macos-x64.tar.gz |
single binary inside, no installer |
LICENSE, NOTICE and README.md ship in every archive; on Windows they are attached to
this release next to the .exe (a lone exe cannot carry them), so the license terms travel
with the download on every platform.
Every slot also ships the command line as its own small asset — ull-{{VERSION}}-<slot>
(.exe on Windows):
chmod +x ull-{{VERSION}}-linux-x64 # Release 资产不带可执行位,先补上
./ull-{{VERSION}}-linux-x64 instances list # servers / CI / Termux: no graphics stack needed
unlucky-launcher instances list # desktops: the GUI binary answers the same commands
ull runs instances, install, launch, accounts, sessions, logs, diag, config,
java and agent, and links no graphics library at all. The GUI binary accepts the same set
before it ever opens a window, so on a machine with a desktop you do not need ull.
Support matrix
| Platform | Level | Runtime requirements |
|---|---|---|
| Windows 10/11 x64 | first class | nothing beyond the OS (UCRT is part of Win10+) |
| Windows 11 ARM64 | first class (launcher artifact) | nothing extra; launcher runs natively, the game itself runs through the OS x64 emulation layer with an x64 JDK |
| macOS 12+ (arm64 / x64) | first class | nothing; unsigned build, see Gatekeeper note |
| Linux x64, X11 | first class | libxkbcommon, fontconfig, libGL (or software renderer), libxcb |
| Linux x64, Wayland | supported | wayland-client, libxkbcommon, plus the X11 set for XWayland apps |
| Linux arm64, X11 | first class | glibc 2.35+ (built on ubuntu-22.04-arm, same floor as x64), libxkbcommon, fontconfig, libGL, libxcb |
| Linux arm64, Wayland | supported | the above plus wayland-client |
| Windows 8.1/8/7 | unsupported | baseline was raised to Win10 (decision D21) |
| Android — Termux + X11 | experimental, not promised | CLI only (the ull asset, or build from source), GUI unverified; not part of this release matrix |
Both arm64 rows are formally released slots (the assets ship in this release and in
SHA256SUMS.txt), not the experimental Termux path: Linux arm64 is built and smoke-tested on a
native ARM64 runner, Windows ARM64 is cross-built with the same static-CRT gate as x64.
Install
Windows — put the .exe anywhere and run it (pick -windows-arm64.exe on ARM64 Windows,
-windows-x64.exe everywhere else). Portable data lives next to the exe when a
portable.marker file is present, otherwise under %APPDATA%.
Linux
tar -xzf unlucky-launcher-{{VERSION}}-linux-x64.tar.gz # use linux-arm64 on aarch64
cd unlucky-launcher-{{VERSION}}-linux-x64 # ditto
chmod +x unlucky-launcher && ./unlucky-launcher
macOS
tar -xzf unlucky-launcher-{{VERSION}}-macos-arm64.tar.gz
cd unlucky-launcher-{{VERSION}}-macos-arm64
xattr -d com.apple.quarantine unlucky-launcher # unsigned build, Gatekeeper quarantine
chmod +x unlucky-launcher && ./unlucky-launcher
No GPU? Software renderer
The UI renders through wgpu (GPU) and falls back to the tiny-skia CPU rasteriser when no usable
adapter is present. Force the CPU path on any machine with:
unlucky-launcher --software-renderer # the documented switch
unlucky-launcher --renderer=cpu # equivalent: pick the CPU renderer explicitly
Verify the download
# Linux / macOS
sha256sum -c SHA256SUMS.txt --ignore-missing
# Windows (PowerShell)
Get-FileHash .\unlucky-launcher-{{VERSION}}-windows-x64.exe -Algorithm SHA256
Checksums
{{SUMS}}
Known limitations of this build
- Microsoft (MSA) account login depends on a Mojang app-id whitelist that is still pending; until it is granted, use offline accounts or authlib-injector (the 403 is reported with a readable diagnostic instead of a silent failure).
- Binaries are not code-signed / notarized yet: Windows SmartScreen and macOS Gatekeeper warn on first launch. Checksums above are the integrity reference for now.
- macOS ships the bare binary (single-file promise), not a
.appbundle: no Dock icon or Finder double-click — launch it from a terminal.
License
Apache-2.0. Third-party notices are in NOTICE. Unlucky Launcher is not affiliated with Mojang or
Microsoft; it does not ship game files.
UI framework in this build
Every asset in this release is built from the iced UI (crates/app-iced, iced 0.14, MIT) — no Slint
code is linked into it. The earlier Slint UI (crates/app) stays in the repository as historical
source only: excluded from the cargo workspace, not built, not part of any asset here and not part of
the release matrix. It did ship in the previous v0.1.0 release; that release's Slint Royalty-Free
2.0 attribution remains where it was published, and no asset in this build carries that obligation.
There is deliberately no "Made with Slint" badge on this page: the obligation follows a Slint-linked
binary, and this release has none.