Skip to content

(Misc) Plugin Update Checker

David Karnok edited this page Jun 3, 2022 · 2 revisions

Mod that downloads the version_info_repository.xml from this project and uses it to find and determine if newer versions of tracked mods are available.

If one or more plugins are out of date, a panel is shown at startup with the change info. Click on the mod's identifier to navigate to the relevant download site. Press ESC to return to the main menu.

If mods are up to date, a small text will be just shown at the bottom center of the main menu.

⚠️ Note that you have to quit the application to be able to replace mods.

Configuration

akarnokd.theplanetcraftermods.miscpluginupdatechecker.cfg

## Is the mod enabled?
# Setting type: Boolean
# Default value: true
Enabled = true

## The URL from where to download an XML describing various known plugins and their latest versions.
# Setting type: String
# Default value: https://raw.githubusercontent.com/akarnokd/ThePlanetCrafterMods/main/version_info_repository.xml
VersionInfoRepository = https://raw.githubusercontent.com/akarnokd/ThePlanetCrafterMods/main/version_info_repository.xml

## If true, this mod will try to bypass caching on the targeted URLs by appending an arbitrary query parameter
# Setting type: Boolean
# Default value: false
BypassCache = false

## The font size
# Setting type: Int32
# Default value: 16
FontSize = 16

Developer notes

The version_info_repository.xml has the following format:

  • version_info_repository element: the root node
    • plugin elements (0+): describes each plugin
      • guid attribute: the unique BepInEx mod identifier
      • description attribute: the short description show to the user
      • version attribute (exclusive with discover and method): contains a concrete version number in semver format
      • discover attribute: url to a file to be parsed for the current version
      • method attribute: how to find the version number in the file; supported values:
        • BepInPluginVersionQuote: looks for the BepInPlugin annotation and the last string in quotes
        • CsprojVersionTag: looks for the first <Version> XML element and extracts the version number
      • link attribute: where the newest version can be downloaded
      • changelog elements (0+): optionally list the changelog of each version
        • version attribute: the version number
        • title attribute: the short description of the change
        • link attribute: a link to the change document or download
        • content text can be anything
    • include elements (0+): optionally link to other such xmls
    • url attribute: points to another such version_info_repository.xml file.
Clone this wiki locally