注意事项
文件的下载位置
文件的下载位置不受客户端程序的路径影响。客户端程序会自动搜索 .minecraft 的父目录,依次作为更新的起始目录
因此到处移动客户端程序不会影响文件的下载或者说更新的位置。如 果要禁用这个机制,可以在配置文件里调整 base-path
选项
移动客户端程序时,记得带着 mc-patch-version.txt
和配置文件一起移动,否则程序会找不到配置文件报错
文件会更新失败
若客户端里的某个文件在更新时,检测到文件内容被玩家人为修改过了(或删除),那么这个文件会跳过更新(丢失更新状态),后续所有对这个文件的更新都会直接跳过,也就是会更新失败
这不是程序BUG,这是特意的设计。原因是因为管理端打包会对比新旧文件,生成差异文件(补丁文件)
- 旧文件 + 新文件 => 补丁文件
然后客户端会下载这个补丁文件把旧文件修补(合并)成新文件
- 补丁文件 + 旧文件 => 新文件
这样只记录差异的方法可以很大程度上节省更新流量
但也有一个致命的缺点:当客户端合并文件时,如果旧文件被修改过,那么最终合并出来的新文件数据就是完全错乱的
为了不引起文件数据错乱,客户端选择了跳过对这些文件的更新。同时也保留了玩家自己的个性化设置数据不被更新覆盖(直到这个被修改的文件在服务端被删除才会打破循环,重新加入更新)
这个机制导致了玩家不能“手贱”修改文件,否则会导致这个文件在他的电脑上,从此之后的更新全部失败(但其它玩家不会受影响)