Docs menu

API reference

Data formats

The files Horizon writes that other tools may read: benchmark reports, telemetry, settings, mods, release checksums and worlds. Each entry names its version field, its documentation and its level (stability.md).

Overview

FormatWhereVersionLevelDocumented in
Benchmark reportthe benchmark's output, the local log, uploads"format": "horizon-benchmark-report", "version": 1stablebenchmark-report.md
Telemetry batchPOST /v1/batch from the launcher"schema": 1stabletelemetry.md
Telemetry consenttelemetry/consent.json in the game folder"version": 2stabletelemetry.md
Mod package.hmod: a zip with horizon-mod.toml, mod.wasm, assets/, data/the manifest's apipreviewmods.md, mods-reference.md
Mods turned onhorizon-mods.txtnonepreviewmods.md
Horizon settingshorizon-graphics.txt, horizon-extras.txt (key:value, as options.txt)none: unknown keys fall back to defaultspreviewgraphics.md, extras.md
Server settingsserver.tomlits keysstableserver-reference.md
Control endpointsthe game's socket file (TCP form), .horizon/api.jsonnonepreviewagent-control.md, server-reference.md
Release checksumsSHA256SUMS, SHA256SUMS.sig on releases since signing began (#1011)the signed text names the tagstablesecurity.md
Worldsthe world foldervanilla 26.3's (DataVersion)vanilla'sworld-data.md

Worlds are vanilla's format, so any tool that reads a 26.3 world reads a Horizon world; Horizon adds itself to level.dat's ServerBrands as vanilla's server does.

Rules for every format

  • A reader ignores fields it doesn't know, and refuses a version newer than it knows with a clear message.
  • An optional field may be added in the same version; renaming, removing or changing the meaning of a field makes the next version, and Horizon's own readers keep reading the older ones for the deprecation window.
  • Each versioned format has a sample file of every version its reader accepts, read by a test.

Not there yet

  • Versions for the settings files and the control endpoint files (a version line or field).
  • Sample files and reader tests for every versioned format.
  • A generated schema for the benchmark report and the telemetry batch from their Rust types, checked by a test like the references.

Changelog

  • Benchmark report version 1; telemetry schema 1, consent version 2.

Edit this page on GitHub · Spotted something wrong? Open an issue or ask on Discord.

Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.