Color theme

Update Sources

Eranio

Update Sources

On Admin, Update Checker, Update Sources you set, for every egg, where the latest version comes from and how the installed version is read on the server. Both settings are independent of each other, a Steam source could in theory read its installed version from a server variable instead, if that fits a particular egg better.


Source types

Type Needs Notes
Steam Steam AppID, or the SRCDS_APPID variable Build comparison and patch notes from Steam news, respects the configured beta branch
Purpur nothing further Reads .paper/version_history.json, compares against the newest Purpur build of the same Minecraft version
Paper nothing further Same as Purpur, against the PaperMC API
Leaf nothing further Same as Purpur, against the Leaf API
Forge nothing further Installed version from libraries/net/minecraftforge/forge, latest from promotions_slim.json
Hytale nothing further Reads version.txt, the reference is the highest version reported by any Hytale server on the same patchline, plus the official updates page
GitHub release Repository in the form owner/name Compared against the newest published release
RSS/Atom feed Feed URL Reads <item> or <entry>
Generic JSON API URL and JSON paths in dot notation, for example data.latest.version Paths for version, patch notes, URL and publish date, each configurable, patch notes optional
Text file with pattern URL and a regular expression with exactly one capture group First or last match can be chosen
Update only nothing further No version comparison, always offers "Apply update", for example for eggs without a reliable version number

Without a configured way to read the installed version, the status for that source honestly stays unknown.


Installed version readers

Reader Used for
Steam manifest Steam sources, searches steamapps/appmanifest_<appid>.acf, then the server root, optionally a fixed path override
File and regular expression any file, one capture group in the pattern
File and JSON path any JSON file
Server variable an egg variable, empty or "latest" counts as not comparable
Purpur/Paper version file automatic for the Purpur, Paper and Leaf source types
Hytale version.txt automatic for the Hytale source type

All file reads go through the Wings daemon API, never SFTP.


Automatic setup

When "Detect sources automatically" is on in the settings, which is the default, every new or changed egg gets a source without anything being entered in the egg itself. Detected are the Steam AppID from the variable named next to +app_update in the install script, such as SRCDS_APPID or STEAMCMD_APPID, the GitHub repository from release URLs in the script, and fixed detection for Purpur, Paper, Leaf, Forge and Hytale, plus templates for Sponge, BungeeCord, Vanilla and TeamSpeak 3/6. A fixed Steam app wins over a GitHub download in the same script.

Every source remembers whether it was created automatically or by hand. A source created automatically follows further changes to the egg. A source you create or edit yourself is never changed automatically afterwards.

For eggs without a detected source the page shows a note with the count, a source can still be added by hand at any time with "Add source".


Testing

The action menu of a source has a "Test" action, pick a server of that egg and see installed version, latest version, status and reason immediately, without saving anything.


Egg images

Eggs without an image get one automatically, always stored as PNG through Pelicans own image function, in this order:

  1. The Steam game icon, when it is at least 128 pixels
  2. otherwise the Steam logo on a square background
  3. otherwise the small Steam icon
  4. the GitHub logo of the organization for Purpur, Paper, Leaf, Forge, Sponge, BungeeCord, Vanilla, TeamSpeak and GitHub sources, organizations only, never a personal avatar
  5. as a last resort the IGDB cover, exact name match only

An image you set yourself is never replaced automatically, even an SVG file counts as your own image. The action menu lets you fetch an image again, lock it so it is never changed automatically again, unlock it, replace it with an image chosen from a specific Steam app, or deliberately replace your own image with the automatically found one after a confirmation. The "Fetch missing images" button fetches all missing images in the background, the scheduled check does the same.