From aca280fd300972695a55a48572e7883c78f0b9fa Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 1 Nov 2026 19:54:50 +0800 Subject: [PATCH] =?UTF-8?q?docs(readme):=20=E5=88=A0=E6=8E=89=E3=80=8C?= =?UTF-8?q?=E5=90=88=E8=A7=84=E5=A3=B0=E6=98=8E=E3=80=8D=E6=95=B4=E8=8A=82?= =?UTF-8?q?=EF=BC=8C=E8=B4=A6=E6=88=B7=E4=BF=A1=E6=81=AF=E5=BD=92=E4=BD=8D?= =?UTF-8?q?=E5=88=B0=E7=89=B9=E6=80=A7=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这是项目的 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" --- README.md | 25 ++++++++----------------- README.zh-CN.md | 23 ++++++++--------------- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index e3e1a9c..c0eaacc 100644 --- a/README.md +++ b/README.md @@ -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 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 - **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 the core. - **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 downloading) and a YAML rule-based crash diagnosis engine. - **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 already contain them. - **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 only the GUI binary. If you want the CLI, build it yourself: `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-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 @@ -166,8 +157,8 @@ a real runner. 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 - `-Zbuild-std`, no import-table allowlists +- Windows 10/11 builds use the **standard toolchain** (MSVC / GNU), built the same way as + upstream cargo - 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, 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 - Platform independence is expressed through **separate test matrices**, not separate artifact 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 @@ -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 enormous amount from them about how a launcher should feel and how it should work, and it exists very much in their debt. + +Not affiliated with Mojang or Microsoft. diff --git a/README.zh-CN.md b/README.zh-CN.md index ae874f4..c5f919c 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -9,15 +9,6 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java 每个平台就一个原生二进制——没有安装包、没有捆绑运行时、没有 WebView。启动器内置 AI 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 由 @@ -29,6 +20,8 @@ Unlucky Launcher(ULL)是一个用 Rust 写的免费开源 Minecraft: Java server 形态(stdio 或 Streamable HTTP)开放给外部 Agent 工具。 - **加载器**:Fabric / Quilt / NeoForge / Forge;整合包与 CurseForge / Modrinth 客户端在 core 里。 - **Java 管理**:Temurin → Oracle → Microsoft → Zulu 回退链,带地区判定。 +- **账户**:用 Microsoft 账户登录,认证走 OAuth 2.0 device code flow → Xbox Live → XSTS → + `api.minecraftservices.com`;账户令牌只保存在本机。 - **引擎**:多源下载(健康度评分、镜像、分块传输、边下边算)与 YAML 规则引擎的崩溃诊断。 - **许可**: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` 与 `LICENSE` / `NOTICE` / `README.md` 三份文本——Windows 是「一个 exe 装不下文本」所以并列挂出, unix 归档里本来就装着。 -- **UI**:Slint + Metro。这是已交付的图形界面——实例、下载、账户、Java、日志、设置各页驱动真实引擎 - (应用内 AI 对话面板仍是脚本化的占位)。 +- **UI**:Slint + Metro。这是已交付的图形界面——实例、下载、账户、Java、日志、设置 + 各页都由 core 引擎驱动(应用内 AI 对话面板仍是脚本化的占位)。 - **CLI `ull`** 与 v0.1.0 同源同版本,但发布资产里只有 GUI 单文件——要用它请自己构建: `cargo build --release --bin ull`。命令:`instances`、`install`、`launch`、`accounts`、`sessions`、 `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-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/11 走**标准工具链**产物(MSVC / GNU),无自定义 target spec、无 `-Zbuild-std`、无导入表白名单 +- Windows 10/11 的产物由**标准工具链**(MSVC / GNU)构建,构建方式与上游 cargo 一致 - macOS 12+(Apple Silicon 与 Intel)与 Linux x64 / arm64 都是支持槽位;Linux 上 X11 是当前首选路径, Wayland 是大方向。macOS 产物未签名,首次启动要自己清掉 Gatekeeper 隔离标记 (`xattr -d com.apple.quarantine`) - Android Termux 试验级、不承诺:只保证 CLI,GUI 未验证 - 平台独立性体现在**独立测试矩阵**,而非独立产物链;能力差异用 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) (均 GPL-3.0)——这两位陪着绝大多数 MC 玩家走了好多年的老前辈。启动器该是什么手感、该怎么把一件 事做顺,我们是从它们身上学的;这个项目欠它们一份很大的人情。 + +与 Mojang、Microsoft 无关联。