Files
horizon-airdef/docs/README.md
T
Ludovic Marie 385abe5f0c docs/versioning.md: the 0.2 numbering, the way over for old installs, the go-day steps
Ludovic decided (2026-10-21) that the next release is 0.2 for both the game and the launcher, with one
clear scheme instead of vYYYY.MM.DD(.N) and launcher-vX.Y.Z. This page is the design the other 0.2
pull requests implement:

- tags vX.Y.Z and launcher@X.Y.Z (launcher-v0.2.0 is taken), on a line in .github/release-line.txt;
  betas stay pre-releases under their final tag; semver pre-release tags reserved for previews;
- one order for every reader: each 0.2 tag above every tag from before;
- how release.yml, launcher.yml and promote.yml map onto it (HORIZON_VERSION, HORIZON_LAUNCHER_TAG);
- what launchers and servers from before 0.2 do with it, and the bridges that move them
  (launcher-v0.17.0, the last dated game release made latest before v0.2.0);
- the orchestrator's steps for the day Ludovic says go, freeze off included.

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

5.2 KiB

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)