PACKRELAY.cloud
HOW IT WORKS

Server-attached modpacks, without the chaos

Join a PackRelay server and the launcher handles the rest. No manual installs, no version mismatches, no copying ZIPs in Discord. Here's exactly what happens.

THE PLAYER FLOW
  1. 1

    You join a server

    Connect through the launcher or a server browser link. The launcher detects that the server is PackRelay-enabled and reads its current manifest URL.

  2. 2

    The launcher fetches the signed manifest

    Manifests are small JSON files cryptographically signed by the server owner's key. The launcher verifies the signature before reading the file list — a tampered manifest never installs.

  3. 3

    Only the diff syncs

    The launcher compares your local files against the manifest's content hashes and downloads only what's changed. First-time installs are full; updates feel instant.

  4. 4

    You're in

    The game launches against the exact pack the server is running. Saves, screenshots, and your install of 7 Days to Die stay untouched.

TRUST MODEL

How packs stay safe

Three layers between the pack a server publishes and the files that land in your game directory.

Cryptographic signing

Every published manifest carries an Ed25519 signature tied to the server owner's key. Forged or modified manifests fail verification and never apply.

Automated scanning

Packs are scanned against known-bad signatures, archive bombs, and prohibited file types before they go live. Best-effort — see Terms §4.3 — but real.

Sandboxed installs

The launcher writes only into the pack-managed directory. Your worlds, saves, configs outside the pack, and your own mods stay outside its reach.

FOR SERVER OWNERS

Publish once, every player auto-syncs

The same protocol the player flow runs on top of — from the publishing side.

1
Generate a key

The PackRelay CLI mints an Ed25519 keypair. The public half lives on packrelay.cloud; the private half stays on your machine.

2
Sign and publish

Bundle your mod files into a manifest, sign it, and push. Every signed manifest goes through scanning before it becomes available to players.

3
Attach to your server(s)

Point one server — or several — at the published pack. Player launchers pick up the next manifest automatically; nobody has to copy ZIPs around in Discord.

ANATOMY OF A MANIFEST

What a signed pack actually looks like

Manifests are plain JSON. Here's a simplified example with the field-by-field breakdown.

manifest.json
{
  "name": "the-veiled-eclipse",
  "version": "1.4.2",
  "game": "7d2d",
  "gameVersion": "1.0.0",
  "files": [
    {
      "path": "Mods/EclipseLighting/ModInfo.xml",
      "sha256": "9f1c…ab4e",
      "size": 1842
    },
    {
      "path": "Mods/EclipseLighting/Config/lights.xml",
      "sha256": "5e2a…d091",
      "size": 5310
    }
  ],
  "publisher": "darkrising.gg",
  "signature": "ed25519:f0d3…7c81"
}
name + version
Globally unique pack identifier. Versioning is semver — bumping any segment forces a sync.
game + gameVersion
Currently 7d2d only; gameVersion lets a manifest target a specific game build so packs and saves don't drift.
files
Every file in the pack, with its path relative to the pack root and a sha256 of its contents. The launcher diffs against this list locally.
publisher
The server-owner account that signed this manifest. Players see the publisher in the launcher before sync starts.
signature
Ed25519 signature over the canonical-JSON form of every other field. Generated by the CLI; verified by every launcher.

Ready when you are

Get the launcher to join servers, or register a server to publish packs of your own.

Questions? Visit our support page.