Files
horizon-airdef/packaging/PLAY.txt
T
Ludovic Marie ed6af00ff8 horizon-server: install scripts, a Docker image, and boot services
- packaging/server/install.sh (Linux, macOS) and install.ps1 (Windows) install the latest release (or
  --version) from GitHub, check the SHA-256 GitHub publishes for it, and keep releases side by side:
  <dir>/current points at the one in use, so an update or a rollback is one link, and the game files
  prepared from the owner's Minecraft stay in <dir>/game-files across updates.
- packaging/server/Dockerfile builds the server and the engine; the prepared game files are mounted
  read-only, and the first start writes server.toml from HORIZON_EULA, HORIZON_WORLD, HORIZON_SEED,
  HORIZON_PORT, HORIZON_WHITELIST, HORIZON_PLAYERS and HORIZON_OP (`init` reads them too).
- `horizon-server service install|uninstall|print` writes and loads a systemd unit (user, or --system),
  a launchd agent, or a Windows task at logon. It runs the installer's launcher, so updates apply on
  the next restart.
- Releases build horizon-server and ship it beside horizon-ctl and horizon-prepare; PLAY.txt says how
  to run a server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 20:20:09 +02:00

53 lines
2.9 KiB
Plaintext

Horizon: Minecraft Java Edition 26.3, rewritten in Rust
=========================================================
Horizon is an unofficial fan project, not affiliated with, endorsed by or
connected to Mojang Studios or Microsoft. Minecraft is a trademark of Mojang
and Microsoft. This folder contains none of Minecraft's code, textures or
sounds: Horizon prepares them from your own copy of Minecraft Java Edition.
Playing through the Horizon launcher
Nothing to do here: the launcher installed this folder, prepares the
resources the first time you press Play, and starts the game. Use the
launcher to update, play or run a server.
Downloaded this archive directly?
Get the launcher instead; it installs, prepares and updates Horizon for you:
https://github.com/ludovic111/horizon/releases?q=launcher-v&expanded=true
More about Horizon: https://playhorizon.dev
To prepare this folder by hand you need Minecraft Java Edition 26.3, played
once from the official launcher, and Java 25 (a JDK). Then, in this folder:
./horizon-prepare --prepare --server-jar PATH/TO/server.jar
./horizon-prepare sounds (optional, for sound)
(Windows: horizon-prepare.exe.) The 26.3 server jar is the downloads.server.url
in your launcher's versions/26.3/26.3.json. Add --minecraft-dir PATH to both if
your launcher keeps the game elsewhere. Then run
./horizon-client (horizon-client.exe on Windows; on macOS the first time:
right-click > Open). horizon-client --help lists the options.
Controls: mouse look, WASD move, Space jump, Left Shift sneak, Left Ctrl
sprint, left click break, right click place/use, 1-9 or scroll for the hotbar,
E inventory, Q drop, F1 hide the HUD, F3 debug, Esc pause.
Scripts and AI agents
horizon-ctl, in this folder, plays the game from a terminal or a script:
./horizon-ctl launch --world Test --wait (horizon-ctl.exe on Windows)
./horizon-ctl state
./horizon-ctl help lists every command
horizon-ctl mcp is an MCP server for AI agents (stdio; add it to your MCP
client as the command horizon-ctl with the argument mcp). It finds the game
beside it or the version the launcher installed.
Running a server
horizon-server, in this folder, hosts a server with this game as its engine,
using the resources prepared above:
./horizon-server --dir my-server init the EULA, world, seed, port, who may join
./horizon-server --dir my-server start in the background; also stop, restart
./horizon-server --dir my-server status TPS, MSPT, players, RAM and CPU
./horizon-server --dir my-server cmd list
./horizon-server --dir my-server backup also backups, restore
./horizon-server --dir my-server service install start it at boot or login
Its settings are in my-server/server.toml. ./horizon-server help lists every
command; docs/server.md in the repository has the details.