Files
RustNotMC/docs/launcher-commands.md
T
SashegDev 874b6f20c2 Клиент: начальный импорт кодовой базы
Основа — Horizon (MIT). История апстрима не переносится: этот репозиторий ведёт свою.
2026-10-29 22:04:28 +03:00

23 KiB

Launcher commands

Every command of horizon-launcher, and the tool horizon-launcher mcp offers for it. A tool's arguments are the command's, in snake_case. A tool runs the command with --json and returns what it printed. The tools that change the player's things for good need confirm: true. The tools that send something or reach other people say "only when the player asks". The game's own tools, game_*, are in horizon-ctl-commands.md. With No AI on, mcp and agent-config are hidden and refuse; every other command stays. See agent-control.md.

horizon-launcher versions

List Horizon releases, or the installed versions.

horizon-launcher versions
  • --installed: Only the versions installed here (no network)

MCP: versions.

horizon-launcher install

Download and install a release (a tag such as v2026.10.13, or "latest").

horizon-launcher install <TAG>
  • TAG

MCP: install.

horizon-launcher remove

Remove an installed version.

horizon-launcher remove <TAG>
  • TAG

MCP: remove, needs confirm: true.

horizon-launcher prepare

Prepare a version's resources from your own Minecraft install, or from Mojang.

horizon-launcher prepare
  • --minecraft: The game folder of the official launcher, Prism Launcher, MultiMC, the Modrinth App, ATLauncher or GDLauncher (default: the launcher's, then every launcher's default)
  • --download: Download Minecraft from Mojang for the signed-in account that owns it, instead of using an install

MCP: prepare.

horizon-launcher play

Start the client (needs a signed-in Microsoft account that owns Minecraft: Java Edition).

horizon-launcher play
  • --instance: The instance to play (its name or id; default: the selected one)
  • --world: Open or create this world (a folder under saves) at once
  • --creative: Creative mode for a new world
  • --join: Join a friend's world with its invite code
  • --server: Join this server at once: an address, or a server of the list by name or position
  • --arg: An extra argument for the game, passed through as-is (repeatable), for example --server-thread

MCP: play, then the game_* tools.

horizon-launcher server

Run a dedicated server here; type commands into its console.

horizon-launcher server

MCP: server, server_command, server_log, server_stop.

horizon-launcher native-build

Native mods (experimental, docs/native-mods.md): compile mixin bundles on the Horizon revision they pin, with the launcher's own Rust, as the version the "Native mods" instance plays. Not sandboxed: the mods' code runs with your rights.

horizon-launcher native-build [FOLDER]
  • FOLDER: A mod folder (horizon-mixin.toml, or an unpacked .hnmod), or a folder of them (default: the native mods installed and turned on in the instance)
  • --instance: The instance whose installed native mods to build, and which then plays the build (default: the selected one; the game's own home builds into the Native mods instance)
  • --trust-native-code: You read the mods' source and trust it with full access to this computer

MCP: none: the player's switch.

horizon-launcher notes

Show a release's patch notes (default: the newest).

horizon-launcher notes [TAG]
  • TAG

MCP: notes.

Show the Discord, sponsor and website links.

horizon-launcher links

MCP: links.

horizon-launcher account list

The signed-in accounts and which one plays.

horizon-launcher account list

MCP: account_list.

horizon-launcher account sign-in

Sign in with a Microsoft account in your browser (device code). Play needs one that owns Minecraft: Java Edition.

horizon-launcher account sign-in

MCP: account_sign_in.

horizon-launcher account sign-out

Sign out: the account's tokens leave the keychain.

horizon-launcher account sign-out <WHO>
  • WHO: Its name or UUID

MCP: account_sign_out, needs confirm: true.

horizon-launcher account select

Play as this account, or as one of your offline names.

horizon-launcher account select <WHO>
  • WHO

MCP: account_select.

horizon-launcher account offline

Play offline (LAN, offline-mode servers) beside a signed-in account that owns the game: as NAME (kept to switch back to; 3 to 16 letters, digits or _), or as the name the game made up.

horizon-launcher account offline [NAME]
  • NAME

MCP: account_offline.

horizon-launcher account forget-offline

Forget one of your offline names.

horizon-launcher account forget-offline <NAME>
  • NAME

MCP: account_forget_offline.

horizon-launcher account skin

Show or set an offline name's skin and cape: a 64x64 (or 64x32) skin PNG, a 64x32 cape PNG, the model. Kept by the launcher and given to the game when that name plays.

horizon-launcher account skin <NAME> [FILE]
  • NAME
  • FILE: The skin's PNG
  • --model: classic or slim arms
  • --cape: The cape's PNG
  • --no-skin: Back to the default skin
  • --no-cape: Take the cape off

MCP: account_skin.

horizon-launcher settings

Show the launcher's settings, or set one (the Settings page): selected-version TAG, minecraft-dir PATH, server-dir PATH ("default" resets a folder), install-new-versions on|off, opening-animation on|off, proxy http://host:port ("default" removes it), while-playing stay|minimize|hide (what the window does while the game runs), language system|en|fr|ru (the window's language; system follows the computer's), accent violet|blue|teal|green|amber|red|pink, background PATH (a picture behind Home; "default" shows Horizon's landscape).

horizon-launcher settings [KEY] [VALUE]
  • KEY (selected-version, minecraft-dir, server-dir, install-new-versions, opening-animation, proxy, while-playing, language, accent, background)
  • VALUE: The new value (with KEY)

MCP: settings.

horizon-launcher game-args

Show or set the extra arguments the game starts with (for example --server-thread); quotes group a word with spaces in it.

horizon-launcher game-args [ARGS]
  • ARGS: Omit to show the current arguments

MCP: game_args.

horizon-launcher share-log

Upload an instance's latest.log to mclo.gs (a paste service for Minecraft logs) and print its link, for a bug report: only when the player asks. The home folder, the user name and the account names are taken out first; the link expires after 90 days unread.

horizon-launcher share-log
  • --instance: The instance (default: the selected one)

MCP: share_log, only when the player asks.

horizon-launcher unshare-log

Delete a log shared with share-log: the ":" it printed.

horizon-launcher unshare-log <SHARED>
  • SHARED

MCP: unshare_log, needs confirm: true.

horizon-launcher logs

Print the end of the game's log (logs/latest.log in the game folder), or its newest crash report.

horizon-launcher logs
  • --lines: How many lines of latest.log
  • --crash: The newest crash report instead

MCP: logs.

horizon-launcher update

Look for a newer Horizon release and launcher, and install them.

horizon-launcher update
  • --check: Only report what is available

MCP: update.

horizon-launcher desktop-entry

Linux: put Horizon in the applications menu (an entry and the icon, under $XDG_DATA_HOME), or take it out with --remove.

horizon-launcher desktop-entry
  • --remove: Remove the entry and the icon, and stop adding them back

MCP: desktop_entry.

horizon-launcher data status

What is allowed, the install ID and how many items wait (the default).

horizon-launcher data status

MCP: data_status.

horizon-launcher data allow

Turn kinds on: performance, crashes, bugs, benchmarks, or all.

horizon-launcher data allow <KINDS>...
  • KINDS

MCP: data_allow, only when the player asks.

horizon-launcher data deny

Turn kinds off: performance, crashes, bugs, benchmarks, or all.

horizon-launcher data deny <KINDS>...
  • KINDS

MCP: data_deny.

horizon-launcher data show

Print exactly what would be sent.

horizon-launcher data show

MCP: data_show.

horizon-launcher data delete

Delete everything sent from here, and what waits, and take a new install ID.

horizon-launcher data delete

MCP: data_delete, needs confirm: true.

horizon-launcher data send

Send what is waiting now.

horizon-launcher data send

MCP: data_send, only when the player asks.

horizon-launcher data bug

Send a bug report you write; it is printed first, as it would leave.

horizon-launcher data bug <TEXT>
  • TEXT
  • --log: Add the end of the game's log (scrubbed, without chat)
  • --yes: Send without asking

MCP: data_bug, only when the player asks.

horizon-launcher data benchmark

Upload a benchmark report (docs/benchmark-report.md); it is printed first.

horizon-launcher data benchmark <FILE>
  • FILE
  • --yes

MCP: data_benchmark, only when the player asks.

horizon-launcher instance list

The instances, each with its game folder (* = the one Play starts).

horizon-launcher instance list

MCP: instance_list.

horizon-launcher instance create

Make an instance: empty but for your options and name, or a copy of another one's worlds, options and packs.

horizon-launcher instance create <NAME>
  • NAME
  • --copy: The instance to copy (its name or id)

MCP: instance_create.

horizon-launcher instance rename

Rename an instance (its folder stays).

horizon-launcher instance rename <INSTANCE> <NAME>
  • INSTANCE
  • NAME

MCP: instance_rename.

horizon-launcher instance icon

Set an instance's icon: a block or item name from your prepared files (grass_block), a colour (#3fa7d6), or none.

horizon-launcher instance icon <INSTANCE> <ICON>
  • INSTANCE
  • ICON

MCP: instance_icon.

horizon-launcher instance group

Put an instance in a sidebar group, or take it out with no group.

horizon-launcher instance group <INSTANCE> [GROUP]
  • INSTANCE
  • GROUP

MCP: instance_group.

horizon-launcher instance select

Make Play start this instance.

horizon-launcher instance select <INSTANCE>
  • INSTANCE

MCP: instance_select.

horizon-launcher instance version

Keep an instance on one installed Horizon version, or "latest" to follow updates again.

horizon-launcher instance version <INSTANCE> <VERSION>
  • INSTANCE

MCP: instance_version.

horizon-launcher instance export

Export an instance (or a port) to share: its settings, packs, Horizon mods and the worlds named, as a .mrpack (resource packs from Modrinth listed by download) or a zip. Never logs, screenshots or account data; worlds go without their per-player files.

horizon-launcher instance export [INSTANCE]
  • INSTANCE: The instance (default: the selected one)
  • --format (mrpack, zip)
  • --world: A world to put in it (its name or folder); repeat for more
  • --out: Where to write it (default: ".mrpack" in the current folder)

MCP: instance_export.

horizon-launcher instance launch

Show or set what runs around an instance's game: a shell command before it (the game starts only if it succeeds), a wrapper it runs through (nice -n 5), and environment variables ("NAME=value NAME2=value"). An empty value clears one. On Linux, also GameMode, MangoHud and the dedicated graphics card, when the computer has them.

horizon-launcher instance launch <INSTANCE>
  • INSTANCE
  • --pre-launch
  • --wrapper
  • --env
  • --gamemode: Linux: run it through GameMode (gamemoderun), on or off
  • --mangohud: Linux: MangoHud's overlay, on or off
  • --dedicated-gpu: Linux: the dedicated graphics card (DRI_PRIME, or NVIDIA's offload), on or off

MCP: instance_launch, needs confirm: true.

horizon-launcher instance shortcut

Put a shortcut on the desktop that plays an instance (play --instance): a .desktop file (also in the applications menu) on Linux, an app on macOS, a .lnk on Windows.

horizon-launcher instance shortcut [INSTANCE]
  • INSTANCE: The instance (default: the selected one)
  • --remove: Move the instance's shortcuts to the trash instead

MCP: instance_shortcut.

horizon-launcher instance import

Import what a file is, as dropping it on the window does: a shared instance (a .mrpack without mod loaders, such as instance export writes, or a game folder zip) becomes a new instance; a Java modpack goes to the Modpacks import; a resource or shader pack into the instance (default: the selected one).

horizon-launcher instance import <FILE>
  • FILE
  • --instance: The instance a pack goes into

MCP: instance_import.

horizon-launcher worlds list

The worlds: name, mode, version, last played and size (the default).

horizon-launcher worlds list
  • --instance: The instance (default: the selected one)

MCP: worlds_list.

horizon-launcher worlds backup

Zip a world into the instance's backups/ folder, as the game's Make Backup does.

horizon-launcher worlds backup <WORLD>
  • WORLD: Its folder or name
  • --instance

MCP: worlds_backup.

horizon-launcher worlds copy

Copy a world beside it, as " (1)".

horizon-launcher worlds copy <WORLD>
  • WORLD
  • --instance

MCP: worlds_copy.

horizon-launcher worlds delete

Move a world to the system's trash.

horizon-launcher worlds delete <WORLD>
  • WORLD
  • --instance

MCP: worlds_delete, needs confirm: true.

horizon-launcher worlds datapack-list

A world's data packs, and which are on.

horizon-launcher worlds datapack-list <WORLD>
  • WORLD
  • --instance

MCP: worlds_datapack_list.

horizon-launcher worlds datapack-add

Copy a data pack zip into a world (the game turns it on when the world opens).

horizon-launcher worlds datapack-add <WORLD> <FILE>
  • WORLD
  • FILE
  • --instance

MCP: worlds_datapack_add.

horizon-launcher worlds datapack-remove

Move a world's data pack to the system's trash.

horizon-launcher worlds datapack-remove <WORLD> <PACK>
  • WORLD
  • PACK: Its file name, with or without .zip
  • --instance

MCP: worlds_datapack_remove, needs confirm: true.

horizon-launcher packs list

The resource and shader packs, and which are on (the default).

horizon-launcher packs list
  • --kind (resource, shader): Only this kind
  • --instance: The instance (default: the selected one)

MCP: packs_list.

horizon-launcher packs add

Copy a pack file in: a resource pack .zip, a shader pack .zip or a .hshader.

horizon-launcher packs add <FILE>
  • FILE
  • --instance

MCP: packs_add.

horizon-launcher packs on

Turn a pack on (a resource pack goes on top; a shader pack replaces the one that was on).

horizon-launcher packs on <PACK>
  • PACK: Its file name or title
  • --kind (resource, shader)
  • --instance

MCP: packs_on.

horizon-launcher packs off

Turn a pack off.

horizon-launcher packs off <PACK>
  • PACK
  • --kind (resource, shader)
  • --instance

MCP: packs_off.

horizon-launcher packs remove

Turn a pack off and move it to the system's trash.

horizon-launcher packs remove <PACK>
  • PACK
  • --kind (resource, shader)
  • --instance

MCP: packs_remove, needs confirm: true.

horizon-launcher screenshots list

The screenshots, the newest first, with their files (the default).

horizon-launcher screenshots list
  • --instance: The instance (default: the selected one)

MCP: screenshots_list.

horizon-launcher screenshots delete

Move a screenshot to the system's trash.

horizon-launcher screenshots delete <SCREENSHOT>
  • SCREENSHOT: Its file name, with or without .png
  • --instance

MCP: screenshots_delete, needs confirm: true.

horizon-launcher multiplayer list

The servers of the game's Multiplayer screen (the default).

horizon-launcher multiplayer list
  • --instance: The instance (default: the selected one)

MCP: multiplayer_list.

horizon-launcher multiplayer add

Add a server to the list.

horizon-launcher multiplayer add <ADDRESS>
  • ADDRESS: Its address, as in the game's Add Server (host or host:port)
  • --name: Its name in the list (default: Minecraft Server)
  • --instance

MCP: multiplayer_add.

horizon-launcher multiplayer remove

Remove a server from the list: its position from 1, name or address.

horizon-launcher multiplayer remove <SERVER>
  • SERVER
  • --instance

MCP: multiplayer_remove, needs confirm: true.

horizon-launcher modpack list

The imported packs and their coverage (the default).

horizon-launcher modpack list

MCP: modpack_list.

horizon-launcher modpack import

Import a .mrpack, a CurseForge zip or an instance folder, and write its coverage report.

horizon-launcher modpack import <PATH>
  • PATH

MCP: modpack_import.

horizon-launcher modpack port

Get the jars of what this computer can port and carry them over.

horizon-launcher modpack port <PACK>
  • PACK: The pack's folder name, as list shows it
  • --from: A folder with your own jars (an installed instance, a downloads folder)

MCP: modpack_port.

horizon-launcher modpack play

Play a ported pack as its own profile.

horizon-launcher modpack play <PACK>
  • PACK

MCP: modpack_play.

horizon-launcher modpack remove

Remove an imported pack: its jars, ports and the profile's saves.

horizon-launcher modpack remove <PACK>
  • PACK

MCP: modpack_remove, needs confirm: true.

horizon-launcher mods list

What the browser installed in an instance (the default).

horizon-launcher mods list
  • --instance: The instance (default: the selected one)

MCP: mods_list.

Search for packs Horizon loads.

horizon-launcher mods search [TEXT]...
  • TEXT
  • --kind (mod, resource, modpack, shader, datapack)
  • --everything: Also what was made for other versions or runs only partly, each marked
  • --source (modrinth, curseforge, horizon)

MCP: mods_search.

horizon-launcher mods check

Say how well a Java mod runs in Horizon: its jar is downloaded (checksum checked), carried over and read; the answer is kept.

horizon-launcher mods check <PROJECT>
  • PROJECT
  • --everything: Allow a version made for another Minecraft version (1.21 and later)
  • --source (modrinth, curseforge, horizon)

MCP: mods_check.

horizon-launcher mods install

Install a pack and what it needs into an instance, by its id or slug (checksums checked); a Java mod is ported into horizon-mods and turned on; a modpack is imported as an instance of its own; a data pack goes into the world --world names.

horizon-launcher mods install <PROJECT>
  • PROJECT
  • --world: Install the project's data pack into this world of the instance (its name or folder)
  • --instance: The instance (default: the selected one)
  • --everything: Allow a version made for another Minecraft version
  • --source (modrinth, curseforge, horizon)

MCP: mods_install.

horizon-launcher mods update

Update what the browser installed (or one pack).

horizon-launcher mods update [PROJECT]
  • PROJECT
  • --check: Only say what is newer
  • --instance: The instance (default: the selected one)

MCP: mods_update.

horizon-launcher mods remove

Remove a pack the browser installed.

horizon-launcher mods remove <PROJECT>
  • PROJECT
  • --instance: The instance (default: the selected one)

MCP: mods_remove, needs confirm: true.

horizon-launcher mods enable

Turn on a mod the browser installed (horizon-mods.txt, as the game's Options > Mods does).

horizon-launcher mods enable <PROJECT>
  • PROJECT
  • --instance: The instance (default: the selected one)

MCP: mods_enable.

horizon-launcher mods disable

Turn off a mod the browser installed; it stays installed.

horizon-launcher mods disable <PROJECT>
  • PROJECT
  • --instance: The instance (default: the selected one)

MCP: mods_disable.

horizon-launcher rust status

Whether it is installed, its version and whether this computer can link with it.

horizon-launcher rust status

MCP: rust_status.

horizon-launcher rust install

Download the pinned toolchain from static.rust-lang.org (once), checked by SHA-256.

horizon-launcher rust install

MCP: rust_install.

horizon-launcher rust remove

Delete the toolchain and the native builds' Cargo home.

horizon-launcher rust remove

MCP: rust_remove.

horizon-launcher servers list

The servers, their folder and whether they run.

horizon-launcher servers list

MCP: servers_list.

horizon-launcher servers create

Create a server; with no options it is a new world, survival, normal, 10 players, friends only.

horizon-launcher servers create
  • --name
  • --seed: The new world's seed (default: random)
  • --copy-world: Start from a copy of this world folder (one of your saves)
  • --mode (survival, creative, adventure, spectator)
  • --difficulty (peaceful, easy, normal, hard)
  • --max-players
  • --open: Let anyone in (no whitelist)
  • --check-accounts: Check players' Minecraft accounts (they must sign in with Microsoft)
  • --player: Who may join (repeatable); the first becomes an operator
  • --accept-eula: Agree to the Minecraft EULA (https://aka.ms/MinecraftEULA)

MCP: servers_create, only when the player asks.

horizon-launcher servers set-up

Copy an installed, prepared version's programs and game files for the servers (again).

horizon-launcher servers set-up

MCP: servers_set_up.

horizon-launcher servers run

Run a horizon-server command on a server, for example: servers run "My server" -- status.

horizon-launcher servers run <SERVER> -- <ARGS>...
  • SERVER: The server's name or folder
  • ARGS

MCP: servers_run.

horizon-launcher servers forget

Take a server off the list (its folder stays).

horizon-launcher servers forget <SERVER>
  • SERVER

MCP: servers_forget, needs confirm: true.

horizon-launcher mcp

Serve the Model Context Protocol on stdin and stdout, for AI agents (refused while No AI is on).

horizon-launcher mcp

MCP: none: this command is the MCP server.

horizon-launcher agent-config

How to connect an AI agent (Claude Code, Codex, Cursor, any MCP client) to mcp: the config to paste and the command that adds it (refused while No AI is on).

horizon-launcher agent-config
  • --client (claude-code, codex, cursor, generic): Only this client
  • --test: Start the MCP server as a client would and say whether it answered

MCP: none: it prints how to connect a client to mcp.

horizon-launcher no-ai

Show or set No AI: on hides and turns off every AI feature (the companion, agent control, horizon-ctl and both MCP servers); off, the default, makes them available.

horizon-launcher no-ai [STATE]
  • STATE (on, off): Omit to show the current state

MCP: none: the player's switch.

horizon-launcher benchmark

Measure the launcher: starts (the first is the cold one), page switching, idle CPU and memory, the release list fetch; writes a benchmark report to benchmarks/ in its data folder.

horizon-launcher benchmark
  • --repeats: How many times to start it

MCP: benchmark.