# ========================================== # Sekai Unpacker 客户端配置示例 # sekai-unpacker-client.example.yaml # ========================================== # 日志级别: DEBUG, INFO, WARN, ERROR log_level: "INFO" # 说明:`client`/`server` 是 TCP 连接方向,不是进程身份。 # - `client`: 主动连出到远端 # - `server`: 本地监听并接受远端连入 # 当前文件默认展示“client 进程常用连出模式”,也可同时/单独启用 `server`。 # ========================================== # 服务器连接配置 # ========================================== # 可配置多个服务器,客户端会依次尝试连接 client: # 第一个服务器配置 - url: "127.0.0.1:3333" # 服务器地址和端口 token: "your_auth_token_here" # 认证令牌,必须与服务器配置相同 # host: "example.com" # [可选] TLS SNI 主机名 # 仅在需要 TLS 加密到 Identity 交换为止时配置 # 如不配置,则使用明文握手 # 加密范围:Identity 交换之前的握手,H2 通信不加密 # 可以配置多个服务器 # - url: "backup.example.com:3333" # token: "backup_token" # host: "backup.example.com" # ========================================== # 可选:反向连接场景(本进程作为监听端) # ========================================== # server: # - url: "0.0.0.0:3334" # 本地监听地址和端口 # token: "reverse_link_token" # 需与对端 client.token 一致 # # cert: "/path/to/certificate.pem" # [可选] 启用 TLS 握手 # # key: "/path/to/private.key" # ========================================== # 同步配置文件(Profiles) # ========================================== # 每个配置文件对应一个地区的同步任务 profiles: # ========================================== # 国服配置示例 # ========================================== cn: # [必需] 地区标识,必须与服务器配置中的 regions 一致 region: cn # ========== 版本信息配置(可选) ========== # 以下三个字段会被 dynamic_load 中的值覆盖 # 应用版本 # app_version: "6.0.0" # 资源版本 # asset_version: "1.0.0" # 资源哈希值 # asset_hash: "abc123def456" # ========== 动态加载配置(可选) ========== # 从指定 URL 动态加载版本和哈希信息 # 用于获取最新版本而无需更新配置文件 dynamic_load: url: "https://api.example.com/versions/cn" # 映射关系:本地字段名 -> 远程 JSON 字段名 map: app_version: appVersion asset_version: assetVersion asset_hash: assetHash # concurrent: concurrent # [可选] 远程并发数,需为数字 # ========== 下载配置 ========== # 更新间隔(秒,可选) # 如设置,则每隔指定秒数自动检查更新 # interval: 3600 # 并发下载数(单个资源包的同时下载线程数) concurrent: 50 # 精确匹配单文件包 exact_single_file_bundle: true # 导出基础路径 path: "./data/cn" # ========== 资源过滤配置 ========== filters: # 启动应用时必须下载的资源类型 start_app: - "thumbnail" # 缩略图 - "stamp" # 邮票/表情 # - "area" # 地图 # - "home" # 主页背景 # 按需下载(用户请求时才下载)的资源类型 on_demand: - "thumbnail" - "stamp" # - "event" # 活动资源 # - "mysekai" # 我的SEKAI资源 # 跳过下载的资源标识 # 完全不下载这些资源 skip: [] # 按文件扩展名过滤 # 仅下载指定扩展名的文件 file_ext: [] # ========== 导出和处理配置 ========== export: # 是否按分类导出(按资源类别分文件夹) by_category: false # ---- USM 视频文件处理 ---- usm: export: true # 是否导出 USM 文件 decode: true # 是否解码为视频格式(需要 FFmpeg) # ---- ACB 音频包处理 ---- acb: export: true # 是否导出 ACB 文件 decode: true # 是否解包并解码(需要 cri_ware_decoder) # ---- HCA 音频文件处理 ---- hca: decode: true # 是否解码为 MP3/FLAC(需要 FFmpeg) # ---- 图片处理 ---- images: convert_to_webp: false # 是否转换为 WebP 格式(需要 FFmpeg) remove_png: false # 转换后是否删除原 PNG 文件 # ---- 视频处理 ---- video: convert_to_mp4: false # 是否转换为 MP4 格式(需要 FFmpeg) direct_usm_to_mp4_with_ffmpeg: false # 直接用 FFmpeg 转换 USM 为 MP4(不先转M2V) remove_m2v: false # 转换后是否删除原 M2V 文件 # ---- 音频处理 ---- audio: convert_to_mp3: false # 是否转换为 MP3 格式(需要 FFmpeg) convert_to_flac: false # 是否转换为 FLAC 格式(需要 FFmpeg) remove_wav: false # 转换后是否删除原 WAV 文件 # ========================================== # 日服配置示例 # ========================================== jp: # [必需] 地区标识 region: jp # 并发下载数 concurrent: 50 # 精确匹配单文件包 exact_single_file_bundle: true # 导出路径 path: "./data/jp" # 动态加载配置(使用 GitHub 作为版本源) dynamic_load: url: "https://github.com/Team-Haruki/haruki-sekai-master/raw/refs/heads/main/versions/current_version.json" map: # app_version: appVersion asset_version: assetVersion asset_hash: assetHash # concurrent: concurrent # [可选] 远程并发数,需为数字 # 过滤配置 filters: start_app: - "thumbnail" - "stamp" on_demand: - "thumbnail" - "stamp" skip: [] file_ext: [] # 导出配置 export: by_category: false usm: export: true decode: true acb: export: true decode: true hca: decode: true images: convert_to_webp: false remove_png: false video: convert_to_mp4: false direct_usm_to_mp4_with_ffmpeg: false remove_m2v: false audio: convert_to_mp3: false convert_to_flac: false remove_wav: false # ========================================== # 配置说明 # ========================================== # # 【基本配置】 # - log_level: 日志输出级别,建议生产环境设为 INFO # - client: 主动连出配置,支持故障转移 # - server: 本地监听配置(可选,反向连接时使用) # # 【版本管理】 # - 优先级:直接配置(app_version等)> dynamic_load > 默认值 # - 建议使用 dynamic_load 保持版本自动更新 # # 【资源过滤】 # - start_app: 影响初始化和启动时的下载 # - on_demand: 需要时才下载的资源 # - skip: 完全忽略的资源,不会被下载 # - file_ext: 为空表示下载所有文件,指定则仅下载这些扩展名 # # 【导出处理】 # - export:true 必须为 true,资源才会被导出 # - decode:true 表示对导出的资源进行解码/转换 # - 各转换功能均需要对应的外部工具(FFmpeg 等) # # 【多地区配置】 # - 可在 profiles 中定义多个地区 # - 每个地区独立管理下载和导出配置 # - region 名称必须与服务器配置一致 # # 【TLS 加密】 # - 仅在需要加密握手时配置 host 字段 # - 加密仅到 Identity 交换,之后 H2 通信不加密 # - 留空或不配置则使用明文握手 # # 【角色说明】 # - 角色由连接方向决定,不由可执行文件名称决定 # - 同一进程可只开 `client`、只开 `server`,或两者同时开启