Unlucky Launcher v0.2.0
CI / runtime smoke (macos arm64, probe) (push) Skipped
CI / fmt (rustfmt --check) (push) Canceled after 0s
CI / clippy (ubuntu-latest) (push) Canceled after 0s
CI / clippy (windows-latest) (push) Canceled after 0s
CI / test (ubuntu-latest) (push) Canceled after 0s
CI / test (windows-latest) (push) Canceled after 0s
CI / build release (ubuntu-latest) (push) Canceled after 0s
CI / build release (windows-latest) (push) Canceled after 0s
CI / runtime smoke (ubuntu x64, xvfb) (push) Canceled after 0s
Guards / core 零 UI 守门 (push) Canceled after 0s
Guards / presenter 零 UI 守门 (push) Canceled after 0s
Guards / design 零第三方依赖守门 (push) Canceled after 0s
Guards / unsafe 落点守门(集合必须恰好一个文件) (push) Canceled after 0s
Guards / 文件行数 ≤400 守门 (push) Canceled after 0s
Guards / 依赖许可与来源(cargo-deny) (push) Canceled after 0s

首个 iced + Material 3 Expressive 版本的源码快照。
完整历史与日常提交在 dev 分支;main 只放阶段性快照。
This commit is contained in:
AskaEth committed 2026-11-05 14:22:11 +08:00
commit 8a8e5ca0c0
1079 files changed
+208035

No files matched your search

+124
View File
@@ -0,0 +1,124 @@
# 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):
```bash
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**
```bash
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**
```bash
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:
```bash
unlucky-launcher --software-renderer # the documented switch
unlucky-launcher --renderer=cpu # equivalent: pick the CPU renderer explicitly
```
## Verify the download
```bash
# 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 `.app` bundle: 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.