Files
horizon-airdef/docs
Ludovic Marie f926d1d2b1 Modpacks from the mod browser: ported in the same step, mods loaded together
Importing a modpack from the Mods page (or `mods install`) now ports it right away
for the selected version, so Play works straight after. port-pack leaves a
namespace two carried mods both claim to none of them (YUNG's mods all ship
`yungsapi`, which made the game drop three of them), and the launcher applies
the game's first-wins rule before it starts a pack, listing what it left off.

Measured on Vanilla Perfected, Slimes Adventure and All the Mods 10 (docs/modpacks.md):
2, 20 and 42 mods ported, every world loads, no crash.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 18:52:12 +02:00
..

Horizon documentation

To play, use the launcher; the project site is playhorizon.dev. These pages are for developers.

Build and run

  • Build from source: your own copy of the game, resource preparation, cargo run.
  • Native client: options, controls, the dedicated server, horizon-ctl scripting, packaging, architecture.
  • Host a server: install horizon-server, prepare the game files, first run, server.toml, the commands, the web panel, backups, services and Docker; what works today and what doesn't yet.
  • Hosting a server: design: horizon-server, the design and the plan: install, server.toml, the CLI, the web panel, backups, services, Docker, and the bot benchmark against vanilla.
  • Agent control: what AI agents can drive in the launcher and the game, and the design of the control socket, horizon-ctl and MCP.
  • Graphics: the Simple and Advanced graphics settings, the graphics benchmark and what it measured.
  • Benchmark: Horizon against vanilla 26.3 and vanilla with performance mods, on the same machine, world, path and settings: what is measured, how it is kept fair, how to reproduce it.
  • Shader packs: how the renderer draws a frame, the Horizon WGSL shader pack format (stages, uniforms, pack.toml, hot reload), and the plan to translate OptiFine/Iris packs.
  • Extras: optional zoom, minimap, FPS and keystroke overlays and auto-reconnect, all off by default.
  • Mods: Horizon's own mod system (Rust, sandboxed WebAssembly), how to make and install mods, and what carries over from Java mods.
  • Modpacks: porting whole packs (ATM10 and smaller): import, inventory, carry-over, an agent per mod with a harness against the Java original, coverage, and how "10x" is measured.
  • Launcher: installs, updates and starts builds; its CLI and MCP server; releasing it.
  • Versioning: how releases are numbered from 0.2 (v0.2.x, launcher@0.2.x), how installs from before 0.2 get there, and the steps for the day 0.2 ships.
  • Resource packs: everything a 26.3 resource pack can change, whether Horizon honours it, and the proof.
  • Opt-in data collection: the consent, exactly what is sent, how it is stored and sent.
  • Benchmark report format: the versioned JSON every benchmark writes (game, launcher, tools/perf_bench.py), the local log and, with consent, the upload.
  • Menus: the title, world list, create world, multiplayer, options and pause screens share the launcher's design tokens and fonts (crates/horizon-theme), drawn by ui_theme over a live frozen backdrop (game/backdrop.rs, blurred and graded by post.rs). Options → Interface → Menu style switches to vanilla's screens (Classic, kept in horizon.txt; HORIZON_MENU_STYLE=horizon|classic overrides it, and scripted runs default to Classic). Title (webm), worlds, options, pause.

Parity

Architecture: world generation

Architecture: world data and simulation

The earlier Java track (no longer developed)