HMCL-dev / HMCL-dev/HMCL

[Bug] 自动更新整合包不会检查下载文件的正确性

Open
#3,746 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
10.1k
Forks
934
Avg merge
1d 5h
Merged PRs (30d)
82

Description

平台 | Platform

windows 11

问题描述 | Bug Description

根据 #2174 自动更新整合包似乎存在一个翻新计划?
当前自动更新整合包打包文件中的server-manifest.json中储存了每一个文件的相对路径和文件内容的sha1。
但是在游戏完整性检查开启的情况下, 似乎不会进行哈希校验, 即使文件哈希错误也会照常启动游戏。

一个非常简单的复现方法是把含有机械动力的整合包传到gitee上去, gitee会在直链下载大于100MB的文件时返回一个登录提示, 可以观察到在下载登陆提示.jar后游戏仍然能照常启动, 并产生缺失jar文件尾相关报错

启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File

已经删掉了复现环境, 如有必要会复现并上传日志(

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the automatic modpack download path and integrity-check path described in the issue, using server-manifest.json and its SHA-1 entries as the concrete inputs. Reproduce with a package whose large-file download returns a login prompt, then verify that the invalid or truncated file is rejected before the game starts. No source file or test is named, so locate the relevant launcher entry point and regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.