Files
Unlucky-Launcher/packaging/release-notes.md
T
AskaEth 76d83148ff feat(packaging): 单文件产物矩阵 + tag 触发的 Release 流水线(M46)
- packaging/make_artifacts.py:本地与 CI 共用的打包脚本 —— 版本取自 cargo metadata
  (tag 交叉校验,不一致即失败)、按宿主判定槽位、Windows 裸 exe / UNIX tar.gz
  (内含 LICENSE/NOTICE/README.md)、SHA256SUMS.txt;打包前跑 `ull --version` 断言版本;
  tar 内 mtime/uid 归零 + gzip header mtime=0 → 同源构建 sha256 可复现
- packaging/README.md:产物矩阵与命名约定、版本唯一真相源、各平台运行时依赖、
  软渲染兜底、release profile 取舍、**本机实测**体积与冒烟证据、合规与支持矩阵
- packaging/release-notes.md:GitHub Release 说明模板({{VERSION}}/{{SUMS}},
  写清 Win10+ / macOS 12+ / Linux x64 支持矩阵)
- .github/workflows/release.yml:tag v* 触发四槽位矩阵 → 产物 + 重算 SHA256SUMS →
  gh release create(pre-release 默认开,workflow_dispatch 只构建);Windows 用
  +crt-static 并以 dumpbin 导入表把"单文件"做成硬门禁;归档内容自检 LICENSE/NOTICE/README
- Cargo.toml:release profile lto thin → fat(实测 GUI 16,366,080 → 14,595,584 B
  = −10.8%,ull 7,572,992 → 6,157,824 B = −18.7%)

验证:cargo build --release 通过;GUI `--software-renderer --screenshot` 出 1180×760 PNG、
`ull --version` = 0.1.0;PE 导入表 33 个 DLL 全为系统库(无 VCRUNTIME/libwinpthread);
cargo deny licenses/bans/sources ok;workflow 用 python yaml 解析自检。
2026-11-01 08:33:17 +08:00

3.5 KiB

Unlucky Launcher {{VERSION}}

Rust-native single-file Minecraft launcher: Slint + Metro 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
Linux x64 (X11/Wayland) unlucky-launcher-{{VERSION}}-linux-x64.tar.gz single binary inside, no installer
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.

Support matrix

Platform Level Runtime requirements
Windows 10/11 x64 first class nothing beyond the OS (UCRT is part of Win10+)
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
Windows 8.1/8/7 unsupported baseline was raised to Win10 (decision D21)

Install

Windows — put the .exe anywhere and run it. 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
cd unlucky-launcher-{{VERSION}}-linux-x64
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 prefers OpenGL (femtovg) and falls back to Slint's CPU renderer when no usable GL driver is present. Force it on any machine with:

unlucky-launcher --software-renderer          # or: SLINT_BACKEND=winit-software unlucky-launcher

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 .app bundle: no Dock icon or Finder double-click — launch it from a terminal.

License

Apache-2.0. Third-party notices (including Slint's Royalty-Free 2.0 track) are in NOTICE. Unlucky Launcher is not affiliated with Mojang or Microsoft; it does not ship game files.

Made with Slint — Slint Royalty-Free 2.0 track, unmodified.