Bootstrapper Config Guide

config.ini 配置说明

这份文档面向当前项目的 config.ini。内容基于现有 Config.cpp 实现整理,重点说明每个字段的实际作用、路径规则、默认行为和当前限制。

配置格式

  • 支持行内注释,注释符为 # 或 ;。
  • 布尔值可写成 true/false、yes/no、on/off、1/0。
  • 不需要 section,直接写 key = value 即可。

路径规则

  • dump_dir、voice_dump_dir、log_file 写相对路径时,基准目录都是 mod_base_dir。
  • 绝对路径会直接使用,不再拼接。

当前注意点

  • game_exe 主要给启动器用,不是 Bootstrapper 自己读取的核心项。
  • hotkey_reload 目前代码里有解析函数,但尚未正式接入配置应用。

1. 配置文件搜索顺序

当前代码会按下面顺序尝试读取 config.ini,后加载的会覆盖先加载的同名项:

  1. 默认目录:<mod_base_dir>\config.ini
  2. 当前工作目录:CWD\config.ini
  3. 模块所在目录:DLL目录\config.ini
实际使用时,最常见的是放在启动目录旁边,也就是你现在看到的 x64/Debug/config.ini。

2. 基础字段

字段 作用 说明
mod_base_dir Mod 根目录 所有替换资源、日志、dump 的默认基准目录。默认值是 D:\Games\ak\mods。
game_exe 游戏 exe 路径 主要给启动器 Arknight_Mod/Launcher 使用,Bootstrapper 本体当前不直接消费它。
target_char 目标角色关键字 当前主要用于语音导出筛选,不影响静态立绘、头像、Spine 替换逻辑。

3. 资源导出相关

字段 作用 说明
dump_enabled 通用导出开关 true 时启用资源导出,false 关闭。
dump_dir 通用导出目录 相对路径时按 <mod_base_dir>\dump 解析。
voice_dump_enabled 语音导出开关 控制语音导出功能是否启用。
voice_dump_dir 语音导出目录 相对路径时按 <mod_base_dir>\dump\voice 解析。

4. 语音替换

字段 作用 说明
voice_replace_enabled 语音替换总开关 控制 wav / bundle 语音替换模块是否启用。

5. 日志相关

字段 作用 说明
log_file 日志文件路径 相对路径时按 <mod_base_dir>\logs\bootstrapper.log 解析。
log_level 总日志级别 支持 trace、debug、info、warn、error、off。
log_voice 语音模块日志 控制语音替换和语音索引的详细日志输出。
log_illust 立绘模块日志 控制静态立绘相关日志。
log_ab AB 模块日志 控制 AssetBundle / prefab 立绘替换相关日志。
log_spine Spine 模块日志 控制动态立绘、战斗小人、基建小人相关日志。
log_hot_reload 热刷新日志 控制 F10 刷新、索引重建、缓存清理等日志。
log_console 控制台窗口 true 时额外弹出控制台,false 时只写日志文件。
console_quick_edit 控制台快速编辑模式 建议一般保持 false,避免被鼠标选中后导致控制台冻结。

6. 热刷新与缓存

字段 作用 说明
hotkey_reload 热刷新快捷键 设计上支持类似 F10、F9、0(关闭)。 但当前版本虽然有 ParseHotkey,实际还没有把它正式接入 ApplyKeyValue, 所以现在基本仍按默认 F10 工作。
cache_size 缓存上限(MB) 当前会影响静态立绘、Spine、头像等缓存总量。默认 512 MB。
spine_skip_cache_clear 跳过 Spine 缓存清理 true 会提高刷新速度,但更容易占用更多内存并残留旧数据;通常建议 false。

7. 可选高级项

当前代码中还支持一些不一定出现在默认配置里的字段:

8. 推荐配置示例

mod_base_dir = C:\Users\thixi\game\Arknight\Mods
game_exe = C:\Program Files\Hypergryph Launcher\games\Arknights Game\Arknights.exe
target_char = amiya

dump_enabled = false
dump_dir = dump
voice_dump_enabled = false
voice_dump_dir = dump\voice

voice_replace_enabled = true

log_file = logs\bootstrapper.log
log_level = debug
log_voice = true
log_illust = true
log_ab = true
log_spine = true
log_hot_reload = true
log_console = false
console_quick_edit = false

hotkey_reload = F10
cache_size = 512
spine_skip_cache_clear = false

9. 当前版本特别提醒

1. game_exe 不是 Bootstrapper 自己的核心配置,它主要是给启动器使用的。
2. hotkey_reload 目前属于“已有设计但尚未完全接线”的字段,当前实际热刷新仍基本按默认 F10 处理。
3. 如果看到路径写成相对形式,却实际落到了 Mods 目录下,那是正常行为,因为这几个路径字段就是相对 mod_base_dir 解析的。