docs(readme): 删掉「合规声明」整节,账户信息归位到特性表

这是项目的 README,不是审核材料:把单独开列的合规节去掉,信息放回它该在的位置。

- 删除整节 `## Compliance statement` / `## 合规声明`(含 5 条 bullet)
- 「Microsoft 账户登录 + OAuth device code → XBL → XSTS → Minecraft Services + 令牌只存本机」
  并入特性表新增的「账户 / Accounts」一条(功能说明,不是专项保证)
- 「不分发游戏文件」「联机需账户与权益」两条删除(常识范围 / 与前一句重复)
- 「与 Mojang、Microsoft 无关联」降为文末一行普通脚注
- 平台基线:标准工具链那条去掉三重「无」,改为平铺陈述
- 平台基线:删掉与「构建 → 渲染开关」重复的渲染兜底条目(第三处),
  文件内不再出现「完整界面」/ "the full UI"
- bin 表:`ull` 状态列去掉与 Track A bullet 重复的「未随资产分发」,保留「同源同版本构建」
- UI 一条:「驱动真实引擎」→「由 core 引擎驱动」/ "drive the real engine" → "run on the core engine"
This commit is contained in:
AskaEth committed 2026-11-01 19:54:50 +08:00
1 parent 5a44870de5
commit aca280fd30
2 files changed
+16 -32

No files matched your search

+8 -17
View File
@@ -10,17 +10,6 @@ Unlucky Launcher (ULL) is a free, open-source Minecraft: Java Edition launcher w
WebView. The launcher embeds an AI agent client (chat / configuration / crash diagnosis) and can be WebView. The launcher embeds an AI agent client (chat / configuration / crash diagnosis) and can be
attached to other agent tooling as an MCP server. attached to other agent tooling as an MCP server.
## Compliance statement
- **Sign-in with your Microsoft account.** Authentication goes through Microsoft OAuth 2.0
device code flow → Xbox Live → XSTS → `api.minecraftservices.com`, using the player's own
Microsoft account and their own game entitlement.
- **Credentials stay on your machine.** Account tokens are stored locally only, are never sent to
any server operated by this project, and the AI features cannot read them.
- **Online play requires a Microsoft account and a valid game entitlement.**
- ULL does not distribute, mirror, proxy or modify any Minecraft game files.
- Not affiliated with Mojang or Microsoft.
## Highlights ## Highlights
- **Single-file native binary**: the launcher itself needs no JVM, no WebView and no sidecar - **Single-file native binary**: the launcher itself needs no JVM, no WebView and no sidecar
@@ -35,6 +24,8 @@ attached to other agent tooling as an MCP server.
- **Mod loaders**: Fabric, Quilt, NeoForge, Forge, with modpack and CurseForge / Modrinth clients in - **Mod loaders**: Fabric, Quilt, NeoForge, Forge, with modpack and CurseForge / Modrinth clients in
the core. the core.
- **Java management**: a Temurin → Oracle → Microsoft → Zulu fallback chain, region-aware. - **Java management**: a Temurin → Oracle → Microsoft → Zulu fallback chain, region-aware.
- **Accounts**: sign in with a Microsoft account over OAuth 2.0 device code flow → Xbox Live →
XSTS → `api.minecraftservices.com`; account tokens are kept on this machine only.
- **Engine**: multi-source download (health scoring, mirrors, chunked transfers, hash while - **Engine**: multi-source download (health scoring, mirrors, chunked transfers, hash while
downloading) and a YAML rule-based crash diagnosis engine. downloading) and a YAML rule-based crash diagnosis engine.
- **License**: Apache-2.0 © AskaEth (YeiJ). - **License**: Apache-2.0 © AskaEth (YeiJ).
@@ -51,7 +42,7 @@ Two tracks. They are not the same product yet, so read the headings before downl
those texts sit next to the `.exe` because a bare exe cannot hold them, while the unix archives those texts sit next to the `.exe` because a bare exe cannot hold them, while the unix archives
already contain them. already contain them.
- **UI**: Slint + Metro. This is the shipped GUI — the instance, download, account, Java, log and - **UI**: Slint + Metro. This is the shipped GUI — the instance, download, account, Java, log and
settings pages drive the real engine (the in-app AI chat panel is a scripted placeholder). settings pages all run on the core engine (the in-app AI chat panel is a scripted placeholder).
- **CLI `ull`** is built from the same tree at the same version — but the `v0.1.0` assets ship - **CLI `ull`** is built from the same tree at the same version — but the `v0.1.0` assets ship
only the GUI binary. If you want the CLI, build it yourself: only the GUI binary. If you want the CLI, build it yourself:
`cargo build --release --bin ull`. Commands: `instances`, `install`, `launch`, `accounts`, `cargo build --release --bin ull`. Commands: `instances`, `install`, `launch`, `accounts`,
@@ -82,7 +73,7 @@ Binaries in the workspace, so you can tell them apart:
|--------|-------|-------| |--------|-------|-------|
| `unlucky-launcher` | `crates/app` (Slint) | released in v0.1.0; still the usable GUI | | `unlucky-launcher` | `crates/app` (Slint) | released in v0.1.0; still the usable GUI |
| `unlucky-launcher-iced` | `crates/app-iced` (iced 0.14) | under construction; skeleton only, not shipped | | `unlucky-launcher-iced` | `crates/app-iced` (iced 0.14) | under construction; skeleton only, not shipped |
| `ull` | `crates/cli` | built from the same tree at the same version; not shipped in the v0.1.0 assets | | `ull` | `crates/cli` | built from the same tree at the same version |
## Module map ## Module map
@@ -166,8 +157,8 @@ a real runner.
Minimum baseline: **Windows 10**; Windows 8.1 / 8 / 7 are not supported. Minimum baseline: **Windows 10**; Windows 8.1 / 8 / 7 are not supported.
- Windows 10/11 builds use the **standard toolchain** (MSVC / GNU) — no custom target specs, no - Windows 10/11 builds use the **standard toolchain** (MSVC / GNU), built the same way as
`-Zbuild-std`, no import-table allowlists upstream cargo
- macOS 12+ (Apple Silicon and Intel) and Linux x64 / arm64 are supported build slots; on Linux, - macOS 12+ (Apple Silicon and Intel) and Linux x64 / arm64 are supported build slots; on Linux,
X11 is the preferred path today and Wayland is the long-term direction. macOS builds are unsigned, X11 is the preferred path today and Wayland is the long-term direction. macOS builds are unsigned,
so the first launch needs the Gatekeeper quarantine attribute cleared so the first launch needs the Gatekeeper quarantine attribute cleared
@@ -175,8 +166,6 @@ Minimum baseline: **Windows 10**; Windows 8.1 / 8 / 7 are not supported.
- Android Termux is experimental and not promised: CLI only, GUI unverified - Android Termux is experimental and not promised: CLI only, GUI unverified
- Platform independence is expressed through **separate test matrices**, not separate artifact - Platform independence is expressed through **separate test matrices**, not separate artifact
pipelines; capability differences use feature gates with runtime probing pipelines; capability differences use feature gates with runtime probing
- **Renderer fallback on both UI stacks**: the Slint build drops to software rendering, the iced
build drops from wgpu to tiny-skia, so a machine without a usable GPU still gets the full UI
## License and acknowledgements ## License and acknowledgements
@@ -201,3 +190,5 @@ Thanks to [HMCL](https://github.com/HMCL-dev/HMCL) and
along with the overwhelming majority of Minecraft players for years now. This launcher learned an along with the overwhelming majority of Minecraft players for years now. This launcher learned an
enormous amount from them about how a launcher should feel and how it should work, and it exists enormous amount from them about how a launcher should feel and how it should work, and it exists
very much in their debt. very much in their debt.
Not affiliated with Mojang or Microsoft.
+8 -15
View File
@@ -9,15 +9,6 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java
每个平台就一个原生二进制——没有安装包、没有捆绑运行时、没有 WebView。启动器内置 AI Agent 每个平台就一个原生二进制——没有安装包、没有捆绑运行时、没有 WebView。启动器内置 AI Agent
客户端(对话 / 改配置 / 崩溃诊断),也能作为 MCP server 接进别的 Agent 工具。 客户端(对话 / 改配置 / 崩溃诊断),也能作为 MCP server 接进别的 Agent 工具。
## 合规声明
- **用 Microsoft 账户登录**:认证走 Microsoft OAuth 2.0 device code flow → Xbox Live → XSTS →
`api.minecraftservices.com`,用的是玩家自己的 Microsoft 账户与自己已购的游戏权益。
- **凭据只存本机**:账户令牌只保存在本机,不上传本项目运营的任何服务器,AI 功能也读不到。
- **联机游玩需要 Microsoft 账户与有效的游戏权益。**
- 不分发、不镜像、不代理、不修改任何 Minecraft 游戏文件。
- 与 Mojang、Microsoft 无关联。
## 特性 ## 特性
- **单文件原生二进制**:启动器本体不需要 JVM、不需要 WebView、不带旁挂运行时。游戏要的 JDK 由 - **单文件原生二进制**:启动器本体不需要 JVM、不需要 WebView、不带旁挂运行时。游戏要的 JDK 由
@@ -29,6 +20,8 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java
server 形态(stdio 或 Streamable HTTP)开放给外部 Agent 工具。 server 形态(stdio 或 Streamable HTTP)开放给外部 Agent 工具。
- **加载器**:Fabric / Quilt / NeoForge / Forge;整合包与 CurseForge / Modrinth 客户端在 core 里。 - **加载器**:Fabric / Quilt / NeoForge / Forge;整合包与 CurseForge / Modrinth 客户端在 core 里。
- **Java 管理**:Temurin → Oracle → Microsoft → Zulu 回退链,带地区判定。 - **Java 管理**:Temurin → Oracle → Microsoft → Zulu 回退链,带地区判定。
- **账户**:用 Microsoft 账户登录,认证走 OAuth 2.0 device code flow → Xbox Live → XSTS →
`api.minecraftservices.com`;账户令牌只保存在本机。
- **引擎**:多源下载(健康度评分、镜像、分块传输、边下边算)与 YAML 规则引擎的崩溃诊断。 - **引擎**:多源下载(健康度评分、镜像、分块传输、边下边算)与 YAML 规则引擎的崩溃诊断。
- **许可**:Apache-2.0 © AskaEth (YeiJ)。 - **许可**:Apache-2.0 © AskaEth (YeiJ)。
@@ -42,8 +35,8 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java
`.exe`)、Linux x64、macOS(arm64 与 x64)`.tar.gz`。每个 Release 另挂 `SHA256SUMS.txt` 与 `.exe`)、Linux x64、macOS(arm64 与 x64)`.tar.gz`。每个 Release 另挂 `SHA256SUMS.txt` 与
`LICENSE` / `NOTICE` / `README.md` 三份文本——Windows 是「一个 exe 装不下文本」所以并列挂出, `LICENSE` / `NOTICE` / `README.md` 三份文本——Windows 是「一个 exe 装不下文本」所以并列挂出,
unix 归档里本来就装着。 unix 归档里本来就装着。
- **UI**:Slint + Metro。这是已交付的图形界面——实例、下载、账户、Java、日志、设置各页驱动真实引擎 - **UI**:Slint + Metro。这是已交付的图形界面——实例、下载、账户、Java、日志、设置
(应用内 AI 对话面板仍是脚本化的占位)。 各页都由 core 引擎驱动(应用内 AI 对话面板仍是脚本化的占位)。
- **CLI `ull`** 与 v0.1.0 同源同版本,但发布资产里只有 GUI 单文件——要用它请自己构建: - **CLI `ull`** 与 v0.1.0 同源同版本,但发布资产里只有 GUI 单文件——要用它请自己构建:
`cargo build --release --bin ull`。命令:`instances`、`install`、`launch`、`accounts`、`sessions`、 `cargo build --release --bin ull`。命令:`instances`、`install`、`launch`、`accounts`、`sessions`、
`logs`、`diag`、`config`、`java`、`agent`。 `logs`、`diag`、`config`、`java`、`agent`。
@@ -70,7 +63,7 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java
|--------|-------|------| |--------|-------|------|
| `unlucky-launcher` | `crates/app`(Slint) | v0.1.0 已发布,仍是当前能用的图形界面 | | `unlucky-launcher` | `crates/app`(Slint) | v0.1.0 已发布,仍是当前能用的图形界面 |
| `unlucky-launcher-iced` | `crates/app-iced`(iced 0.14) | 施工中,仅骨架,不随发布包分发 | | `unlucky-launcher-iced` | `crates/app-iced`(iced 0.14) | 施工中,仅骨架,不随发布包分发 |
| `ull` | `crates/cli` | 与发布版同源同版本构建;未随 v0.1.0 资产分发 | | `ull` | `crates/cli` | 与发布版同源同版本构建 |
## 模块地图 ## 模块地图
@@ -147,14 +140,12 @@ cargo build --release # 三个 bin 都落在 ta
最低基线 **Windows 10**;Windows 8.1 / 8 / 7 不在支持范围内。 最低基线 **Windows 10**;Windows 8.1 / 8 / 7 不在支持范围内。
- Windows 10/11 走**标准工具链**产物(MSVC / GNU),无自定义 target spec、无 `-Zbuild-std`、无导入表白名单 - Windows 10/11 的产物由**标准工具链**(MSVC / GNU)构建,构建方式与上游 cargo 一致
- macOS 12+(Apple Silicon 与 Intel)与 Linux x64 / arm64 都是支持槽位;Linux 上 X11 是当前首选路径, - macOS 12+(Apple Silicon 与 Intel)与 Linux x64 / arm64 都是支持槽位;Linux 上 X11 是当前首选路径,
Wayland 是大方向。macOS 产物未签名,首次启动要自己清掉 Gatekeeper 隔离标记 Wayland 是大方向。macOS 产物未签名,首次启动要自己清掉 Gatekeeper 隔离标记
(`xattr -d com.apple.quarantine`) (`xattr -d com.apple.quarantine`)
- Android Termux 试验级、不承诺:只保证 CLI,GUI 未验证 - Android Termux 试验级、不承诺:只保证 CLI,GUI 未验证
- 平台独立性体现在**独立测试矩阵**,而非独立产物链;能力差异用 feature gate + 运行期探测表达 - 平台独立性体现在**独立测试矩阵**,而非独立产物链;能力差异用 feature gate + 运行期探测表达
- **两套 UI 都有渲染兜底**:Slint 版降软渲染,iced 版从 wgpu 降到 tiny-skia,没有可用 GPU 的机器
同样能拿到完整界面
## 许可证与致谢 ## 许可证与致谢
@@ -173,3 +164,5 @@ cargo build --release # 三个 bin 都落在 ta
感谢 [HMCL](https://github.com/HMCL-dev/HMCL) 和 [PCL2](https://github.com/Meloong-Git/PCL) 感谢 [HMCL](https://github.com/HMCL-dev/HMCL) 和 [PCL2](https://github.com/Meloong-Git/PCL)
(均 GPL-3.0)——这两位陪着绝大多数 MC 玩家走了好多年的老前辈。启动器该是什么手感、该怎么把一件 (均 GPL-3.0)——这两位陪着绝大多数 MC 玩家走了好多年的老前辈。启动器该是什么手感、该怎么把一件
事做顺,我们是从它们身上学的;这个项目欠它们一份很大的人情。 事做顺,我们是从它们身上学的;这个项目欠它们一份很大的人情。
与 Mojang、Microsoft 无关联。