Skip to content
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

DeadPatch在拆分后的WZ文件结构上没有按预期发挥作用 #204

Open
HikariCalyx opened this issue May 10, 2022 · 1 comment
Open

Comments

@HikariCalyx
Copy link
Contributor

以前DeadPatch功能是每一个WZ文件被更新之后就立即替换掉旧版的WZ,但是在拆分后的64位WZ文件上它并没有有效发挥作用。
相关日志由于太长现以附件形式给出。

CMS V188 to V189 (没有启用DeadPatch): wcpatcher_20220510_194443352.log
TMS V242 to V243 (启用了DeadPatch): wcpatcher_20220510_214127510.log

64位拆分WZ后,我预期的DeadPatch效果是,Data目录内里面每一个一级子目录(Base, Character, Effect, Etc, Item, Map, Mob, Morph, Npc, Quest, Reactor, Skill, Sound, String, TamingMob, UI)的内容全部更新完了之后就立即替换该子目录。如果是配合对比的话,最好也是在一个一级子目录全部更新完之后就立即开始执行对比然后来替换。

@Kagamia
Copy link
Owner

Kagamia commented Oct 5, 2022

deadpatch对于新版客户端不生效算是一个known issue,但又好像没有明确的统计数据表明按照文件夹分组使用deadpatch是完备的做法

在我看来,dead patch的一个最大阻碍是,对于老版本客户端,即使更新失败任何一个文件,继续更新都可以断点续传,因为patcher会先计算老文件的crchash来决定是否执行更新。但是对于新版本客户端,dead patch的风险就太大了。

近期会试图统计一下最近KMST补丁的分布规律,并且设计一个保守的实现试试看。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants