mirror of
https://github.com/horizon-rust/horizon.git
synced 2026-11-13 04:33:48 -10:00
docs/api/ gets one page per surface other programs build on (mods, shaders, agent control, servers, the launcher, data formats), each with an overview measured from the source, the guide, the generated reference, examples, its stability, what is not there yet and a changelog, plus the policy every API follows (docs/api/stability.md): a version per API, semver lines, experimental / preview / stable, deprecation windows, compatibility tests and the level of every part today. The website gets a "Build on Horizon" page (website/docs/apis.md) that summarises them and links the repository's pages. Co-Authored-By: Claude Opus 5.5 <[email protected]>
2.7 KiB
2.7 KiB
Launcher API
What a player's agent, a script or a pack maker can do with horizon-launcher: install and run versions, manage
accounts, settings, mods, modpacks and hosted servers, from a terminal or over MCP. The launcher itself:
launcher/README.md.
Overview
Every page of the launcher has a command, and every command but three has an MCP tool with the same arguments; a tool
runs the command with --json. Tools that change the player's things for good need confirm: true; with No AI on,
the MCP server is off.
| Count | |
|---|---|
| Commands | 46: versions, installs, play, the server, notes, links, accounts, settings, logs, updates, data collection, modpacks, mods, hosted servers, MCP, benchmark |
| MCP tools | 43, plus the game's tools as game_<tool> (agent-control.md) |
| Modpack formats it imports | 3: a Modrinth .mrpack, a CurseForge zip, an instance folder |
Guide
horizon-launcher versions,horizon-launcher install latest,horizon-launcher play.- Modpacks:
horizon-launcher modpack import <file>, thenmodpack portandmodpack play(modpacks.md). - For an agent:
horizon-launcher agent-configprints how to connect a client tohorizon-launcher mcp.
Reference
launcher-commands.md, generated from launcher/src/cli.rs: every command, its arguments
and its MCP tool.
Examples
horizon-launcher versions --installed --json
horizon-launcher mods search minimap --kind mod --json
horizon-launcher servers create --name "Weekend" --player Alex --json
Stability
Preview (stability.md): command names, arguments and MCP tool names are the contract; --json
output shapes are not yet described in the reference.
Not there yet
- A Horizon modpack manifest. A pack made for Horizon (not a port of a Java pack) needs its own file: the pack's
id, name and version; the Horizon API lines and the release line it needs; its
.hmodmods (id, version, SHA-256, where to download it, client, server or both); resource packs; default settings; and whether it has a server side. One manifest serves the launcher,horizon-server(a server installs the server side of the same pack) and the mod browser. Designed from what a pack maker does, versioned per stability.md, with a schema test. - JSON output schemas for every command, in the generated reference, so MCP tools declare their output.
- A version in MCP
serverInfoand--jsonoutput, as for agent control. - Compatibility tests: golden
--jsonoutput per command.
Changelog
- Unversioned so far: the command table and the generated reference are the contract.