Skip to content

LaunchBase Ares Retrieval

EvilRenegade edited this page Dec 4, 2011 · 1 revision

Concept for LB 2.0 Ares retrieval

  1. Do an HTTP HEAD request on launchbase.strategy-x.com, getting custom headers
  • X-Ares
  • X-Ares-Release
  • X-Syringe
  • X-Mod-Database
  1. The headers contain the git-URLs to the source repositories for Ares, Ares Release and Syringe, and a flat file TFTP, FTP or HTTP URL for a list of mods and their URLs.
  2. Use the git-URLS to query the respective header file in the Ares (/src/Ares.version.h) or Syringe (VERSIONINFO block of res.rc) repos to get the latest version number.
  3. Compare that against the versions of local binaries.
  4. If the local version is equal or newer, do nothing.
  5. If the local version is older than the source, query the log of the .branchinfo file in the respective repo to check if it changed since last retrieval.
  6. If the local version is up to date, query the known URL to get the latest binary.
  7. If the local version is outdated, get the latest .branchinfo and query the URL inside for the latest binary.
  8. Compare the new binary's version - if it is newer than the local binary, replace the local one.
  9. Launch.

Mod database

The X-Mod-Database header/file would contain an INI-esque list providing pointers to metadata files at a location of the mod creator's choice, similar to the .branchinfo file, including a download-url for the latest version: Either a proper LaunchBase mod distro, or an archive file extractable straight into the game root. This way, LaunchBase can regularly update the list of available mods, but the maintenance of the mod's data and binaries remains with the modders. LaunchBase only needs to query the .modinfo files for those the modder cares for or installed mods.

By adding support for archive files, distribution through LaunchBase becomes far easier and more attractive to mods.

Clone this wiki locally