Skip to main content
SlurpNet mods.slurpgg.net
Launcher
▸ Manual · v1

SlurpDocs

How SlurpNet works, what each piece does, and why. Built for visitors and operators landing here without context — install / packs / CRC / status / privacy / API, in plain language.

Section · 01

Getting started

SlurpNet ships as a single Windows installer. The launcher manages every modpack on your machine — pinned versions, content-addressed downloads, auto-repair on launch, one-click rollback when a patch goes sideways.

Install

  1. Download SlurpNet-Launcher-Setup-11.0.5.exe (≈ 105 MB, Windows 10 / 11 x64). Direct CDN installer; no GitHub redirect, no updater manifest hop.
  2. Run it. The installer is code-signed; SmartScreen may pause once on first run — click More info → Run anyway.
  3. Sign in with Discord on first launch so the operator HMAC handshake completes (only the public Discord username is read; no DM scope).
  4. Pick a pack from the rack and hit Install. The launcher pulls the manifest, hashes every file, and only downloads the deltas you don't already have.
Auto-update is on by default. When a new launcher version ships, the installer-channel feed at /launcher/latest.yml drives a background download. You can opt out under Settings → Updates.

What the launcher does for you

Section · 02

How packs work

A SlurpNet pack is a versioned, hashed bundle of mods + config tuned for a specific game. Each pack is a "channel" the launcher subscribes you to. The pack repo on GitLab is the source of truth; the manifest pins exact versions and file hashes.

Pack lifecycle

  1. Operator commits to the pack repo (e.g. slurpnet-7dtd).
  2. CI builds the manifest, signs it with the SlurpNet metadata key, and publishes both files to /api/launcher-servers.json + .sig.
  3. Your launcher polls the feed every 30 s, validates the signature, and surfaces the new version with a "Update available" indicator.
  4. You hit Update. The launcher diffs the new manifest against your local file hashes and downloads only what changed. No full reinstall, no MO2 dance.

Channel categories

Every pack carries a category that drives the chip filter on the pack catalog:

SURVIVAL
7 Days to Die, Valheim, Enshrouded, Palworld, Necesse, Rust, DayZ, Icarus
ROLEPLAY
FiveM, RedM, Skyrim Together Reborn, New Vegas Together
HORROR
VEIN, Sons of the Forest
COMMUNITY
Stardew Valley

Categories are hand-curated in scripts/generate-pack-pages.js (the GAME_CATEGORIES map). Adding a new game means adding one line.

Section · 03

CRC & signature verification

Reproducibility is the load-bearing principle. The version you ran Tuesday is bit-for-bit the version you run Friday — no silent mod updates, no quiet config drift, no "it worked yesterday."

How verification stacks

  1. Metadata signature. The launcher pulls /api/launcher-servers.json and the matching .sig. The signature is verified against the public key baked into the launcher binary. Mismatch = the feed is rejected, no install proceeds.
  2. Manifest hash. The signed feed pins each pack's manifest sha256. The launcher fetches the manifest, re-hashes it, and refuses to proceed on mismatch.
  3. Per-file hash. Every entry in the manifest has a sha256. The launcher hashes the local file before launch — drift triggers auto-repair from the blob store.
If signature verification fails repeatedly, the launcher backs off and surfaces the error rather than installing unsigned content. You can verify the public key fingerprint in Settings → About.
Section · 04

Live status

The status page is generated from real probes, not third-party query services or stale Discord embeds. The launcher pings every server's game port directly; the page polls our own /api/status.json feed every 30 seconds.

Probe states

Section · 05

Privacy & telemetry

Telemetry is local-first and opt-in for everything beyond crash reports. The split between the public /api/servers.json and the private /api/launcher-servers.json is the entire reason this stack works the way it does.

What stays in the launcher

What the public site sees

Crash reports ship anonymized stack traces to Sentry by default. You can disable this in Settings → Privacy.
Section · 06

Public API

Every JSON feed the launcher reads is also publicly available. Build your own dashboards, Discord webhooks, or ops integrations against these endpoints.

GET /api/servers.json
Sanitized public feed. No IPs, no manifest URLs, no credentials.
GET /api/status.json
Live online/offline state per server. 30-s freshness.
GET /api/changelog.json
Launcher + pack changelog timeline.
GET /api/contributors.json
Cost-share contributor wall feed.
GET /api/products.json
Launcher + sidecar download metadata (latest version, size, sha).
GET /download
Compatibility alias for the current Windows launcher installer. Website links use the explicit versioned installer path.
GET /launcher/latest.yml
electron-updater channel manifest (auto-update source).

Signed feeds

The launcher-internal feed at /api/launcher-servers.json ships paired with .sig files signed with the SlurpNet metadata key. The public feeds are unsigned but lint-verified by CI. The launcher source and sync workflow live in GitLab.

Rate & caching

Cloudflare fronts the entire CDN with a 30 s edge TTL on JSON feeds. Don't hammer; the data is identical to what your launcher already polls.

Section · 07

Brand & design system

Everything you see on this site — typography, color, motion, the corner-crosshair poster framing — comes from the Continuity Interface design system. SlurpNet is one of several sub-brands (alongside Atlas, Bloom, OffScript, SystemCTRL).

Tokens

SIGNAL (citrine)
#D8FF32 — the SlurpNet mark. Earned, never decorative.
CANVAS
#000000 → #252220 across five surfaces (c0..c4).
INK
#F2EEDF bone-white, slightly warm, never pure.
STATE
OK #5BFFA6 · WARN #FFB300 · HOT #FF3B1F · COOL #42E8FF
FONTS
Big Shoulders Display · Inter Tight · JetBrains Mono

Motion verbs

The launcher and the website share 10 named motion verbs (LATCH · RAIL · WARM · STAMP · PULSE · RESOLVE · INSTRUMENT · REVEAL · ARCHIVE · SETTLE) plus four signal keyframes (sig-pulse · sig-blink · sig-scan · sig-meter). All motion respects prefers-reduced-motion via a universal clamp.

Section · 08

FAQ

Is this affiliated with any game publisher?

No. SlurpNet is a community modpack collective. We don't represent any game studio. Trademarks belong to their respective publishers.

Can I run a SlurpNet pack without the launcher?

For most packs, no — the modpack files are content-addressed and the manifest needs to be hashed before launch. Some external-client packs (FiveM, RedM) can connect with their own clients; the launcher just provides the connect-string and pack notes.

How do I get my own server added?

File an issue on the launcher project with the game, your operator handle, and a brief on the pack scope. The pack repo template lives in slurpnet-pack-template.

What does "operator-funded" mean on the cost-share page?

The rack hardware, uplink, and power are paid for by Zachy out of pocket. The /cost-share.html ledger is an honest bookkeeping page; nobody is required to contribute, and the recognition wall is opt-in only.

Where's the Discord?

Coming soon. The auth flow uses Discord OAuth, but the public community Discord invite isn't published yet. Watch /changelog.html for the link drop.