aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/docs/content/zh/features
diff options
context:
space:
mode:
Diffstat (limited to 'packages/docs/content/zh/features')
-rw-r--r--packages/docs/content/zh/features/authentication.mdx266
-rw-r--r--packages/docs/content/zh/features/index.mdx176
-rw-r--r--packages/docs/content/zh/features/java.mdx394
-rw-r--r--packages/docs/content/zh/features/meta.json9
-rw-r--r--packages/docs/content/zh/features/mod-loaders.mdx409
5 files changed, 1254 insertions, 0 deletions
diff --git a/packages/docs/content/zh/features/authentication.mdx b/packages/docs/content/zh/features/authentication.mdx
new file mode 100644
index 0000000..e83cc35
--- /dev/null
+++ b/packages/docs/content/zh/features/authentication.mdx
@@ -0,0 +1,266 @@
+---
+title: 身份验证
+description: DropOut 中的 Microsoft OAuth 和离线身份验证
+---
+
+# 身份验证
+
+DropOut 支持两种身份验证方法:Microsoft 账户(用于官方 Minecraft)和离线模式(用于测试和离线游玩)。
+
+## Microsoft 身份验证
+
+### 概述
+
+DropOut 使用 **Device Code Flow** 进行 Microsoft 身份验证,具有以下特点:
+- 无需重定向 URL(无需浏览器集成)
+- 适用于任何拥有浏览器的设备
+- 提供简单的基于代码的身份验证
+- 完全符合 Microsoft OAuth 2.0 标准
+
+### 身份验证流程
+
+身份验证链包含多个步骤:
+
+1. **Device Code** → 用户授权
+2. **MS Token** → 访问令牌 + 刷新令牌
+3. **Xbox Live** → Xbox 令牌 + UHS
+4. **XSTS** → 安全令牌
+5. **Minecraft** → 游戏访问令牌
+6. **Profile** → 用户名 + UUID
+
+#### 第 1 步:设备代码请求
+1. 单击"使用 Microsoft 登录"
+2. DropOut 从 Microsoft 请求设备代码
+3. 您会收到:
+ - 用户代码(例如 `A1B2-C3D4`)
+ - 验证 URL(通常为 `https://microsoft.com/link`)
+ - 设备代码(内部使用)
+
+#### 第 2 步:用户授权
+1. 在任何浏览器中访问验证 URL
+2. 输入用户代码
+3. 使用 Microsoft 账户登录
+4. 授权 DropOut 访问您的 Minecraft 个人资料
+
+#### 第 3 步:令牌交换
+- DropOut 轮询 Microsoft 检查授权完成
+- 授权后接收访问令牌和刷新令牌
+- 刷新令牌被存储以备将来登录使用
+
+#### 第 4 步:Xbox Live 身份验证
+- Microsoft 令牌被交换为 Xbox Live 令牌
+- 检索用户哈希 (UHS) 用于下一步
+
+#### 第 5 步:XSTS 授权
+- Xbox Live 令牌被用来获取 XSTS 令牌
+- 此令牌特定于 Minecraft 服务
+
+#### 第 6 步:Minecraft 登录
+- XSTS 令牌被交换为 Minecraft 访问令牌
+- 使用端点:`/launcher/login`
+
+#### 第 7 步:个人资料获取
+- 检索您的 Minecraft 用户名
+- 获取您的 UUID
+- 检查您是否拥有 Minecraft
+
+### 令牌管理
+
+**访问令牌:**
+- 短期有效(通常为 1 小时)
+- 用于游戏身份验证
+- 过期时自动刷新
+
+**刷新令牌:**
+- 长期有效(通常为 90 天)
+- 安全存储在 `accounts.json` 中
+- 用于获取新的访问令牌
+
+**自动刷新:**
+```rust
+// Automatic refresh when token expires
+if account.expires_at < current_time {
+ refresh_full_auth(&account).await?;
+}
+```
+
+### 安全考虑
+
+- 令牌存储在平台特定的应用数据目录中
+- 所有 API 调用仅使用 HTTPS
+- 不存储凭据(仅存储令牌)
+- 需要 User-Agent 标头(绕过 MS WAF)
+
+### Microsoft 登录故障排除
+
+**"Device code expired"(设备代码已过期)**
+- 代码在 15 分钟后过期
+- 重新开始登录流程
+
+**"Authorization pending"(授权待处理)**
+- 在等待阶段很正常
+- 在浏览器中完成授权
+
+**"Invalid token"(无效令牌)**
+- 令牌可能已过期
+- 登出后重新登录
+
+**"You don't own Minecraft"(您不拥有 Minecraft)**
+- 验证您的 Microsoft 账户拥有 Minecraft Java Edition
+- 在 https://www.minecraft.net/profile 检查
+
+## 离线身份验证
+
+### 概述
+
+离线模式创建一个不需要互联网连接或 Microsoft 账户的本地账户。这对以下情况很有用:
+- 测试和开发
+- 无网络游玩
+- LAN 多人游戏
+- Mod 开发
+
+### 创建离线账户
+
+1. 在登录屏幕单击"离线模式"
+2. 输入用户名(3-16 个字符)
+3. 单击"创建账户"
+
+### 工作原理
+
+**UUID 生成:**
+```rust
+// Deterministic UUID v3 from username
+let uuid = generate_offline_uuid(&username);
+```
+
+- 使用 UUID v3(基于命名空间)
+- 确定性:相同的用户名 = 相同的 UUID
+- 无需网络请求
+
+**身份验证:**
+- 返回 `"null"` 作为访问令牌
+- Minecraft 在离线模式下接受空令牌
+- 用户名和 UUID 本地存储
+
+### 限制
+
+- 无法加入在线服务器
+- 不支持皮肤
+- 不支持披风
+- 无法使用 Microsoft 账户功能
+
+### 用例
+
+**开发:**
+```bash
+# Testing mod development
+cargo tauri dev
+# Use offline mode to test quickly
+```
+
+**LAN 游玩:**
+- 无需身份验证即可加入 LAN 世界
+- 托管 LAN 世界
+
+**离线游玩:**
+- 单人游戏无需网络
+- 无需身份验证
+
+## 账户管理
+
+### 切换账户
+
+目前 DropOut 一次只支持一个活跃账户。多账户支持正在规划中。
+
+**切换账户的步骤:**
+1. 登出当前账户
+2. 使用新账户登录
+
+### 账户存储
+
+账户存储在 `accounts.json` 中:
+
+```json
+{
+ "current_account_id": "uuid-here",
+ "accounts": [
+ {
+ "id": "uuid",
+ "type": "Microsoft",
+ "username": "PlayerName",
+ "access_token": "...",
+ "refresh_token": "...",
+ "expires_at": 1234567890
+ }
+ ]
+}
+```
+
+### 删除账户
+
+删除账户的步骤:
+1. 打开设置
+2. 导航到账户
+3. 单击"登出"
+4. 或手动删除 `accounts.json`
+
+## API 参考
+
+### Tauri 命令
+
+**启动 Microsoft 登录:**
+```typescript
+const { user_code, verification_uri } = await invoke('start_microsoft_login');
+```
+
+**完成 Microsoft 登录:**
+```typescript
+const account = await invoke('complete_microsoft_login', { deviceCode });
+```
+
+**离线登录:**
+```typescript
+const account = await invoke('offline_login', { username: 'Player' });
+```
+
+**登出:**
+```typescript
+await invoke('logout');
+```
+
+**获取当前账户:**
+```typescript
+const account = await invoke('get_current_account');
+```
+
+### 事件
+
+**身份验证状态:**
+```typescript
+listen('auth-status', (event) => {
+ console.log(event.payload); // "logged_in" | "logged_out"
+});
+```
+
+## 最佳实践
+
+### 对于玩家
+
+1. **对官方服务器使用 Microsoft 账户**
+2. **保护令牌安全** - 不要分享 accounts.json
+3. **定期刷新令牌** - 通过登录来刷新
+4. **仅在测试时使用离线模式**
+
+### 对于开发者
+
+1. **优雅地处理令牌过期**
+2. **为网络故障实现重试逻辑**
+3. **缓存账户数据** 以减少 API 调用
+4. **在游戏启动前验证令牌**
+
+## 未来增强
+
+- **多账户支持**:轻松在账户之间切换
+- **账户配置文件**:保存每个账户的设置
+- **自动登录**:记住最后一个账户
+- **令牌加密**:为存储的令牌增强安全性
diff --git a/packages/docs/content/zh/features/index.mdx b/packages/docs/content/zh/features/index.mdx
new file mode 100644
index 0000000..bb53ce2
--- /dev/null
+++ b/packages/docs/content/zh/features/index.mdx
@@ -0,0 +1,176 @@
+---
+title: 功能概览
+description: DropOut 所有功能的综合指南
+---
+
+# 功能概览
+
+DropOut 功能丰富,既适合休闲玩家也适合高级用户。本指南涵盖所有主要功能。
+
+## 核心功能
+
+<Cards>
+ <Card
+ title="身份验证"
+ href="authentication"
+ description="Microsoft OAuth 和离线身份验证"
+ />
+ <Card
+ title="Java 管理"
+ href="java"
+ description="Java 运行时的自动检测和安装"
+ />
+ <Card
+ title="模组加载器"
+ href="mod-loaders"
+ description="Fabric 和 Forge 支持,轻松安装"
+ />
+ <Card
+ title="实例"
+ href="instances"
+ description="具有独立配置的隔离游戏环境"
+ />
+ <Card
+ title="下载"
+ href="downloads"
+ description="快速并发下载,支持断点续传"
+ />
+ <Card
+ title="AI 助手"
+ href="assistant"
+ description="内置 AI 助手用于故障排除和指导"
+ />
+</Cards>
+
+## 快速功能矩阵
+
+| 功能 | 状态 | 描述 |
+|---------|--------|-------------|
+| Microsoft 身份验证 | 完成 | 使用设备代码流的 OAuth 2.0 |
+| 离线身份验证 | 完成 | 用于离线游玩的本地账户 |
+| 令牌自动刷新 | 完成 | 自动刷新过期的令牌 |
+| Java 自动检测 | 完成 | 扫描系统中的 Java 安装 |
+| Java 下载 | 完成 | 下载 Adoptium JDK/JRE 版本 |
+| Fabric 支持 | 完成 | 安装和启动 Fabric 加载器 |
+| Forge 支持 | 完成 | 安装和启动 Forge 加载器 |
+| 实例系统 | 完成 | 隔离的游戏环境 |
+| GitHub 集成 | 完成 | 查看发布和更新日志 |
+| 并发下载 | 完成 | 多线程资源下载 |
+| 断点续传 | 完成 | 恢复中断的下载 |
+| AI 助手 | 完成 | 内置故障排除助手 |
+| 配置编辑器 | 完成 | JSON/TOML 配置编辑器 |
+| 自定义分辨率 | 完成 | 设置游戏窗口尺寸 |
+| 内存分配 | 完成 | 自定义 JVM 内存设置 |
+| 多账户 | 进行中 | 在多个账户之间切换 |
+| 模组管理器 | 计划中 | 在启动器中启用/禁用模组 |
+| 启动器自动更新 | 计划中 | 自我更新机制 |
+| 自定义游戏目录 | 计划中 | 选择游戏文件位置 |
+| 导入配置文件 | 计划中 | 从 MultiMC/Prism 导入 |
+
+## 性能功能
+
+### 并发下载
+- 可配置的线程数(默认:10)
+- 并行资源和库下载
+- 每个文件的进度跟踪
+- ETA 计算
+
+### 断点续传支持
+- 中断的下载自动恢复
+- `.part` 文件跟踪进度
+- 大文件的多段下载
+- 用于状态跟踪的元数据文件
+
+### 缓存
+- Java 目录缓存 24 小时
+- 本地缓存版本清单
+- 资源索引缓存
+- 库去重
+
+## 用户界面功能
+
+### 现代设计
+- 强制暗色模式保护眼睛
+- 粒子背景效果
+- 简洁、无干扰的布局
+- 响应式设计
+
+### 实时反馈
+- 实时下载进度
+- 游戏控制台输出
+- 日志流
+- Toast 通知
+
+### 设置管理
+- 内存分配滑块
+- 分辨率自定义
+- Java 路径选择
+- 线程数配置
+- 自定义 JVM 参数
+
+## 高级功能
+
+### 版本继承
+模组版本(Fabric/Forge)自动从父原版版本继承:
+- 从父版本 + 模组加载器合并库
+- 组合并去重参数
+- 从原版版本继承资源
+
+### 原生库提取
+- 特定平台的原生提取
+- 自动清理
+- 正确的库路径配置
+
+### 规则引擎
+- 特定操作系统的库过滤
+- 功能标志支持
+- 架构检测
+
+### 下载队列持久化
+- 保存未完成的下载
+- 启动器重启后恢复
+- 队列优先级管理
+
+## 开发者功能
+
+### 配置编辑器
+内置 JSON/TOML 编辑器,具有:
+- 语法高亮
+- 验证
+- 快速访问所有配置
+
+### 日志访问
+- 实时游戏日志
+- 启动器调试日志
+- 复制/导出功能
+
+### AI 助手
+- 故障排除指导
+- 错误分析
+- 配置帮助
+- 文档搜索
+
+## 即将推出
+
+### 多账户管理
+- 轻松切换账户
+- 账户配置文件
+- 快速切换
+
+### 模组管理器
+- 浏览和安装模组
+- 启用/禁用模组
+- 模组兼容性检查
+- 版本管理
+
+### 配置文件导入
+- 从 MultiMC 导入
+- 从 Prism Launcher 导入
+- 从其他启动器导入
+- 保留设置和存档
+
+### 启动器自动更新
+- 后台更新检查
+- 一键更新
+- 版本历史
+- 回滚支持
diff --git a/packages/docs/content/zh/features/java.mdx b/packages/docs/content/zh/features/java.mdx
new file mode 100644
index 0000000..bdc3c15
--- /dev/null
+++ b/packages/docs/content/zh/features/java.mdx
@@ -0,0 +1,394 @@
+---
+title: Java 管理
+description: 自动 Java 检测、下载和安装
+---
+
+# Java 管理
+
+DropOut 提供全面的 Java 管理,自动检测已安装的版本并根据需要下载新版本。
+
+## 自动检测
+
+### 系统扫描
+
+DropOut 扫描多个位置查找 Java 安装:
+
+**Linux:**
+- `/usr/lib/jvm/`
+- `/usr/java/`
+- `$JAVA_HOME`
+- `PATH` 环境变量
+
+**macOS:**
+- `/Library/Java/JavaVirtualMachines/`
+- `/System/Library/Java/JavaVirtualMachines/`
+- `$JAVA_HOME`
+- `PATH` 环境变量
+
+**Windows:**
+- `C:\Program Files\Java\`
+- `C:\Program Files (x86)\Java\`
+- `%JAVA_HOME%`
+- `PATH` 环境变量
+- Windows 注册表
+
+### 版本检测
+
+对于找到的每个 Java 安装,DropOut 会:
+1. 运行 `java -version` 获取版本信息
+2. 解析主要版本(8、11、17、21 等)
+3. 检测架构(x64、ARM64)
+4. 识别供应商(Oracle、Adoptium 等)
+
+### 结果
+
+所有检测到的 Java 安装都显示在设置 → Java 中:
+- 版本号
+- 安装路径
+- 架构
+- 当前选择状态
+
+## Java 下载
+
+### Adoptium 集成
+
+DropOut 集成了 Eclipse Adoptium API 以下载高质量的免费 JDK/JRE 构建版本。
+
+**支持的版本:**
+- Java 8(LTS)
+- Java 11(LTS)
+- Java 17(LTS)
+- Java 21(LTS)
+- Java 23+(最新版)
+
+**功能:**
+- 自动平台检测
+- 特定架构的构建版本
+- JDK 或 JRE 选择
+- 校验和验证
+
+### 下载过程
+
+1. 导航到设置 → Java
+2. 点击"下载 Java"
+3. 选择版本(例如 Java 17)
+4. 选择 JDK 或 JRE
+5. 点击下载
+6. 等待下载和解压
+
+**进度跟踪:**
+- 实时下载速度
+- ETA 计算
+- 解压进度
+- 安装确认
+
+### 目录管理
+
+Java 目录缓存 24 小时以提高性能:
+
+```rust
+// 目录结构
+{
+ "versions": [
+ {
+ "version": "17.0.9+9",
+ "major": 17,
+ "url": "https://api.adoptium.net/...",
+ "sha256": "...",
+ "size": 123456789
+ }
+ ],
+ "last_updated": 1234567890
+}
+```
+
+**刷新:**
+- 24 小时后自动刷新
+- 设置中手动刷新
+- 下载失败时强制刷新
+
+## 安装
+
+### 下载目录
+
+下载的 Java 运行时安装到:
+
+```
+~/.local/share/com.dropout.launcher/java/ (Linux)
+~/Library/Application Support/com.dropout.launcher/java/ (macOS)
+%APPDATA%/com.dropout.launcher/java/ (Windows)
+```
+
+### 目录结构
+
+```
+java/
+├── jdk-17.0.9+9/
+│ ├── bin/
+│ │ └── java (或 java.exe)
+│ └── lib/
+├── jdk-21.0.1+12/
+│ ├── bin/
+│ └── lib/
+└── download_queue.json
+```
+
+### 解压
+
+1. 下载到 `.part` 文件
+2. 验证校验和
+3. 解压存档:
+ - Linux/macOS 上的 `.tar.gz`
+ - Windows 上的 `.zip`
+4. 移动到 `java/<version>/` 目录
+5. 设置可执行权限(Unix)
+
+## 配置
+
+### 内存分配
+
+在设置中配置 JVM 内存:
+
+**最小内存:**
+- 默认:1024 MB
+- 推荐:原版 2048 MB
+- 推荐:模组 4096+ MB
+
+**最大内存:**
+- 默认:4096 MB
+- 根据系统 RAM 调整
+- 为操作系统和其他应用留出 4GB
+
+**格式:**
+```bash
+-Xms1024M -Xmx4096M
+```
+
+### 自定义 JVM 参数
+
+为高级配置添加自定义 JVM 参数:
+
+**常用参数:**
+```bash
+# 垃圾回收
+-XX:+UseG1GC
+-XX:+UnlockExperimentalVMOptions
+
+# 性能
+-XX:G1NewSizePercent=20
+-XX:G1ReservePercent=20
+-XX:MaxGCPauseMillis=50
+
+# 内存
+-XX:G1HeapRegionSize=32M
+```
+
+### Java 路径选择
+
+**自动选择:**
+- DropOut 为每个 Minecraft 版本推荐最佳 Java 版本
+- Java 8 用于 Minecraft 1.12.2 及更早版本
+- Java 17 用于 Minecraft 1.18-1.20.4
+- Java 21 用于 Minecraft 1.20.5+
+
+**手动选择:**
+1. 前往设置 → Java
+2. 从检测到的安装中选择
+3. 或指定自定义路径
+
+## 版本推荐
+
+### Minecraft 版本 → Java 版本
+
+| Minecraft 版本 | 推荐 Java | 最低 Java |
+|-------------------|------------------|--------------|
+| 1.7.10 及更早 | Java 8 | Java 8 |
+| 1.8 - 1.12.2 | Java 8 | Java 8 |
+| 1.13 - 1.16.5 | Java 8 或 11 | Java 8 |
+| 1.17 - 1.17.1 | Java 16 | Java 16 |
+| 1.18 - 1.20.4 | Java 17 | Java 17 |
+| 1.20.5+ | Java 21 | Java 21 |
+
+### 模组 Minecraft
+
+**Fabric:**
+- 通常与原版要求匹配
+- 一些模组可能需要更新的 Java
+
+**Forge:**
+- 可能需要特定的 Java 版本
+- 检查模组加载器文档
+- 通常需要完全匹配版本
+
+## 故障排除
+
+### 未检测到 Java
+
+**问题:** 已安装的 Java 未显示
+
+**解决方案:**
+1. 验证 Java 在标准位置
+2. 检查 `JAVA_HOME` 环境变量
+3. 将 Java `bin` 目录添加到 `PATH`
+4. 重启 DropOut
+5. 手动选择路径
+
+### 下载失败
+
+**问题:** Java 下载未完成
+
+**解决方案:**
+1. 检查互联网连接
+2. 验证磁盘空间
+3. 尝试不同版本
+4. 清除下载队列
+5. 从 Adoptium 手动下载
+
+### Java 版本错误
+
+**问题:** 由于 Java 版本导致游戏崩溃
+
+**解决方案:**
+1. 检查 Minecraft 版本要求
+2. 下载正确的 Java 版本
+3. 在设置中选择适当的 Java
+4. 验证 Java 路径正确
+
+### 内存不足错误
+
+**问题:** 游戏因内存错误崩溃
+
+**解决方案:**
+1. 增加最大内存分配
+2. 关闭其他应用程序
+3. 升级系统 RAM
+4. 使用 64 位 Java
+5. 优化 JVM 参数
+
+### 性能问题
+
+**问题:** 低 FPS 或卡顿
+
+**解决方案:**
+1. 调整内存分配(不要太高!)
+2. 启用 G1GC 垃圾收集器
+3. 添加性能 JVM 参数
+4. 如兼容使用更新的 Java 版本
+5. 为整合包分配 4-8GB
+
+## API 参考
+
+### Tauri 命令
+
+**检测 Java 安装:**
+```typescript
+const javas = await invoke('detect_java_installations');
+// 返回: Array<{ path: string, version: string, major: number }>
+```
+
+**获取 Java 目录:**
+```typescript
+const catalog = await invoke('get_java_catalog');
+// 返回: { versions: Array<JavaVersion>, last_updated: number }
+```
+
+**下载 Java:**
+```typescript
+await invoke('download_java', {
+ version: '17.0.9+9',
+ variant: 'jdk' // 或 'jre'
+});
+```
+
+**取消 Java 下载:**
+```typescript
+await invoke('cancel_java_download');
+```
+
+**设置 Java 路径:**
+```typescript
+await invoke('set_java_path', { path: '/path/to/java' });
+```
+
+### 事件
+
+**下载进度:**
+```typescript
+listen('java-download-progress', (event) => {
+ const { percent, speed, eta } = event.payload;
+});
+```
+
+**下载完成:**
+```typescript
+listen('java-download-complete', (event) => {
+ const { path, version } = event.payload;
+});
+```
+
+## 最佳实践
+
+### 对于玩家
+
+1. **使用 Adoptium 构建版本** - 免费、高质量、维护良好
+2. **Java 与 Minecraft 版本匹配** - 检查版本要求
+3. **不要过度分配内存** - 为操作系统留出 RAM
+4. **保持 Java 更新** - 安全性和性能
+5. **使用 64 位 Java** - 大内存所需
+
+### 对于开发者
+
+1. **测试多个 Java 版本** - 确保兼容性
+2. **记录 Java 要求** - 帮助用户
+3. **处理缺少的 Java** - 优雅的后备方案
+4. **启动前验证 Java 路径**
+5. **提供清晰的错误** - 当 Java 错误时
+
+## 高级主题
+
+### 自定义 Java 安装
+
+使用自定义 Java 安装:
+
+1. 手动安装 Java
+2. 记录安装路径
+3. 在 DropOut 设置 → Java 中
+4. 点击"自定义路径"
+5. 浏览到 Java 可执行文件
+6. 验证版本正确
+
+### 服务器用 Java
+
+运行 Minecraft 服务器时:
+
+```bash
+# 推荐的服务器 JVM 参数
+-Xms4G -Xmx4G \
+-XX:+UseG1GC \
+-XX:+ParallelRefProcEnabled \
+-XX:MaxGCPauseMillis=200 \
+-XX:+UnlockExperimentalVMOptions \
+-XX:+DisableExplicitGC \
+-XX:G1NewSizePercent=30 \
+-XX:G1MaxNewSizePercent=40 \
+-XX:G1HeapRegionSize=8M \
+-XX:G1ReservePercent=20 \
+-XX:G1HeapWastePercent=5 \
+-XX:G1MixedGCCountTarget=4 \
+-XX:InitiatingHeapOccupancyPercent=15 \
+-XX:G1MixedGCLiveThresholdPercent=90 \
+-XX:G1RSetUpdatingPauseTimePercent=5 \
+-XX:SurvivorRatio=32 \
+-XX:+PerfDisableSharedMem \
+-XX:MaxTenuringThreshold=1
+```
+
+### GraalVM
+
+GraalVM 支持高级用户:
+
+1. 从 graalvm.org 下载 GraalVM
+2. 手动安装
+3. 作为自定义 Java 添加到 DropOut
+4. 可能提高性能
+5. 使用前彻底测试
diff --git a/packages/docs/content/zh/features/meta.json b/packages/docs/content/zh/features/meta.json
new file mode 100644
index 0000000..2fb2ded
--- /dev/null
+++ b/packages/docs/content/zh/features/meta.json
@@ -0,0 +1,9 @@
+{
+ "title": "功能特性",
+ "pages": [
+ "index",
+ "authentication",
+ "java",
+ "mod-loaders"
+ ]
+}
diff --git a/packages/docs/content/zh/features/mod-loaders.mdx b/packages/docs/content/zh/features/mod-loaders.mdx
new file mode 100644
index 0000000..3687230
--- /dev/null
+++ b/packages/docs/content/zh/features/mod-loaders.mdx
@@ -0,0 +1,409 @@
+---
+title: 模组加载器
+description: Fabric 和 Forge 安装和管理
+---
+
+# 模组加载器
+
+DropOut 支持两个最流行的 Minecraft 模组加载器:Fabric 和 Forge。两者都可以直接从启动器中轻松安装和管理。
+
+## Fabric 支持
+
+### 概述
+
+Fabric 是一个轻量级、模块化的模组工具链,专注于:
+- 快速更新至新的 Minecraft 版本
+- 干净、极简的 API
+- 强大的开发者社区
+- 优异的性能
+
+### 安装
+
+1. 导航至 **Versions** 选项卡
+2. 点击 **"Install Fabric"**
+3. 选择 Minecraft 版本
+4. 选择 Fabric 加载器版本
+5. 点击 **"Install"**
+6. 等待安装完成
+
+### 工作原理
+
+**Meta API 集成:**
+```rust
+// Fetch available Fabric versions
+let url = format!(
+ "https://meta.fabricmc.net/v2/versions/loader/{}",
+ minecraft_version
+);
+```
+
+**配置文件生成:**
+1. 获取 Fabric 加载器元数据
+2. 下载 Fabric 库
+3. 使用 `inheritsFrom` 生成版本 JSON
+4. 与父级 Minecraft 版本合并
+5. 添加至版本列表
+
+**版本格式:**
+```json
+{
+ "id": "fabric-loader-0.15.0-1.20.4",
+ "inheritsFrom": "1.20.4",
+ "mainClass": "net.fabricmc.loader.impl.launch.knot.KnotClient",
+ "libraries": [...]
+}
+```
+
+### Fabric 版本
+
+**加载器版本:**
+- 最新稳定版(推荐)
+- 用于兼容性的特定版本
+- Beta/快照版本
+
+**游戏版本:**
+- 所有 1.14+ 的 Minecraft 版本
+- 支持快照版本
+- 支持战斗测试版本
+
+### 库管理
+
+Fabric 库从 Maven 解析:
+
+**主库:**
+```
+net.fabricmc:fabric-loader:0.15.0
+```
+
+**依赖项:**
+- `net.fabricmc:tiny-mappings-parser`
+- `net.fabricmc:sponge-mixin`
+- `net.fabricmc:access-widener`
+
+**下载:**
+```rust
+// Maven resolution
+let url = format!(
+ "https://maven.fabricmc.net/{}/{}",
+ artifact_path, filename
+);
+```
+
+### Fabric API
+
+Fabric Loader ≠ Fabric API:
+- **Fabric Loader**: 模组加载器(由 DropOut 安装)
+- **Fabric API**: 库模组(单独下载)
+
+许多模组需要 Fabric API:
+1. 从 [Modrinth](https://modrinth.com/mod/fabric-api) 或 [CurseForge](https://www.curseforge.com/minecraft/mc-mods/fabric-api) 下载
+2. 放置在实例的 `mods/` 文件夹中
+
+## Forge 支持
+
+### 概述
+
+Forge 是原始的、最流行的 Minecraft 模组加载器:
+- 广泛的模组生态系统
+- 成熟的 API
+- 广泛的版本支持
+- 庞大的社区
+
+### 安装
+
+1. 导航至 **Versions** 选项卡
+2. 点击 **"Install Forge"**
+3. 选择 Minecraft 版本
+4. 选择 Forge 版本
+5. 点击 **"Install"**
+6. 等待安装程序运行
+7. 安装完成
+
+### 工作原理
+
+**Forge 安装程序:**
+```rust
+// Download Forge installer
+let installer_url = format!(
+ "https://maven.minecraftforge.net/net/minecraftforge/forge/{}/forge-{}-installer.jar",
+ full_version, full_version
+);
+
+// Run installer
+java -jar forge-installer.jar --installClient
+```
+
+**配置文件解析:**
+1. Forge 安装程序创建版本 JSON
+2. DropOut 解析安装配置文件
+3. 提取库依赖项
+4. 处理处理器(如果有)
+5. 生成启动器配置文件
+
+**版本格式:**
+```json
+{
+ "id": "1.20.4-forge-49.0.26",
+ "inheritsFrom": "1.20.4",
+ "mainClass": "cpw.mods.bootstraplauncher.BootstrapLauncher",
+ "libraries": [...]
+}
+```
+
+### Forge 版本
+
+**发布类型:**
+- **Latest**: 最新的稳定版本
+- **Recommended**: 生产环境中最稳定的版本
+- **Specific**: 版本锁定以确保兼容性
+
+**Minecraft 版本支持:**
+- 旧版本 (1.6.4+)
+- 现代版本 (1.13+)
+- 最新版本 (1.20+)
+
+### 库管理
+
+Forge 有许多库:
+
+**核心库:**
+- `net.minecraftforge:forge:<version>`
+- `net.minecraftforge:fmlloader:<version>`
+- `org.ow2.asm:asm:<version>`
+
+**解析:**
+```rust
+// Forge Maven
+"https://maven.minecraftforge.net/"
+
+// Dependencies may use:
+// - Maven Central
+// - Minecraft Libraries
+```
+
+### Forge 处理器
+
+某些 Forge 版本在安装期间运行"处理器":
+- 字节码操纵
+- 库修补
+- 映射生成
+
+DropOut 自动处理这些操作。
+
+## 版本继承
+
+Fabric 和 Forge 都使用 Minecraft 的继承系统:
+
+### 父版本
+
+```json
+{
+ "id": "fabric-loader-0.15.0-1.20.4",
+ "inheritsFrom": "1.20.4" // Parent vanilla version
+}
+```
+
+### 合并过程
+
+**库:**
+```rust
+// Merged from both
+parent_libraries + modded_libraries
+// Duplicates removed
+```
+
+**参数:**
+```rust
+// Combined
+parent_jvm_args + modded_jvm_args
+parent_game_args + modded_game_args
+```
+
+**资源:**
+```rust
+// Inherited from parent
+assets = parent.assets
+```
+
+**主类:**
+```rust
+// Overridden by modded
+main_class = modded.mainClass
+```
+
+## 对比
+
+| 功能 | Fabric | Forge |
+|---------|--------|-------|
+| **性能** | 优异 | 良好 |
+| **更新速度** | 非常快 | 中等 |
+| **模组选择** | 增长中 | 广泛 |
+| **API 简洁性** | 简洁 | 复杂 |
+| **版本支持** | 1.14+ | 1.6.4+ |
+| **开发者友好** | 非常友好 | 中等 |
+| **稳定性** | 优异 | 优异 |
+
+## 安装模组
+
+### Fabric 模组
+
+1. 创建/选择实例
+2. 确保 Fabric 已安装
+3. 从以下位置下载模组:
+ - [Modrinth](https://modrinth.com/)
+ - [CurseForge](https://www.curseforge.com/)
+ - [GitHub Releases](https://github.com/)
+4. 将 `.jar` 文件放置在 `instances/<name>/mods/`
+5. 启动游戏
+
+**兼容性:**
+- 检查 Minecraft 版本
+- 检查 Fabric Loader 版本
+- 检查 Fabric API 需求
+- 阅读模组依赖项
+
+### Forge 模组
+
+1. 创建/选择实例
+2. 确保 Forge 已安装
+3. 从以下位置下载模组:
+ - [CurseForge](https://www.curseforge.com/)
+ - [Modrinth](https://modrinth.com/)
+4. 将 `.jar` 文件放置在 `instances/<name>/mods/`
+5. 启动游戏
+
+**兼容性:**
+- 精确检查 Minecraft 版本
+- 检查 Forge 版本范围
+- 阅读模组依赖项
+- 检查冲突
+
+## 故障排除
+
+### Fabric 问题
+
+**"Fabric Loader not found"**
+- 重新安装 Fabric
+- 检查版本 JSON 是否存在
+- 验证库是否已下载
+
+**"Mixin apply failed"**
+- 模组不兼容
+- 删除冲突的模组
+- 更新 Fabric Loader
+
+**"Fabric API required"**
+- 下载 Fabric API
+- 匹配 Minecraft 版本
+- 放置在 mods 文件夹中
+
+### Forge 问题
+
+**"Forge installer failed"**
+- 验证 Java 安装
+- 检查磁盘空间
+- 尝试旧版本的 Forge
+- 检查日志获取详细信息
+
+**"Missing dependencies"**
+- 安装所需的模组
+- 检查模组版本兼容性
+- 仔细阅读错误消息
+
+**"Class not found"**
+- Forge 版本不匹配
+- 重新安装 Forge
+- 验证库是否已下载
+
+### 常见模组问题
+
+**启动时崩溃:**
+1. 检查崩溃报告
+2. 识别有问题的模组
+3. 删除或更新模组
+4. 使用最少的模组测试
+5. 逐步添加模组回来
+
+**性能问题:**
+1. 安装了太多模组
+2. 增加内存分配
+3. 安装性能模组:
+ - Fabric: Sodium, Lithium
+ - Forge: OptiFine, Magnesium
+4. 删除资源密集型模组
+
+## API 参考
+
+### Tauri 命令
+
+**安装 Fabric:**
+```typescript
+await invoke('install_fabric', {
+ minecraftVersion: '1.20.4',
+ loaderVersion: '0.15.0'
+});
+```
+
+**安装 Forge:**
+```typescript
+await invoke('install_forge', {
+ minecraftVersion: '1.20.4',
+ forgeVersion: '49.0.26'
+});
+```
+
+**列出 Fabric 版本:**
+```typescript
+const versions = await invoke('get_fabric_versions', {
+ minecraftVersion: '1.20.4'
+});
+```
+
+**列出 Forge 版本:**
+```typescript
+const versions = await invoke('get_forge_versions', {
+ minecraftVersion: '1.20.4'
+});
+```
+
+### 事件
+
+**安装进度:**
+```typescript
+listen('mod-loader-progress', (event) => {
+ const { stage, percent } = event.payload;
+ // Stages: "downloading", "installing", "processing", "complete"
+});
+```
+
+## 最佳实践
+
+### 对于玩家
+
+1. **每个实例选择一个模组加载器**
+2. **精确匹配版本** - Minecraft 和加载器
+3. **安装前阅读模组要求**
+4. **循序渐进** - 逐步添加模组
+5. **备份世界** - 添加模组前备份
+6. **检查兼容性** 列表
+7. **谨慎更新** - 在单独的实例中测试
+
+### 对于模组包创建者
+
+1. **记录版本** - MC、加载器、所有模组
+2. **彻底测试** - 所有功能
+3. **列出依赖项** - 包括 API
+4. **提供更新日志** - 用于更新
+5. **版本锁定** - 为了稳定性
+6. **包含配置** - 预配置
+7. **测试更新** - 发布前测试
+
+## 未来功能
+
+- **模组浏览器** - 从启动器安装模组
+- **自动更新** - 保持模组最新
+- **依赖项解析** - 自动安装需求
+- **冲突检测** - 警告不兼容性
+- **配置文件导出** - 共享模组包配置
+- **CurseForge 集成** - 直接模组包导入
+- **Modrinth 集成** - 模组搜索和安装