Skip to content

Conversation

danez
Copy link

@danez danez commented Jul 16, 2025

While testing with a game that has ~650 savefiles, I noticed that Legendary wasn't downloading any data — the download process completed instantly without actually retrieving any files.

Root Cause

Upon investigation, I discovered that the Epic Games Store (EGS) API limits the number of files returned in the metadata JSON to 1000 entries. For games with many files, such as save-heavy ones, essential files like the manifest chunks were missing from the response due to this limit.

Fix

To resolve this, I:

  • Modified the download logic to request manifest data separately, bypassing the 1000-file limitation.
  • Then used the manifest contents to selectively request only the necessary chunks from the API.
    • In my test case, this resulted in ~1600 chunk files to be downloaded.

Enhancements

To improve download performance and reliability:

  • Implemented parallel chunk downloads, significantly reducing overall download time (for my example):
    • Before: 11 minutes 40 seconds
    • After: 1 minute 6 seconds
  • Added a retry mechanism for failed chunk requests, as parallel requests occasionally encounter transient errors.

derrod#709

@danez
Copy link
Author

danez commented Aug 15, 2025

Any Love? :) @imLinguin @CommandMC

@CommandMC CommandMC self-requested a review August 16, 2025 21:54
Copy link
Collaborator

@CommandMC CommandMC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to bug us on Discord next time to get things reviewed faster

@danez
Copy link
Author

danez commented Aug 22, 2025

Thanks will do.

I applied the nit.

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

Successfully merging this pull request may close these issues.

2 participants