diff options
Diffstat (limited to 'packages/docs/content/zh/manual/features')
| -rw-r--r-- | packages/docs/content/zh/manual/features/authentication.mdx | 131 | ||||
| -rw-r--r-- | packages/docs/content/zh/manual/features/index.mdx | 176 | ||||
| -rw-r--r-- | packages/docs/content/zh/manual/features/java.mdx | 286 | ||||
| -rw-r--r-- | packages/docs/content/zh/manual/features/meta.json | 9 | ||||
| -rw-r--r-- | packages/docs/content/zh/manual/features/mod-loaders.mdx | 242 |
5 files changed, 844 insertions, 0 deletions
diff --git a/packages/docs/content/zh/manual/features/authentication.mdx b/packages/docs/content/zh/manual/features/authentication.mdx new file mode 100644 index 0000000..cd5b622 --- /dev/null +++ b/packages/docs/content/zh/manual/features/authentication.mdx @@ -0,0 +1,131 @@ +--- +title: 身份验证 +description: DropOut 中的 Microsoft OAuth 和离线身份验证 +--- + +# 身份验证 + +DropOut 支持两种身份验证方法:Microsoft 账户(用于官方 Minecraft)和离线模式(用于测试和离线游玩)。 + +## Microsoft 身份验证 + +### 概述 + +DropOut 使用 **Device Code Flow** 进行 Microsoft 身份验证,具有以下特点: +- 无需重定向 URL(无需浏览器集成) +- 适用于任何拥有浏览器的设备 +- 提供简单的基于代码的身份验证 +- 完全符合 Microsoft OAuth 2.0 标准 + +### 身份验证流程 + +身份验证链包含多个步骤。DropOut 自动处理这些复杂的交换过程,包括与 Microsoft、Xbox Live 和 Minecraft 服务的交互。如果您对详细的 API 实现感兴趣,请参阅[内部实现](/docs/development/implementation#1-身份验证系统-authentication)。 + +### 令牌管理 + +**访问令牌:** +- 短期有效(通常为 1 小时) +- 用于游戏身份验证 +- 过期时自动刷新 + +**刷新令牌:** +- 长期有效(通常为 90 天) +- 安全存储在 `accounts.json` 中 +- 用于获取新的访问令牌 + +**自动刷新:** +令牌过期时,DropOut 会在您启动游戏时尝试使用刷新令牌自动更新您的登录状态,确保您可以无缝开始游玩。 + +### 安全考虑 + +- 令牌存储在平台特定的应用数据目录中 +- 所有 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 生成:** +离线模式使用基于用户名的确定性 UUID 生成算法(UUID v3)。这意味着在同一个启动器实例中,相同的用户名始终会获得相同的 UUID,从而保持单人游戏存档的一致性。 + +- 确定性:相同的用户名 = 相同的 UUID +- 无需网络请求 + +**身份验证:** +- 返回 `"null"` 作为访问令牌 +- Minecraft 在离线模式下接受空令牌 +- 用户名和 UUID 本地存储 + +### 限制 + +- 无法加入在线服务器 +- 不支持皮肤 +- 不支持披风 +- 无法使用 Microsoft 账户功能 + +## 账户管理 + +### 切换账户 + +目前 DropOut 一次只支持一个活跃账户。多账户支持正在规划中。 + +**切换账户的步骤:** +1. 登出当前账户 +2. 使用新账户登录 + +### 账户存储 + +账户数据存储在应用文件夹的 `accounts.json` 中。该文件包含已登录账户的加密令牌、过期时间和基本的个人资料信息。 + +### 删除账户 + +删除账户的步骤: +1. 打开设置 +2. 导航到账户 +3. 单击"登出" +4. 或手动删除 `accounts.json` + +## API 参考 + +关于身份验证的底层实现、OAuth 2.0 流程细节以及相关的 Tauri 命令接口,请参考开发文档:[实现细节:身份验证](../development/implementation.mdx#1-身份验证系统-authentication)。 + +## 最佳实践 + +1. **对官方服务器使用 Microsoft 账户**:为了能够加入官方服务器并使用正版皮肤,请务必使用 Microsoft 账户。 +2. **保护令牌安全**:不要向他人分享 `accounts.json` 文件或其内容,因为其中包含您的登录凭据。 +3. **定期刷新令牌**:长时间未使用的离线账户或过期的 Microsoft 令牌可以通过重新登录或启动游戏来刷新。 +4. **仅在测试时使用离线模式**:离线模式不支持皮肤和部分多人游戏功能。 diff --git a/packages/docs/content/zh/manual/features/index.mdx b/packages/docs/content/zh/manual/features/index.mdx new file mode 100644 index 0000000..bb53ce2 --- /dev/null +++ b/packages/docs/content/zh/manual/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/manual/features/java.mdx b/packages/docs/content/zh/manual/features/java.mdx new file mode 100644 index 0000000..6894ec1 --- /dev/null +++ b/packages/docs/content/zh/manual/features/java.mdx @@ -0,0 +1,286 @@ +--- +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 计算 +- 解压进度 +- 安装确认 + +### 目录管理 + +DropOut 会缓存可用的 Java 版本列表,以加快加载速度,并自动处理不同步时的刷新工作。 + +**刷新:** +- 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 参数。DropOut 为您提供了经过优化的默认配置,通常无需手动更改。 + +**参数说明:** +- **垃圾回收 (GC)**: 默认使用 G1GC,能够大幅减少大规模模组环境下的游戏卡顿。 +- **实验性选项**: 部分性能优化参数需要开启此开关才能生效。 +- **内存分块**: 优化大内存环境下的数据读写效率。 + +关于每个参数的具体作用、推荐数值以及技术实现,请参考 [实现细节:JVM 参数优化](../development/implementation.mdx#参数优化与-jvm-配置)。 + +### 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 + +## 最佳实践 + +### 对于玩家 + +1. **使用 Adoptium 构建版本** - 免费、高质量、维护良好 +2. **Java 与 Minecraft 版本匹配** - 检查版本要求 +3. **不要过度分配内存** - 为操作系统留出 RAM +4. **保持 Java 更新** - 安全性和性能 +5. **使用 64 位 Java** - 大内存所需 + +## 高级主题 + +### 自定义 Java 安装 + +使用自定义 Java 安装: + +1. 手动安装 Java +2. 记录安装路径 +3. 在 DropOut 设置 → Java 中 +4. 点击"自定义路径" +5. 浏览到 Java 可执行文件 +6. 验证版本正确 + +### GraalVM + +GraalVM 支持高级用户: + +1. 从 graalvm.org 下载 GraalVM +2. 手动安装 +3. 作为自定义 Java 添加到 DropOut +4. 可能提高性能 +5. 使用前彻底测试 diff --git a/packages/docs/content/zh/manual/features/meta.json b/packages/docs/content/zh/manual/features/meta.json new file mode 100644 index 0000000..2fb2ded --- /dev/null +++ b/packages/docs/content/zh/manual/features/meta.json @@ -0,0 +1,9 @@ +{ + "title": "功能特性", + "pages": [ + "index", + "authentication", + "java", + "mod-loaders" + ] +} diff --git a/packages/docs/content/zh/manual/features/mod-loaders.mdx b/packages/docs/content/zh/manual/features/mod-loaders.mdx new file mode 100644 index 0000000..cbd8148 --- /dev/null +++ b/packages/docs/content/zh/manual/features/mod-loaders.mdx @@ -0,0 +1,242 @@ +--- +title: 模组加载器 +description: Fabric 和 Forge 安装和管理 +--- + +# 模组加载器 + +DropOut 支持两个最流行的 Minecraft 模组加载器:Fabric 和 Forge。两者都可以直接从启动器中轻松安装和管理。 + +## Fabric 支持 + +### 概述 + +Fabric 是一个轻量级、模块化的模组工具链,专注于: +- 快速更新至新的 Minecraft 版本 +- 干净、极简的 API +- 强大的开发者社区 +- 优异的性能 + +### 安装 + +1. 导航至 **Versions** 选项卡 +2. 点击 **"Install Fabric"** +3. 选择 Minecraft 版本 +4. 选择 Fabric 加载器版本 +5. 点击 **"Install"** +6. 等待安装完成 + +### 工作原理 + +DropOut 集成了 Fabric 的 Meta API,能够自动获取兼容的加载器版本。在后台,它会生成版本 JSON,处理库依赖,并利用继承系统确保与原版 Minecraft 的完美兼容。详细的 JSON 结构可参阅[技术细节](/docs/development/implementation#fabric-集成)。 + +### Fabric 版本 + +**加载器版本:** +- 最新稳定版(推荐) +- 用于兼容性的特定版本 +- Beta/快照版本 + +**游戏版本:** +- 所有 1.14+ 的 Minecraft 版本 +- 支持快照版本 +- 支持战斗测试版本 + +### 库管理 + +Fabric 的依赖项通常托管在其官方 Maven 仓库中。DropOut 自动解析并下载所有必需的库文件。 + +### 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. 安装完成 + +### 工作原理 + +DropOut 会为您下载 Forge 安装程序。通过在后台以无头模式运行安装程序,我们能够生成所需的版本配置文件并处理复杂的补丁程序。详细实现请参考[技术实现](/docs/development/implementation#forge-支持)。 + +### Forge 版本 + +**发布类型:** +- **Latest**: 最新的稳定版本 +- **Recommended**: 生产环境中最稳定的版本 +- **Specific**: 版本锁定以确保兼容性 + +**Minecraft 版本支持:** +- 旧版本 (1.6.4+) +- 现代版本 (1.13+) +- 最新版本 (1.20+) + +### 库管理 + +Forge 的运行依赖于大量的库文件,包括底层的 `fmlloader` 和字节码操作库。DropOut 能够自动解析复杂的依赖树,并从 Forge 官方 Maven 仓库以及 Minecraft 官方库中获取这些文件。 + +关于 Forge 库的详细解析逻辑,请参考[实现细节:Forge 核心库解析](../development/implementation.mdx#核心库解析)。 + +### Forge 处理器 + +某些 Forge 版本在安装期间运行"处理器": +- 字节码操纵 +- 库修补 +- 映射生成 + +DropOut 自动处理这些操作。 + +## 版本继承 + +Fabric 和 Forge 都利用了 Minecraft 的版本继承机制。在这种模式下,模组加载器的版本 JSON 仅包含相对于原版版本的增量变化,通过 `inheritsFrom` 字段递归向上寻址。 + +DropOut 的启动引擎能够自动处理这种复杂的合并: +- **库 (Libraries)**:自动排重并确保加载顺序。 +- **参数 (Arguments)**:合并游戏参数与 JVM 参数。 +- **主类 (Main Class)**:自动切换至模组加载器的入口点。 + +具体的合并逻辑和代码实现请查看[实现细节:版本合并](../development/implementation.mdx#版本合并机制)。 + +## 对比 + +| 功能 | 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 参考 + +如果您正在为 DropOut 开发自定义主题或进行二次开发,可以使用我们提供的 Tauri 命令和事件接口。 + +具体的命令接口、参数说明及进度推送事件详见开发文档:[实现细节:模组加载器 API](../development/implementation.mdx#api-参考)。 + +## 最佳实践 + +1. **每个实例选择一个模组加载器**:不要在同一个实例中混用 Fabric 和 Forge。 +2. **精确匹配版本**:确保 Minecraft 版本与模组加载器版本高度兼容。 +3. **安装前阅读要求**:许多模组需要额外的依赖库(如 Fabric API 或 Architectury)。 +4. **循序渐进**:首次构建模组包时,应分批添加模组以便于排查问题。 +5. **养成备份习惯**:在安装大型模组包或进行版本大更新前,请备份您的存档。 + +更多面向开发者和模组包创作者的进阶指南,请参阅[开发文档:分发最佳实践](../development/implementation.mdx#对于模组包modpack创建者)。 + +## 规划与展望 + +我们致力于为 DropOut 打造最便捷的模组体验。未来,我们计划引入模组浏览器、自动更新监控以及智能冲突检测等功能。 + +详见[开发路线图](../development/implementation.mdx#模组管理系统)。 |