Technical Reference
For developers who host an instance themselves, integrate a Minecraft server with the whitelist, or want to know exactly what the launcher fetches and sends.
Architecture
Loading diagram…
- The launcher is a Tauri 2 desktop app (Rust core, web UI). It talks to the Neko API over HTTPS, resolves DNS TXT records itself, and downloads files from wherever the manifest points.
- The Neko API serves instances, files, whitelist, applications, invite links and entry fees. Public routes are under https://api.neko-launcher.com/api/v1/…; interactive documentation is at https://api.neko-launcher.com/docs.
- The CDN hosts launcher updates, the JSON schemas and images.
Two documents describe an instance
| Document | Schema | Served by the API at |
|---|---|---|
| Instance configuration | schema/neko-launcher.json v2 | GET /api/v1/instances/<name> |
| Instance manifest | schema/nekolauncher-manifest.json v2 | GET /api/v1/instances/<name>/install |
Both may be self-hosted and discovered through DNS. The launcher accepts each either as the bare document or wrapped in the API envelope { "code": 200, "message": "OK", "data": … }.
Pages
- Instance configuration
- Instance manifest
- DNS discovery
- HTTP headers and authentication
- Announcement feed
- Social links
- Server API
- Whitelist API and webhook
- Deep links
- MCP server
Public API routes used by the launcher
| Route | Purpose |
|---|---|
| GET /instances | Official instances for the home screen. |
| GET /instances/discover?search= | Discover list and name search, with access computed per player. |
| GET /instances/<name> | Instance configuration. Locked instances answer 403 with branding only (name, icon, description, no-access message) so the launcher can still show the page. |
| GET /instances/<name>/install | Manifest. Bare JSON array; an empty array when the player has no access. |
| GET /instances/<name>/versions | Published versions and changelogs. |
| GET /instances/<name>/announcements | Announcement feed. Bare JSON array. |
| GET /instances/<name>/application-form | Apply form and, with a Neko JWT, the viewer's state. |
| POST /auth/minecraft | Exchanges a Microsoft access token for a Neko JWT (applications, slips). |
| GET /invites/<code> | Resolves an invite link. |
All of these are read with the identity headers described in HTTP headers.