Files
horizon-airdef/docs
Ludovic Marie 40972de77a Benchmark: Horizon's server against vanilla 26.3 with mixed bots, as installed
The first published benchmark for the working version (docs/server.md
section 10, item 4). It ran the v2026.10.18.15 release, as install.sh
installs it, against vanilla 26.3 with 1, 10, 25 and 50 mixed bots. The
servers ran on the ThinkPad (quiet, under nice 19) and the bots on the
Mac mini over the tailnet. Vanilla's default game rules applied on both;
Horizon's server runs the locator bar now.

Both servers kept 20 TPS throughout. Horizon used 3.7 to 5.2 times less
memory. Its average tick was shorter with 1, 10 and 25 bots and 18 %
longer with 50, while it generated about twice the new terrain a second
(the exploring bots fly as fast as each server sends chunks). Its P99
was lower at every count.

benchmarks/server-mixed-2026-10-18/ holds the README, the report and the
machine's load; docs/server.md links it from sections 9 and 10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:26:26 +02:00
..
2026-10-16 21:42:01 -04: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.
  • 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)