- 游戏开发
【免费下载链接】HS2-HF_Patch
Automatically translate, uncensor and update HoneySelect2!
本文以开源仓库 HS2-HF_Patch 的 README.md 为骨架,结合 patch.iss、components.iss 与 HelperLib 源码,系统讲解 HF Patch 是什么、包含哪些内容、如何正确下载与安装、安装器在后台做了哪些事情,以及常见问题的解决方法和从源码自行构建补丁的完整流程。读完本文,你将掌握 Honey Select 2 一体化补丁从下载、安装、排错到源码级理解的全套实战能力。
HF Patch 是什么:它解决了哪些问题
HF Patch for Honey Select 2 是一个针对 Illusion(现 ILLGAMES)游戏Honey Select 2的一体化整合补丁。按 README 的定义,它把所有免费更新、玩家社区制作的英文翻译和必要 mod打包进一个安装程序,安装后可以让游戏加载几乎所有网上流传的角色卡(character cards)和场景(scenes),同时获得大量游戏性改进,并且保持游戏"原本整洁、不杂乱"的观感。所有内容在每次发布前都会经过测试,有问题的内容会被修复或移除;补丁本身还能修复许多常见的游戏与 mod 安装问题。
它的核心能力可以概括为五条(对应 README 的 "What's included?" 清单):
- 全部免费更新——无需手动逐个安装官方更新;
- 粉丝翻译 + 机器翻译补全——用社区翻译填补官方翻译的空缺;
- 常用插件与 mod——默认安装足以加载网络上绝大多数角色卡与场景的插件集合(Light 精简版不含 Sideloader Modpack);
- 常见问题修复——包括修好被搞坏的 mod 安装、旧版 BepInEx 自动升级等;
- 完整去码(uncensor)——内置多种不同的去码模型,可自由切换。
同时 README 反复强调一条红线:HF Patch 不包含完整游戏、付费扩展或任何盗版内容。它只是一个补丁,游戏本体必须已经安装好才能工作;如果要使用 VR 模块,也需要在打补丁之前先装好 VR 模块。游戏可以从 Steam(DX 版已包含,且更便宜)或 DLsite 购买。
安装前的准备工作
按 README 的 "Text guide",在动手打补丁之前需要满足几个前提条件,这些条件在源码中都有对应的硬性校验(详见 patch.iss 中的NextButtonClick与IsDirNameValid函数):
游戏目录要求
- 游戏必须安装到一个路径中不含日文字符的目录,例如
D:\Games\HS2。Steam 版默认路径通常没问题。 - 路径不能嵌套过深(源码中限制安装路径长度不超过 100 个字符,超长会弹出
MsgPathTooLong警告); - 路径中不能有非拉丁字符(
IsDirNameValid会逐字符检查是否属于 ASCII 范围,否则弹出MsgPathNonLatin); - 安装器会检测目标目录里是否混装了EmotionCreators、Koikatsu、AI-Syoujyo等其他 Illusion 游戏的可执行文件(见 patch.iss),如果检测到会直接报错阻止安装,因为混装会破坏两个游戏的游戏文件;
- 安装器还会检查游戏关键文件是否完整(如
abdata\adv\camera\action.unity3d、两个声音设置文件),缺失则要求重新安装游戏(MsgMissingGameFiles)。
从源码结构看,这些校验的目标都是避免"路径/文件问题导致游戏无法启动"这一 mod 安装中最常见的事故源头。
可选组件:VR 模块与 DX 扩展
- 如果想用 VR,必须先把 VR 模块装进游戏再运行 HF Patch;
- 付费扩展 DX(2020-10-30 发布的付费 DLC)是可选的,补丁可以正常安装在无 DX 的版本上,但安装器会弹窗提示缺少 DX 会少一些物品、地图和动画(见
NextButtonClick中DxInstalled的检查,以及 patch.iss 中通过abdata\add50是否存在来判断 DX 是否已安装的逻辑)。
Steam 版与 Wine/Proton 用户的特别提醒
- Steam 用户建议暂停 HoneySelect2 的自动更新——新更新可能自动安装并破坏 mod(进而破坏游戏);如果发生了这种情况,重新运行一次 HF Patch 即可修复;
- 在 Linux/SteamOS/macOS 上通过 Wine/Proton 运行游戏的用户,README 建议先阅读社区提供的 Wine 指南与 BepInEx 的 Proton/Wine 使用文档。
下载 HF Patch:正确的获取方式
README 明确指出,下载有两条途径,且有很多容易踩的坑:
- Releases 页面:到项目的 Releases 页面下载最新版。你应得到一个单个 .exe 文件外加几个 .bin 文件;
- 磁力链接(magnet):需要用 qBittorrent 之类的 torrent 客户端下载。如果磁力链接下载遇到问题,请更新客户端或换用最新版 qBittorrent(已知兼容性良好)。
几个关键规则:
- .exe 与 .bin 分片必须放在同一个文件夹里,且保持原有文件名。安装器运行时需要按序读取这些分片;如果安装器提示"需要另一张盘(another disc)",说明你的下载没有正确解压、缺文件,或者你重命名/删除了某些解压出来的文件;
- 不要下载 GitHub 仓库页面上的 .zip 压缩包——那是补丁的源代码,不是补丁本体;
- 补丁文件可以放在任意位置,但不能放在游戏目录里(源码 patch.iss 会检测"补丁位于游戏目录内"并报错拒绝安装,防止递归覆盖);
- 如果杀毒软件报毒,先确认下载来源是正规链接;如果来源无误,大概率是误报——未签名安装程序出现误报是常见现象;
- 想第一时间收到新版本通知,可以关注 Releases 或作者主页。
安装向导逐步指南(Text guide)
按 README 的文本安装指南,完整流程如下:
- 把 Honey Select 2 安装到无日文字符的路径(如
D:\Games\HS2;Steam 版一般无需担心); - 从 Releases 下载最新 HF Patch:一个 .exe + 若干 .bin,全部放到同一个文件夹(不要放游戏目录里);
- 运行 .exe,跟随向导安装。默认设置对大多数用户就是最优解;
- 安装过程中补丁可能长时间看起来卡住——只要没有弹出错误,就耐心等它完成;
- 如果使用的是Light 精简版,建议另外单独更新 Sideloader Modpack:可以在启动器里点更新,或用 KKManager 的 "Look for mods" 选项;
- 完成!按平时方式启动游戏启动器,立刻就能看到一些新选项。此时可删除下载的补丁文件以节省空间;
- Special patch(去码补丁)已包含在 HF Patch 内,无需手动安装;即使你已经装过,重复安装也无害,补丁会自动处理;
- 如果之前动过游戏目录,建议在装补丁前先在 Steam 里校验游戏文件,确保干净状态;
- 补丁后首次启动游戏在慢速机器上可能需要几分钟,游戏窗口不会立刻出现,属正常现象;
- (可选)通过启动器中的更新按钮更新 modpack;不用 Studio 的话,可以不勾选 "Sideloader Modpack - Studio" 以省空间。
另外 README 还提供了一个"mostly universal"的视频安装指南(覆盖从 DMM 获取游戏到安装 HF Patch 的完整过程),使用章节跳转可快速定位;不同游戏之间可能存在细微差异。
安装器后台在做什么:源码级原理
HF Patch 的安装器基于 Inno Setup 编写(脚本见 patch.iss 与 components.iss),并调用一个用 C# 编译的 HelperLib.dll(源码见 HelperLib,GPL-3.0 授权)来完成游戏定位、文件校验、配置修复等底层操作。README 中"每次更新前所有内容都经过测试与修复""能修复许多常见问题"的承诺,正是靠下面这些机制实现的。
自动探测游戏安装位置
安装器通过GetDefaultDirName调用 HelperLib 导出的FindInstallLocation(HelperLib/HelperLib.cs)自动定位游戏目录,探测顺序是:
- 读取注册表
HKCU\Software\illusion\HoneySelect2\HoneySelect2下的INSTALLDIR_HFP(本补丁写入的)或INSTALLDIR(官方写入的); - 通过 HelperLib/Steam.cs 解析 Steam 安装位置与
libraryfolders.vdf(支持多 Steam 库目录),在steamapps\common下查找HoneySelect2文件夹; - 兜底地在常见程序目录和各驱动器根目录下按名称暴力搜索。
如果都找不到,就回退到占位路径让用户手动选择。安装完成后,patch.iss 会把INSTALLDIR_HFP写回注册表,供下次安装直接复用。
文件完整性校验(MD5 + 内嵌哈希表)
安装开始前,PrepareToInstall会调用 HelperLib 的VerifyFiles(HelperLib/Verifier.cs)对 .exe 和所有 .bin 分片做 MD5 校验:
- 安装器 .exe 的文件末尾内嵌了一张以
|HASHES|标记开头的哈希表(第一行是 exe 自身去除哈希区后的 MD5,后续每一行对应一个{exe名}-{序号}.bin分片); - 校验失败会给出明确的错误信息,指出哪一个分片损坏或缺失,并提示重下对应分片;
- 对于 torrent 用户,README 建议用客户端的"force recheck"功能只重下坏块,不必整体重下。
这解释了 README 中"必须所有分片同文件夹同名"以及"慢速硬盘上校验要花几分钟(需要读取并哈希大量数据)"的说法——校验是真实发生的全量哈希,不是走过场。校验阶段界面会显示 "Verifying HF Patch files, this can take a few minutes"。
安装前的环境预处理
通过 patch.iss 的PrepareToInstall流程,在真正写文件之前依次执行:
- 关闭正在运行的进程:用
taskkill /F强制结束HoneySelect2.exe、StudioNEOV2.exe、InitSetting.exe、BepInEx.Patcher.exe、KKManager.exe等(对应 patch.iss); - 修复文件权限:调用 HelperLib 的
FixPermissions(HelperLib/HelperLib.cs),生成一个临时 bat 执行takeown /R /SKIPSL+icacls /grant *S-1-1-0:(OI)(CI)F /T /C /L,解决目录权限不足导致的写入失败(这也是"安装器能修复很多烂摊子"的关键一步); - 备份现有插件:
CreateBackup(HelperLib/HelperLib.cs)把游戏目录里的BepInEx、scripts、DHH_Data全部打进Plugin_Backup_日期时间.zip存到游戏根目录——所以勾选"删除旧 mod"后旧插件并不会丢失; - 清理旧 mod/脚本:按向导勾选的任务,删除旧插件(
delete\Plugins)、旧脚本(delete\scripts,会先暂存再恢复AYAYA.cs)、非 modpack 的侧载 mod(delete\Sidemods,调用RemoveModsExceptModpacks,见 HelperLib/HelperLib.cs),并备份/恢复BepInEx\config.ini插件配置(delete\Config勾选与否决定配置是否保留); - 自动检测垃圾插件:
CurPageChanged(patch.iss)如果检测到EC.Core.Fixes.MakerFPS.cfg、CardCacher.dll、0Harmony.dll、Sideloader.dll等已知过时/有问题的文件,会自动把"删除所有旧 mod"默认勾选上。
安装后的收尾工作
CurStepChanged(patch.iss)在安装完成后执行:
FixConfig(HelperLib/HelperLib.cs)校验UserData\setup.xml(分辨率、全屏、画质等级、显示器编号、语言),发现非法值(如宽 < 200、宽 <= 高、分辨率与数值不匹配、语言被改成非日语等)就删除该文件并用一份 1280x720 的"良好默认值"重建——防止坏配置导致游戏启动崩溃;WriteVersionFile向游戏目录写入一个隐藏的version文件记录补丁版本;- 若检测到是 Steam 版(存在
Initial Settings.exe,见IsSteam),删除日版专用的InitSetting.exe并清理 Steam 版与日版之间的差异文件; - 出于安全默认关闭 DHH/HS2 Graphics 两个图形插件(重命名为
.dl_,可在启动器里重新打开); - 写入 DirectX 注册表键防止下次重复安装 DX 运行库。
Steam 与 DX 版本的运行时判定
安装器全程通过几个文件探针判断游戏版本,决定拷贝哪一套文件(见 patch.iss 与 [Files] 段的Check:条件):
| 判定函数 | 判定依据 | 作用 |
|---|---|---|
IsSteam | 存在Initial Settings.exe | 决定是否拷贝steam_diff/steam_post差异文件、是否删除InitSetting.exe |
IsConvertedSteam | 存在abdata\BRConvert\OK.txt | 判断 Steam 版是否已被转换为日版 |
DxInstalled | 存在abdata\add50 | 决定拷贝普通 VR 补丁还是 DX 版 VR 补丁、是否加载2021-02-14-subdx内容 |
例如 patch.iss 中,2021-02-14-subdx只在 DX 已安装时生效,vr_normal与vr_dx也按DxInstalled二选一。
组件清单:默认安装什么
README 提示可以查看 Plugin Readme.md(安装后也会被拷贝到游戏目录)或直接检查 .iss 文件获取完整内容清单。当前仓库的 components.iss 把可安装内容组织成十几个大类,安装时按 patch.iss 定义的安装类型(Types)组合勾选:
- 完整安装(Recommended installation):默认全套;
- 扩展安装(Extra installation):更多内容;
- 更新与修复(Update and repair):bare,只做游戏修复;
- 跳过 BepInEx 安装(NOT RECOMMENDED):none;
- 自定义安装:custom。
主要组件大类(名称、版本与作用均来自 components.iss):
- BepInEx v5.4.23.2:插件框架(核心,不可取消),附带 Configuration Manager(F1 打开)、Message Center、Splash Screen 等;
- IllusionLaunchers v3.4.1:自定义游戏启动器;KKManager v1.4.2.0:mod 管理与更新工具(安装在游戏目录的
[UTILITY] KKManager文件夹); - API:BepisPlugins v20.0、Modding API v1.42.1、XUnity Resource Redirector、GeBo Modding API、BonesFramework、DependencyLoader 等其他插件运行所依赖的基础库;
- AT(翻译):XUnity Auto Translator v5.4.3 翻译加载器 + Text Resource Redirector + Translation Helper + 截至构建日期的英文翻译合集(
HS2-Translation-master),以及带明确警告"机翻质量差"的 Subtitles 字幕插件; - UNC(去码):Uncensor Selector v3.12.2(支持多模型切换)、BetterPenetration、Beaver;
- Content(内容):Material Editor、HS2PE、MoreAccessories(解除 20 个饰品上限)、HS2ABMX(制卡器更多滑条)、Overlay Mods、Colliders 等,README 强调这些内容 mod 是很多角色卡/场景的前置依赖;
- FIX(重要修复):IllusionFixes v21.6、HS2_BetterHScenes、UnlockPlayerHeight/HClothes、LightprobesReset(修复 Studio 颈部接缝)等;
- Feature(改进与功能):Graphics(DHH / HS2 Graphics / Graphics Settings / Better AA)、Timeline(Studio 动画编辑器,Ctrl+T)、Drag and Drop(拖入卡片即加载)、QuickAccessBox、Autosave、HideAllUI(空格隐藏界面)等数十个;
- MISC(其他):FPS Counter、Cheat Tools(F12 作弊菜单)、C# Script Loader、Runtime Unity Editor、Full save(会覆盖当前存档)等。
此外 patch.iss 中的 "Patch" 组件固定安装免费更新 + 游戏修复(含可选 VR 模块与全球服务器卡片浏览器),"Modpack" 组件负责把 Sideloader Modpack(General、Maps (HS2 Game)、MaterialEditor Shaders、Uncensor Selector)拷入mods目录;LITE宏编译的精简版不含 General/Studio/Maps 大型 modpack(README 提到 Light 版不含 Sideloader Modpack)。BepInEx 的插件安装后位于BepInEx\plugins,与游戏原文件隔离——这也是"mods 不修改任何游戏文件"的来源:删除游戏根目录的winhttp.dll(BepInEx 的入口)即可整体禁用所有 mod,而官方补丁是永久应用的。
安装任务与多语言支持
安装向导中的可选任务(Tasks)在 patch.iss 定义、文案在 Translations.iss 中提供英/日/简中三语:
- Clean up old mods:清理旧 mod(修复和避免问题;旧插件会被备份成游戏根目录的 .zip);
- Delete third-party sideloader mods:删除
mods文件夹里除 Sideloader Modpack 外的一切(警告:先备份重要文件); - Delete BepInEx plugins:始终推荐勾选;
- Delete plugin settings:遇到问题或从旧整合升级时推荐勾选;
- Delete old scripts:删除旧脚本(会保留
scripts\AYAYA.cs); - Create a desktop icon:默认不勾选。
三语支持通过 patch.iss 的 Languages 段(en/jp/sc)加载,简中安装界面由ChineseSimplified.isl与 Translations.iss 中的sc.前缀消息提供(如sc.MsgSteamUpdatesMissing=您的游戏缺少Steam的官方更新。)。安装向导的欢迎图、横幅与图标分别来自 _Common/hf.bmp、banner.bmp、icon.ico(配置见 _Common/Header.iss),安装前/后信息页分别使用 INFO.rtf 与 Plugin Readme.md。
常见问题与解决方案
README 专门给出了一份排错清单,全部对应安装器内部机制:
- 装完补丁游戏无法启动:重启电脑,用默认设置重新装一次补丁;
- Studio 加载时卡住:启动游戏目录里的 KKManager,点顶部的 "Look for updates",让它更新 Studio modpack;或者按启动器里的更新按钮;
- 磁力链接下载困难:更新 torrent 客户端,或使用最新版 qBittorrent;
- 提示"需要另一张盘":下载不完整或分片被改名/删除。需要全部分片,且必须同名、同目录;
- 提示文件损坏:重下损坏的分片(或全部分片);torrent 用户可用 "force recheck" 只补坏块;
- 杀毒软件报毒:确认下载来源正确后,多半是未签名安装程序的误报;
- 慢速硬盘上校验很久:安装器要读取并哈希大量数据,任务管理器里能看到它在干活就耐心等。
安装后的日常使用与 FAQ
插件配置与热键
README 的通用 FAQ 给出两个高频操作:游戏内按F1打开 "Plugin settings"(BepInEx Configuration Manager)即可配置几乎所有插件,且大部分插件的热键也在这里查看和修改。常用热键示例(来自 Plugin Readme.md 与 components.iss 的描述):F12 打开 Cheat Tools 作弊菜单、Ctrl+T 打开 Timeline 动画编辑器、空格隐藏 UI(HideAllUI)、Alt+Enter 全屏切换、Shift+Tab 全选同类角色(Studio MultiSelect Chara)等。
卡片/场景加载失败怎么办
- 下载了新版角色卡/场景但提示 mod 缺失:更新 Sideloader Modpack——在启动器里点更新按钮,或运行 KKManager 用 "Look for mods" 选项;
- README 建议:打算大量下载角色卡的用户安装全部内容 mod(很多卡片/场景依赖它们;不用 Studio 时 Studio modpack 可选);
- 新装的卡片/场景如果用到补丁未包含的 mod,可能需要先从游戏启动器执行Update再加载。
更新与卸载
- 只需安装最新版:装过旧版无需任何额外操作,直接装最新版即可,可反复安装且不会弄坏任何东西(README 明确承诺);
- 想禁用所有 mod:删除游戏根目录的
winhttp.dll即可,不会影响官方补丁已应用的文件; - 旧版 BepInEx 会被自动升级,绝大多数被搞坏的安装(botched installs)跑一遍补丁就能修复。
Steam 版专项 FAQ
- 暂停 Steam 自动更新:防止更新悄悄破坏 mod;出问题后重装补丁即可恢复;
- 不想让 Steam 显示游戏时长:直接从游戏文件夹启动 .exe(不从 Steam 库启动),或把库存设为私密;游戏可在 Steam 关闭时运行;
- Steam 校验游戏文件会丢失很多功能:校验会还原游戏文件但不删你的数据,只是需要重跑 HF Patch 找回功能;
- 附带的粉丝翻译只用于填补官方翻译空缺(DLC、Studio、mod 等),官方英/中翻译不会被改动;
- 免费更新已包含 Studio 与可选 VR 模块(均为独立 exe)。
从源码构建 HF Patch
README 的 "How to build" 一节说明了构建所需环境,patch.iss 顶部的宏揭示了构建选项:
- HelperLib(C# 辅助库):至少需要Visual Studio 2017(工程文件为 HelperLib/HelperLib.csproj,依赖列表见 HelperLib/packages.config,单元测试见 HelperLibTests/HelperLibTests.cs,其中覆盖了
RemoveSideloaderDuplicates与FixConfig两个关键流程); - 补丁本体:需要最新版 unicode Inno Setup 编译器来编译 patch.iss;
- 素材与 mod:所有必需 mod 必须放在
Input目录下对应的子文件夹中才能编译(如Input\_Plugins\_out\...、Input\_Patch\...、Input\BepInEx_config\...、Input\_TL\...,见 patch.iss 的 [Files] 段);由于体积巨大,这些 mod 不随仓库分发; - 常用构建开关(patch.iss):
#define VERSION "2.13":当前补丁版本号(同时用于输出文件名与 Header.iss 的 AppVersion);#define GameDir:Sideloader Modpack 的源目录(构建机上指向 mod 素材库);#define LITE:编译精简版(不含 General/Studio/Maps 大型 modpack,输出文件名带 "Light Version");#define DEBUG:不包含任何文件,仅用于快速测试脚本;#define NOVERIFY:跳过文件校验,仅用于测试(发布版必须注释掉);
- 输出物通过
DiskSpanning=yes+lzma2/ultra64压缩生成分卷安装包(.exe + .bin,即 README 要求"同文件夹同名"下载的原因),配置见 patch.iss。
重要声明与注意事项
最后,README 用加粗段落明确了几条使用边界,值得原样记住:
- HF Patch不含完整游戏、付费扩展或盗版内容,完整游戏必须已安装;
- 装过旧版补丁或零散 mod 时,推荐按提示删除全部旧 mod,以杜绝潜在冲突和过时 mod 引发的问题;
- 全部免费补丁与 DLC 已包含;付费/限时 DLC 不含且非必需(跳过它们补丁照常工作,只是部分功能可能不可用;之后再装 DLC 只需重跑补丁);
- 补丁可反复运行,不会弄坏任何东西;所有 mod 均可选安装,多数可通过重跑补丁移除;
- 计划下载角色卡的用户建议安装全部内容 mod;
- 补丁可用于修复许多损坏的游戏/mod 安装,旧版 BepInEx 自动升级;
- 补丁与所含 mod不提供任何保修,"AS IS" 提供,安装即自担风险。
简而言之:HF Patch 的价值在于把"官方更新、翻译、去码、mod 依赖、修复工具"打包成一个可重复运行、带完整校验与备份机制的安全安装器。本文覆盖了它的全部核心内容——从下载安装的每一步、源码层的工作原理、常见问题排错,到自行构建的方法——足以支撑你在遇到任何与 Honey Select 2 补丁相关的问题时快速定位并解决。
- 游戏开发
【免费下载链接】HS2-HF_Patch
Automatically translate, uncensor and update HoneySelect2!
相关推荐
Honey Select 2汉化补丁完整指南:从安装到精通
Honey Select 2汉化补丁完整指南:从安装到精通 还在为Honey Select 2的日文界面而困扰?HF Patch汉化补丁为你带来全方位的游戏体验
游戏开发Honey Select 2汉化优化补丁完整使用指南
Honey Select 2汉化优化补丁完整使用指南 还在为Honey Select 2游戏的语言障碍而烦恼吗?HF Patch汉化优化补丁为你提供了一站式解决
游戏开发KK-HF_Patch 完全指南:Koikatu! / Koikatsu Party 汉化、去码与模组整合补丁的安装与源码剖析
KK HF_Patch 完全指南:Koikatu! / Koikatsu Party 汉化、去码与模组整合补丁的安装与源码剖析 导读 KK HF_Patch 是
游戏开发开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考