DoL-Lyra 整合包构建系统:从零到一的自动化打包完全指南
【免费下载链接】DOL-CHS-MODSDegrees of Lewdity 整合项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS
DoL-Lyra 是一个专为《Degrees of Lewdity》游戏设计的自动化构建系统,通过先进的 CI/CD 流程,为玩家提供多样化的 MOD 组合选择。本指南将详细介绍这个强大的构建系统,帮助您理解其工作原理并掌握使用方法。
概述:什么是 DoL-Lyra 构建系统?
DoL-Lyra 构建系统 v2.0 是一个完全重构的自动化构建工具,专为 CI/CD 环境设计,用于生成《Degrees of Lewdity》游戏的各种 MOD 组合包。它解决了传统手动打包的痛点,提供了一站式的解决方案,让玩家能够轻松获取包含最新汉化内容和多种 MOD 配置的定制版本。
核心优势:
- 自动化流程:从资源下载到最终打包全自动完成
- 多 MOD 组合:支持 13 种不同的 MOD 自由组合
- 双平台支持:同时生成 ZIP(PC/Web)和 APK(Android)版本
- 并行构建:多核 CPU 加速,性能提升 2-6 倍
- 配置驱动:所有组合和规则通过 TOML 配置管理
核心功能详解
1. 四阶段 CI 流程
DoL-Lyra 采用精心设计的四阶段构建流程,确保每个步骤都高效可靠:
Phase 1: 准备游戏资源
- 从汉化仓库下载游戏文件(ZIP、APK)
- 下载额外 MOD(作弊、CSD、ModLoader GUI、i18n)
- 下载构建工具(apktool、uber-apk-signer)
- 反编译 APK 并应用配置修改
- 生成 ZIP 基包和 APK 解包目录
- 注入额外 MOD 到基包
Phase 2: 预热美化资源
- 下载并解压所有 DoL+ 图包(BESC、Hikari、Goose、UCB)
- 下载并解压所有 AU 变体(Female、Male、Androgynous)
- 避免并行构建时的资源下载冲突
- 追加版本信息到版本记录文件
Phase 3: 并行构建
- 从基包复用预处理结果
- 从预热目录复用美化资源
- 并行构建所有 MOD 组合
- 支持 ZIP 和 APK 双平台
- 支持 polyfill 版本
Phase 4: 生成下载页面
- 读取版本信息获取完整版本详情
- 生成 Markdown 下载表格
- 包含所有 MOD 组合的下载链接
2. MOD 组合系统
DoL-Lyra 使用位运算系统管理 MOD 组合,每个 MOD 对应一个唯一的位值:
| MOD 名称 | 位值 | 说明 |
|---|---|---|
| BESC | 1 | BEEESSS 社区精灵合集 |
| 作弊 | 2 | 作弊功能模块 |
| CSD | 4 | CSD 功能 |
| Sideview-BJ | 8 | BJ 特写 |
| Sideview-KR | 16 | KR 特写 |
| Sideview-Hikari | 32 | Hikari 特写 |
| WAX | 64 | WAX 美化 |
| Susato | 128 | Susato 模型 |
| UCB | 256 | 通用战斗美化 |
| Sideview-Goose | 512 | Goose 特写 |
| AU-Female | 1024 | AU 女性变体 |
| AU-Male | 2048 | AU 男性变体 |
| AU-Androgynous | 4096 | AU 双性变体 |
组合计算示例:
# BESC + 作弊 code = 1 | 2 = 3 # BESC + 作弊 + Hikari code = 1 | 2 | 32 = 35 # BESC + 作弊 + Hikari + UCB code = 1 | 2 | 32 | 256 = 2913. 推荐组合列表
系统内置了经过测试的推荐组合,确保玩家获得最佳体验:
| 代码 | 组合名称 | 包含的MOD |
|---|---|---|
| 3 | BESC+作弊 | BESC, 作弊 |
| 35 | BESC+作弊+Hikari | BESC, 作弊, Hikari特写 |
| 259 | BESC+作弊+UCB | BESC, 作弊, UCB |
| 291 | BESC+作弊+Hikari+UCB | BESC, 作弊, Hikari特写, UCB |
| 1058 | 作弊+Hikari+AU女性 | 作弊, Hikari特写, AU女性 |
| 2082 | 作弊+Hikari+AU男性 | 作弊, Hikari特写, AU男性 |
| 4130 | 作弊+Hikari+AU双性 | 作弊, Hikari特写, AU双性 |
三步快速启动指南
第一步:环境准备与安装
系统要求:
- 操作系统:Linux / macOS / Windows (WSL)
- Python:3.8+ 版本
- Java:17+ 版本(仅 APK 构建需要)
安装步骤:
# 1. 克隆仓库 git clone https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS cd DOL-CHS-MODS # 2. 安装 Python 依赖 pip install -r requirements.txt # 3. 验证 Java 环境(APK 构建需要) java -version # 应显示 Java 17 或更高版本 # 4. 测试命令 python main.py --help第二步:完整的 CI/CD 流程
# 1. 准备游戏资源 python main.py prepare --tag v0.5.7.9-5.0.2a-0112 # 2. 预热美化资源 python main.py warmup # 3. 并行构建所有组合(使用8个进程) python main.py build --tag v0.5.7.9-5.0.2a-0112 --jobs 8 # 4. 生成下载页面 python main.py page --tag v0.5.7.9-5.0.2a-0112 -o download.md # 5. 查看输出结果 ls output/第三步:开发测试流程
对于开发者或测试人员,可以使用简化流程:
# 1. 安装依赖 pip install -r requirements.txt # 2. 准备环境(一次性操作) python main.py prepare --tag v0.5.7.9-5.0.2a-0112 python main.py warmup # 3. 构建特定组合进行测试 python main.py build --tag v0.5.7.9-5.0.2a-0112 zip # 仅构建ZIP版本 python main.py build --tag v0.5.7.9-5.0.2a-0112 apk # 仅构建APK版本配置文件详解
DoL-Lyra 的所有配置都通过 TOML 文件管理,让定制变得简单直观。
构建配置文件:config/build.toml
[paths] workspace = "workspace" # 工作目录 output = "output" # 输出目录 base_dir = "base" # 基包目录 prepare_package_dir = "prepare_package" # 预处理目录 [urls] # 构建工具 apktool = "https://github.com/.../apktool_2.12.0.jar" uber_apk_signer = "https://github.com/.../uber-apk-signer-1.3.0.jar" # DoL+ 图包(GitGud) dolp_base = "https://gitgud.io/Frostberg/degrees-of-lewdity-plus/-/archive/master/degrees-of-lewdity-plus-master.tar.gz" # AU 变体(GitHub) au_female = "https://github.com/.../AUfemale.imgpack.zip" au_male = "https://github.com/.../AUmale.imgpack.zip" au_androgynous = "https://github.com/.../AUandrogynous.imgpack.zip"MOD 功能定义:config/features.toml
[[feature]] id = "besc" # 内部ID name = "BESC" # 显示名称 bit = 1 # 位标志值 display_name = "BESC" # 下载页面显示名 description = "BEEESSS社区精灵合集" [[feature]] id = "cheat" name = "作弊" bit = 2 display_name = "作弊" description = "作弊功能" [[feature]] id = "au_female" name = "AU Female" bit = 1024 display_name = "AU女性" description = "AU女性身体变体"组合规则配置:config/combinations.toml
[rules] # 推荐组合(优先显示) recommended = [3, 35, 259, 291, 1058, 2082, 4130] # 必须包含的 MOD(通常是作弊) must_include = [2] # 互斥组(不能同时启用) [[rules.exclusive_groups]] mods = [1024, 2048, 4096] # AU 三个变体互斥 reason = "AU变体互斥" [[rules.exclusive_groups]] mods = [8, 16, 32, 512] # Sideview 互斥 reason = "Sideview特写互斥" # 依赖关系 [[rules.dependencies]] feature = "ucb" # UCB 需要 BESC requires = ["besc"]高级应用场景
场景一:自定义 MOD 组合
如果您想创建自己的 MOD 组合,只需修改配置文件:
- 添加新组合到推荐列表:
recommended = [3, 35, 259, 291, 1058, 2082, 4130, 1059] # 新增 1059- 修改必须包含的 MOD:
must_include = [] # 取消强制包含作弊- 添加新的互斥规则:
[[rules.exclusive_groups]] mods = [8, 16] # BJ 和 KR 特写互斥 reason = "Sideview 样式冲突"场景二:使用镜像加速下载
当官方资源下载缓慢时,可以使用镜像加速:
[urls] # 使用自己的镜像 dolp_base = "https://your-cdn.com/dolp-master.tar.gz" au_female = "https://your-mirror.com/AUfemale.zip" # 或使用代理加速 dolp_base = "https://ghproxy.com/https://gitgud.io/Frostberg/degrees-of-lewdity-plus/-/archive/master/degrees-of-lewdity-plus-master.tar.gz"场景三:自定义 APK 配置
修改 APK 包名和版本信息:
[[apk.replacements]] file = "AndroidManifest.xml" pattern = '"com.vrelnir.dol"' replacement = '"com.yourname.dol"' # 自定义包名 [[apk.replacements]] file = "apktool.yml" pattern = 'versionName: .*' replacement = 'versionName: "Lyra {version}"' # 自定义版本格式支持的变量替换:
{version}: 完整版本号(如 v0.5.7.9-5.0.2a-0112){dol_ver}: DoL 版本号{chs_ver}: 汉化版本号{date}: 日期
故障排查与最佳实践
常见问题解决方案
问题 1:构建速度慢
# 解决方案:调整并发数 python main.py build --tag v0.5.7.9-5.0.2a-0112 --jobs 4 # 减少并发 python main.py build --tag v0.5.7.9-5.0.2a-0112 --jobs 16 # 增加并发问题 2:资源下载失败
# 解决方案:检查网络或使用镜像 # 修改 config/build.toml 中的 URL # 或手动下载资源放到 workspace/dolp/ 和 workspace/au/ 目录问题 3:APK 签名失败
# 解决方案:检查 Java 版本 java -version # 确保是 Java 17+ # 或手动运行 apktool 和 uber-apk-signer并发配置建议
| 内存 | CPU核心 | 推荐 -j | 说明 |
|---|---|---|---|
| 4GB | 4核 | 2 | 保守配置 |
| 8GB | 8核 | 4-6 | 标准配置 |
| 16GB | 16核 | 8-12 | 高性能配置 |
| 32GB+ | 32核+ | 16+ | 服务器配置 |
开发调试技巧
- 顺序执行调试:
python main.py build --tag v0.5.7.9-5.0.2a-0112 --jobs 1 -v- 检查组合列表:
python -c " from lyra.combo import CombinationCalculator calc = CombinationCalculator() combos = calc.get_combinations() print(f'总共 {len(combos)} 个组合') for combo in combos[:10]: print(f' {combo.code}: {combo.display_name}') "- 查看版本信息:
cat workspace/versions.json | python -m json.tool扩展生态与社区资源
DoL-Lyra 构建系统依赖于丰富的 MOD 生态,以下是主要的资源来源:
核心 MOD 仓库:
- Lyra-CombatStatusDisplay - 战斗状态显示
- Lyra-Cheat - 作弊功能模块
美化资源:
- Degrees of Lewdity Plus - 基础美化包
- BEEESSS 社区精灵合集 - 精灵美化
- 通用战斗美化 UCB - 战斗界面美化
特写资源:
- Hikari 特写 - 日系风格特写
- Goose 特写 - 欧美风格特写
- BJ 特写扩展 - BJ 特写增强
AU 变体:
- AU 女性变体 - 女性身体变体
- AU 男性变体 - 男性身体变体
- AU 双性变体 - 双性身体变体
总结与展望
DoL-Lyra 构建系统代表了自动化游戏 MOD 打包的先进实践,它通过以下创新特性提升了整个构建流程:
- 模块化设计:每个组件职责明确,易于维护和扩展
- 配置驱动:无需修改代码即可调整 MOD 组合和构建规则
- 并行优化:充分利用多核 CPU,显著提升构建效率
- 资源预热:避免并发下载冲突,确保构建稳定性
- 版本管理:完整的版本追踪和记录系统
未来发展方向:
- 支持更多 MOD 类型和组合规则
- 优化构建缓存机制,减少重复工作
- 集成自动化测试和质量检查
- 提供 Web 界面进行可视化配置
- 支持更多游戏版本和平台
通过本指南,您已经掌握了 DoL-Lyra 构建系统的核心概念和使用方法。无论是作为普通玩家获取定制版本,还是作为开发者扩展系统功能,这套工具都能为您提供强大的支持。开始探索吧,打造属于您自己的《Degrees of Lewdity》游戏体验!
相关资源链接:
- 官方文档:docs/index.md
- 核心源码:lyra/
- 配置示例:config/
- 构建脚本:main.py
【免费下载链接】DOL-CHS-MODSDegrees of Lewdity 整合项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考