--- import { brand } from '../../lib/brand.mjs'; /** * The get-started CTA (PLAN.md §10, the `/` row), built around the trap in §10's * "installation path": a "Runic Gateway install" is two independent installs. The installer * binary sets up the shard side only and never contacts the website; the website is a * separate Docker deployment. * * That belongs on the homepage rather than being saved for the docs. It is the single * misunderstanding most likely to make an evaluator think the software is broken, it costs * two sentences to prevent, and §13 calls the installation path the priority of the whole * project. Saying it here is what makes the docs a confirmation rather than a surprise. * * The two halves are ordered site-first because that is the order they must be done in: the * shard side ends by pasting four values into the site's admin panel, which has to exist. * * Both "read the docs" links point at `/docs/` rather than at a page inside the journey. * Phases 7 and 8 write those pages and own their slugs; guessing one now would put a URL in * this file that nothing checks and that a later phase would have to remember to fix. */ ---

Getting started

An install is two installs

This trips up almost everyone once. The website and the game-side bridge are separate deployments on separate machines, and neither one installs the other. Doing them in order takes an evening.

1 The site

A Docker Compose deployment on whatever host serves your community — a small VPS is plenty. Pull the images, bring it up, create the first admin, then install a game module from the admin panel.

2 The game side

One binary, run on the machine the game server already lives on. It syncs the plugin, installs the sidecar as a service, and prints four values. You paste those into Admin → Shard, and the two halves find each other.