STYGION Documentation Search the docs

The server list: pack, Keystone and recommended mods

What your server tells a launcher before anybody joins: the modpack, its Keystone version, its resource pack and the client mods and presets you recommend.

Keystone 0.1.2 Updated 4 min read
On this page 3 parts
  1. What it can say
  2. Recommending client mods and presets
  3. What the launcher does with it

The module announce ("Server list") adds a small block to the server list ping. A launcher that understands it — the STYGION Launcher does — reads it before a player joins. Everything in it is public: anybody who pings the server can read it. So it holds ids and version numbers — and, unless you switch it off, the address of your resource pack, which every joining player is sent anyway — and never a path on your server, a file or anything private.

What it can say

#
  • The modpack (announce.pack): a link or project id on Modrinth or CurseForge. Keystone works out the version from your mods/ folder, or you pin it. Set it with /keystone announce pack <link> or on the Server list screen of the editor.
  • Which Keystone runs here (announce.offer-client, on by default): only the version number, like 0.2.4. The launcher then offers players Keystone's client half in exactly that version — the two halves are built together. Off, and with nothing else set, the ping is a plain Minecraft ping.
  • Client mods and settings presets you recommend (announce.recommend): see below.
  • Your resource pack (announce.resource-pack, on by default): the resource-pack address and resource-pack-sha1 from server.properties — the address every joining player is sent anyway. Only an https address with its SHA-1 is announced. The launcher downloads it ahead through the same checks as any address from a stranger, verifies the hash and switches it on in the player's instance, so the join does not stop to download it.
  • Java, memory and a published manifest of every mod a player needs — see Every setting.

Recommending client mods and presets

#

One line per recommendation, in the announce.recommend list (the Server list screen writes the line for you):

Code
modrinth:AANobbMI@mc1.21.1-0.6.0 | en: Smoother frames | cs: Plynulejší obraz
modrinth:sodium-extra>=0.6.0 | required | en: The HUD needs it
curseforge:238222@5101366 | en: Shows what a block is
modrinth:AANobbMI or curseforge:394468 | en: The same mod on either portal
preset:stygion-quality | en: How the world was meant to look
  • modrinth:<project> or curseforge:<project id>, then @<version> for exactly one version (a Modrinth version id or number, a CurseForge file id), >=<version> for that one or newer (Modrinth, numbered versions), or nothing for the newest one that fits the player's game and loader.
  • <one> or <the other> names the same mod on both portals; the launcher takes it from the one its player prefers (Modrinth first unless they chose CurseForge).
  • preset:<id> for a launcher settings preset — one that comes with the pack, or one from the preset catalogue.
  • | required tells the player the server needs it. It is information: nobody is stopped at the door because of it.
  • | en: … and | cs: … are your reason, at most 120 characters each.

At most 12 lines travel; what does not fit in the ping is left out, and /keystone announce says which and why. Keystone itself needs no line.

What the launcher does with it

#

Before a join — from its Play button, a website link or its server list — and after a game in which the player joined a server from Minecraft's own multiplayer menu, the launcher lists what the instance does not have yet: each with your reason, the version and its size. The player ticks what they want.

  • Mods come only from Modrinth or CurseForge, looked up by the id in the ping, for exactly the player's game and loader, and checked against the portal's own hash. No mod is ever downloaded from your server or from an address it names. The one address taken from the ping is your resource pack's — https only, never a local or private address, bounded in size, kept only when its SHA-1 matches.
  • An older version than the player has is never ticked. The launcher says so, keeps theirs, and installs the older one only if the player ticks it explicitly. Withdrawn releases (not listed on Modrinth) are never offered, nor Keystone older than the launcher's safe minimum.
  • Presets apply only what the launcher's preset format allows (game options from an allowlist, the garbage collector and a heap within the player's own memory) — never JVM arguments from a server — with a preview and a way back.
  • What it adds stays through pack updates. Players can turn the offer off for one server or for all of them.

Did this page help?

Opens the feedback panel with this page attached. It lands in the same queue as everything else.