2 Home
uncaney edited this page 2026-08-14 14:00:34 +02:00

Pandapi

Pandapi: an API-first Minecraft launcher for advanced automation.

Pandapi is the control layer of ekaii-launcher, a Rust/gpui Minecraft launcher forked from Moulberry's PandoraLauncher. Everything the GUI can do (create, configure, launch and kill instances, manage accounts, install content, read logs, drive Microsoft login) is a command on a local NDJSON API, and an event stream mirrors every state change the UI sees. The GUI is just one client of the same internal message bus.

ekaii-launcher is the ekaii-branded distribution based on Pandapi. The fork is its own project: the big features documented here are not being upstreamed.

What you get

Commands 110 commands in 17 groups, NDJSON (one JSON object per line)
Transports Unix socket (macOS/Linux) and Windows named pipe, fully trusted; opt-in TCP + RFC6455 WebSocket on the same port
Self-description api.describe returns every command, all 19 event types, and a machine-readable security block
Security (network mode) Scoped bearer tokens, local-only minting, a path jail, execution-vector fields denied over the network
Events Event stream v2: monotonic seq, 4096-event replay ring, server-side filters, op lifecycle events, semantic game.* events, opt-in console tee
Orchestration Async ops with ops.wait, instances.start {wait}, structured errors {code, message, retryable}
Headless --headless runs the API with no GUI; the launcher binary doubles as a CLI client (--api)
Status Shipped and released as v5.7.1 (protocol 1), installed and tested

Why

Minecraft launchers are GUI-first; automation is an afterthought bolted onto config files. Pandapi inverts that: the API is the product. That makes the launcher scriptable end to end, from provisioning a fleet of instances in CI, to bisecting a broken modpack, to running a headless game host driven entirely by scripts or an LLM agent.

One boundary to keep in mind: Pandapi launches and observes the real Minecraft client. It does not speak the Minecraft protocol as a headless bot and cannot inject in-game input or chat. For in-world actors (Mineflayer, SoulFire, and friends) and how Pandapi acts as their orchestration hub, see Ecosystem.

Pages

Page What it covers
Quickstart First contact: the --api CLI, raw socket NDJSON, a Python client, api.describe, first commands, headless mode
Concepts Transports and the trust model, scopes, the path jail, async operations, event stream v2 (seq/replay), structured errors, addressing and consistency
Command-Reference All 17 groups / 110 commands with one-line descriptions, plus the 19 event types
Network-Mode-and-Security Enabling TCP/WebSocket, minting tokens, scopes, the path allowlist, denied fields, the no-TLS rule and tunnels
Automation-and-AI Driving Pandapi from scripts and from LLMs; IaC patterns; webhooks and metrics; MCP; agent loops
Ecosystem The roadmap: Pandapi as the hub for Mineflayer, SoulFire, MCC, ZenithProxy, the web client and MCP

In-repo documentation

Document Content
docs/API.md The full command reference: every parameter, response shape and error case
docs/CONTROL-ARCHITECTURE.md The machinery underneath: message bus, dispatch loop, ops registry, state on disk, how to extend the API
docs/ECOSYSTEM.md The ecosystem roadmap and target architecture in full