# Drop*O*ut
[English](README.md) | 中文
[](https://app.fossa.com/projects/git%2Bgithub.com%2FHsiangNianian%2FDropOut?ref=badge_small)
[](https://github.com/pre-commit/pre-commit)
[](https://results.pre-commit.ci/latest/github/HsiangNianian/DropOut/main)
[](https://github.com/astral-sh/ruff)
[](https://github.com/HydroRoll-Team/DropOut/actions/workflows/codeql.yml)
[](https://github.com/HydroRoll-Team/DropOut/actions/workflows/dependabot/dependabot-updates)
[](https://github.com/HydroRoll-Team/DropOut/actions/workflows/release.yml)
[](https://github.com/HydroRoll-Team/DropOut/actions/workflows/test.yml)
DropOut 是一个现代的、可复现的、开发者级别的 Minecraft 启动器。
它不仅仅是为了启动 Minecraft 而设计的,而是将 Minecraft 环境作为确定性的、版本化的工作空间进行管理。
DropOut 使用 Tauri v2 构建,DropOut 提供原生性能和最小资源使用,并配有现代响应式 Web UI(基于 React 19、shadcn/ui 和 Tailwind CSS 4 构建)。
> Minecraft 环境是一个复杂的系统。
> DropOut 将它们视为软件项目。
## 为什么选择 DropOut?
大多数 Minecraft 启动器专注于让你进入游戏。
DropOut 专注于保持你的游戏稳定、可调试和可重现。
- 整合包昨天还能游玩,今天却坏了?
→ DropOut 让它可追溯。
- 分享模组包意味着压缩数 GB 的文件?
→ DropOut 分享精确的依赖清单。
- Java、加载器、模组、配置不同步?
→ DropOut 将它们锁定在一起。
这个启动器是为重视控制、透明度和长期稳定性的玩家构建的。
## 功能特性
- **高性能**:使用 Rust 和 Tauri 构建,实现最小资源使用和快速启动时间。
- **现代工业 UI**:使用 **React 19**、**shadcn/ui** 和 **Tailwind CSS 4** 设计的干净、无干扰界面。
- **Microsoft 认证**:通过官方 Xbox Live 和 Microsoft OAuth 流程(设备代码流程)提供安全登录支持。
- **模组加载器支持**:
- **Fabric**:内置安装程序和版本管理。
- **Forge**:支持安装和启动 Forge 版本。
- **Java 管理**:
- 自动检测已安装的 Java 版本。
- 内置 Adoptium JDK/JRE 下载器。
- **GitHub 集成**:直接从启动器主页查看最新的项目更新和变更日志。
- **游戏管理**:
- 完整的版本隔离。
- 高效的并发资产和库下载。
- 可自定义的内存分配和分辨率设置。
## 路线图
- [x] **账户持久化** — 在会话之间保存登录状态
- [x] **令牌刷新** — 自动刷新过期的 Microsoft 令牌
- [x] **JVM 参数解析** — 完全支持 `arguments.jvm` 和 `arguments.game` 解析
- [x] **Java 自动检测和下载** — 扫描系统并下载 Java 运行时
- [x] **Fabric 加载器支持** — 使用 Fabric 安装和启动
- [x] **Forge 加载器支持** — 使用 Forge 安装和启动
- [x] **GitHub 发布集成** — 在应用内查看变更日志
- [ ] **[WIP]实例/配置文件系统** — 多个隔离的游戏目录,具有不同的版本/模组
- [ ] **多账户支持** — 在多个账户之间无缝切换
- [ ] **自定义游戏目录** — 允许用户选择游戏文件位置
- [ ] **启动器自动更新** — 通过 Tauri 更新插件的自更新机制
- [ ] **模组管理器** — 直接在启动器中启用/禁用模组
- [ ] **从其他启动器导入** — MultiMC/Prism 配置的迁移工具
## 安装
从 [Releases](https://github.com/HsiangNianian/DropOut/releases) 页面下载适用于您平台的最新版本。
| 平台 | 文件 |
| -------------- | ------------------- |
| Linux x86_64 | `.deb`, `.AppImage` |
| Linux ARM64 | `.deb`, `.AppImage` |
| macOS ARM64 | `.dmg` |
| Windows x86_64 | `.msi`, `.exe` |
| Windows ARM64 | `.msi`, `.exe` |
## 从源码构建
### 先决条件
1. **Rust**:从 [rustup.rs](https://rustup.rs/) 安装。
1. **Node.js** 和 **pnpm**:用于前端依赖。
1. **系统依赖**:按照您的操作系统遵循 [Tauri 先决条件](https://v2.tauri.app/start/prerequisites/)。
### 步骤
1. **克隆仓库**
```bash
git clone https://github.com/HsiangNianian/DropOut.git
cd DropOut
```
2. **安装依赖**
```bash
pnpm install
```
1. **运行开发模式**
```bash
# 这将启动前端服务器和 Tauri 应用窗口
cargo tauri dev
```
1. **构建发布版本**
```bash
cargo tauri build
```
可执行文件将位于 `src-tauri/target/release/`。
## 贡献
DropOut 以长期可维护性为目标构建。
欢迎贡献,尤其在这些领域:
- 实例系统设计
- 模组兼容性工具
- UI/UX 改进
- 跨启动器迁移工具
标准的 GitHub 工作流程适用:
fork → 功能分支 → 拉取请求。
## 许可证
根据 MIT 许可证分发。有关更多信息,请参见 `LICENSE`。
[](https://app.fossa.com/projects/git%2Bgithub.com%2FHsiangNianian%2FDropOut?ref=badge_shield&issueType=license)
[](https://app.fossa.com/projects/git%2Bgithub.com%2FHsiangNianian%2FDropOut?ref=badge_shield&issueType=security)
[](https://app.fossa.com/projects/git%2Bgithub.com%2FHsiangNianian%2FDropOut?ref=badge_large)