-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] 基于符号链接的多客户端共存方案 #749
Comments
坏消息是原的 考虑另一种方案,把首次安装的游戏客户端称为主客户端,同游戏不同服务器的其他客户端称为从客户端(暂且这样命名)。主客户端的安装更新流程都按照正常流程处理,从客户端安装时仅下载差异文件,其他的相同文件使用单文件硬链接的方式链接到主客户端对应的文件;从客户端禁用预下载、更新流程,在主客户端更新期间完成从客户端的更新。此方案不影响单客户端的正常使用和更新,也能和官方启动器兼容。 同样的,也有一些问题需要考虑:
铁道的本地化音频资源没有 |
This comment was marked as spam.
This comment was marked as spam.
@Scighost |
https://github.com/AbyssMorax/GenshinImapctStarter/tree/master |
@Scighost |
1.StreamAssets下仅有20527480.blk和APMConfig.json不同,后者的不同仅在区服说明,那么是否可以链接除这两个文件之外的文件和文件夹 |
原神在校验时首先会检查文件信息中的大小,符号链接无法通过这种校验,进入游戏后会重新下载全部文件,改为使用硬链接实现此功能。 https://github.com/Scighost/Starward/releases/tag/0.12.2-preview.1 |
感谢 @AbyssMorax 提出的建议 DGP-Studio/Snap.Hutao#1524
部分玩家有同时游玩中国官服和国际服的需求,针对转换客户端的功能,Starward 前后推出了两个方案:一是修复客户端的全部文件,优点是保证了客户端的完整性,缺点是每次转换需要验证全部文件、下载 0.7GB 的资源文件;二是仅修改两客户端中存在差异的文件,并且在本地缓存这部分文件,解决了前者的缺点,但转换过程操作繁琐。而基于符号链接的客户端共存方案与上两个方案不同,无需转换文件的步骤,操作简单,仅需额外占用少量的存储空间。
以原神为例,4.5 版本本体+汉语语音包总计大小 84.9GB,绝大多数相同的文件集中在
StreamingAssets
文件夹中,仅这个文件夹就有 83.3GB。如果把此文件夹符号链接,那么能以不到 2GB 的存储空间为代价安装另一个客户端。实现这个功能的过程中需要考虑以下要点,涉及到功能本身、用户提醒、符号链接技术等:
StreamingAssets
文件夹本体保留在原位置,还是移动到游戏文件夹之外单独存储?StreamingAssets
文件夹内外的版本不一致,但按正常的更新流程会下载很多不必要的文件,需要在此文件夹内新增config.ini
做好版本记录StreamingAssets
移动到游戏文件夹之外,卸载某一客户端后,此文件夹应移回游戏文件夹内StreamingAssets
时,当玩家手动删除包含此文件夹本体的游戏文件夹时,另一客户端是否仍然可用?StreamingAssets
的父文件夹被移动,符号链接是否会被破坏?实现此功能后,现有的转换客户端的功能会被移除。
The text was updated successfully, but these errors were encountered: