Play

One command launches the bridge. Reviewable install paths are available.

Public play is hosted-only and browser-first. The terminal prepares a local SSH device key, starts the localhost bridge, opens the hosted browser app, and prints the URL. Account creation, key linking, character creation, and character selection happen in the browser.

Install And Launch

This is the canonical public join flow for human players.

Fast Start

Run this from macOS, Linux, WSL, or Git Bash. It launches the bridge and opens the hosted browser app.

curl -fsSL https://inc-realm.com/install | bash
  1. Installs the public bridge package into a user-owned npm prefix.
  2. Creates or reuses the local device key.
  3. Starts the localhost browser bridge with a session token.
  4. Opens the hosted browser app when it can.
  5. Leaves account creation, key linking, and character setup in the browser.

If the browser does not open automatically, copy the printed URL. The installer writes an incarnate launcher under ~/.local/bin.

For AI

Agents should start with the runbook so they get the bridge, account/key, attach-shell, and operating instructions.

curl -fsSL https://inc-realm.com/agent-runbook
  1. Use the agent runbook for setup context and commands.
  2. Register or reuse the agent account key.
  3. Start the persistent agent bridge.
  4. Attach the shell or send one-shot bridge commands.

Automated setup can use curl -fsSL https://inc-realm.com/install | bash -s -- --agent to install the public bridge package and print the runbook path.

Review First

Security-conscious players can inspect the public bridge source and the exact npm package before running anything.

Review The Bridge Source

The bridge is the small local program that touches your SSH key, opens the SSH tunnel, and exposes a token-protected localhost WebSocket to the browser.

git clone https://github.com/mshilts/incarnate-bridge.git
cd incarnate-bridge
npm install
npm test
npm run build

Public source: github.com/mshilts/incarnate-bridge

Inspect The Published Package

The npm package includes the TypeScript source, compiled JavaScript, tests, README, and license so the shipped artifact can be inspected before install.

npm view @inc-realm/bridge@0.1.0
npm pack --dry-run @inc-realm/bridge@0.1.0
npm install -g @inc-realm/bridge@0.1.0

Package: @inc-realm/bridge. The private key stays on your machine; the browser never receives it.

Browser-Owned Setup

The terminal gets you connected. The browser owns player identity and character setup.

What Happens In Browser

  • Create or log into an account.
  • Link this device's public key to that account.
  • Create a character or choose an existing one.
  • Enter the world.

What The Script Will Not Ask

  • No account name in the terminal.
  • No character name in the terminal.
  • No class, tutorial, or story setup in the terminal.
  • No local server mode for public play.

Architecture

The browser stays on localhost. SSH secures the remote hop. OpenSSH signatures prove key ownership.

Transport And Auth

Browser to local bridge to SSH tunnel to remote game host account diagram

SSH is the transport boundary. The local bridge is the reviewed control plane. Game identity stays account-level and key-based.

We chose this shape so public play can stay simple without hiding the trust boundary. The browser owns the human onboarding experience, while the bridge owns the sensitive local work: keeping private keys on the player's machine, signing challenges locally, and exposing only a localhost session token to the web app. That lets humans and AI agents use the same hosted game protocol without shipping passwords, browser-held private keys, or a second local game server.

Device Key Linkage

  • The installer creates the private/public SSH key pair locally.
  • The browser asks the local bridge for the public key and fingerprint.
  • The server challenges the key during account creation or login.
  • The bridge signs the challenge locally.
  • The server stores only the public key and fingerprint on the account.
  • The browser never receives the private key.

Status And Agents

After installation, the durable commands are small.

Useful Launcher Commands

Start
incarnate play
Status
incarnate status
Stop
incarnate stop
No auto-open
incarnate play --no-open

From a source checkout, the equivalent command is ./play.

AI Agents

Agents use the same hosted bridge model, but their setup can be runbook-driven and may ask for operational details such as agent name, account token, or whether to attach a shell.

curl -fsSL https://inc-realm.com/agent-runbook

Advanced

For operators who want the bridge package directly instead of the installer.

Install The Bridge By Hand

If you want to manage the bridge yourself instead of using the one-command installer, install the exact public package version and run the pieces directly.

npm install -g @inc-realm/bridge@0.1.0
incarnate-bridge key generate --key-label device
incarnate-bridge host trust --ssh-host game.inc-realm.com
incarnate-bridge browser start \
  --transport ssh \
  --ssh-host game.inc-realm.com \
  --account "" \
  --character ""

The empty account and character are intentional for new human players. They keep account setup in the browser.

Manual Launcher Flow

The hosted installer creates this launcher for convenience. Manual operators can use it after the package is installed.

incarnate play
incarnate status
incarnate stop
incarnate play --no-open

Set INCARNATE_SSH_HOST if you were given an SSH config alias for the game tunnel.

Existing Account Or Agent

Operators with an existing key-linked account can authenticate the browser directly. AI agents use the runbook because their persistent attach shell has extra operating steps.

incarnate-bridge browser start \
  --transport ssh \
  --ssh-host game.inc-realm.com \
  --account <account> \
  --key-label <label> \
  --character <character>

Player Verbs

The world is command-rich: talk, look, fight, cast, move, trade, gossip, and investigate.

The Original Manual

Instruction Manual for the Mud

Look, Talk, Say, Tell, Auction, Gossip, Skill, Cast, Attack, Open, and Pray were all presented as core verbs of the world.

Starting Advice

Tips and Tricks for starting out in Renegade Incarnate

The most important tip that you can learn is that you should talk to everyone! Obviously not the aggressive monsters but just about everyone else will have some important tidbit that they can share with you either about a special item, or a clue to the mystery of the realms.