Skip to content

WorkingRobot/ffxiv-downloader

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

FFXIV Downloader

Download and keep track of any files from FFXIV

Build and Release Build Container

Update Lookup Tables

EXD Files Movies Sqpack-020000

Usage

Here's an example build step:

- name: Download EXD Files
  uses: WorkingRobot/ffxiv-downloader@v7
  with:
    output-path: exd-data
    regex: '^sqpack\/ffxiv\/0a0000\..+$'

output-path specifies exactly where the downloaded files get stored, and regex is a regex expression that matches which files must be downloaded. Here, we only want EXD/Excel related files, so we'll make sure to filter out anything that doesn't begin with sqpack/ffxiv/0a0000.

Important

Do not use the ${{ github.workspace }} variable in output-path. github.workspace maps to /github/workspace/ in Docker actions. This is intended behavior.

Caching

When running this downloaded in a CI/CD environment, it's important to be aware of the volume of data you're downloading. FFXIV does not update often, so it's best to rely on GitHub's built-in action cache whenever possible to speed up your build times. Luckily, this is extremely easy. This action already takes care of only downloading data when it's necessary by storing the currently downloaded version in a file called .cachemeta.json inside your output-path (unless explicitly disabled by skip-cache.) All you need to do is cache its data. You can do so by prepending the following step before your downloader step:

- name: Retrieve cache
  uses: actions/cache@v4
  with:
    path: exd-data
    # Use the .cachemeta.json file to invalidate the cache when the data changes.
    key: exd-files-data-${{hashFiles('exd-data/.cachemeta.json')}}
    restore-keys: |
      exd-files-data-

Inputs

slug

Slug of the repository to download from. Thaliak holds a list of all repositories and their slugs. Defaults to 4e9a232b, which is the Win32 Global/JP base game.

version

Version of the game to download. If omitted, the latest version will automatically be selected.

output-path

Path to download files to. Defaults to . or the current directory.

Important

Do not use the ${{ github.workspace }} variable in output-path. github.workspace maps to /github/workspace/ in Docker actions. This is intended behavior.

regex

Regex to match files to download. Defaults to .*, which matches all files. Retroactively changing this does not invalidate any cached files.

Caution

If this value is changed to include new, undownloaded files, you must invalidate the cache manually.

parallelism

Number of concurrent threads to use when updating. Defaults to 4.

clut-path

Best to leave default. Automatically grabs clut (index-style) files from the official repository to speed up downloads dramatically.

skip-cache

If true, a .cachemeta.json file will not be created to track versioning. As such, files will be redownloaded every time this runs.

debug

Toggles debug logging. Disabled by default.

verbose

Toggles verbose logging. Enabled by default.

Outputs

updated

Whether or not a version update occurred.

version

Currently installed version.

About

Download and update files directly from FFXIV

Resources

License

Stars

Watchers

Forks

Packages