Réécrire Minecraft Java Edition presque entièrement en Rust, tout en conservant ses mondes, sa génération et ses mécaniques : c’est l’ambition d’Horizon. Ce projet open source ne modifie pas le client de Mojang comme le ferait un mod. Il développe son propre programme capable de faire fonctionner Minecraft 26.3 à partir des fichiers d’une copie légitime du jeu.
Horizon est déjà suffisamment avancé pour jouer en solo, ouvrir d’anciennes sauvegardes, utiliser des resource packs, jouer à la manette, héberger un serveur sans Java ou inviter directement des amis. Plus inhabituel encore, Horizon peut être piloté par un agent IA compatible MCP : celui-ci peut lancer une partie, lire les menus, se déplacer, miner, fabriquer des objets ou gérer un inventaire.
En bref
- Horizon réécrit Minecraft Java Edition 26.3 en Rust au lieu d’exécuter le client Java original.
- 281 ensembles de tests comparent son comportement à celui de Minecraft vanilla.
- Terrain distant jusqu’à 1 024 chunks, manettes, resource packs et plusieurs options supplémentaires sont déjà disponibles.
- Claude Code, Codex, Cursor et d’autres agents compatibles MCP peuvent contrôler le launcher et jouer à Horizon.
- Un serveur Horizon natif peut fonctionner sans Java et accepter des clients Minecraft 26.3 vanilla.
- Une copie légitime de Minecraft Java Edition reste obligatoire.
Horizon n’est pas un mod d’optimisation
Comparer Horizon à Sodium permet de comprendre rapidement la différence. Sodium remplace et optimise certaines parties du rendu de Minecraft, mais le jeu qui tourne derrière reste bien le client Java développé par Mojang.
Horizon repart beaucoup plus bas. Son client, sa logique de jeu, son moteur de rendu, sa gestion des mondes et une grande partie des systèmes nécessaires au fonctionnement de Minecraft sont réécrits en Rust.

Le résultat cherche pourtant à rester du Minecraft Java classique. Les mêmes mondes sont utilisés, la génération doit produire le même terrain et les mécaniques doivent réagir comme dans le jeu original. Horizon ne cherche donc pas à créer une nouvelle édition de Minecraft avec ses propres règles.
Il ne distribue pas non plus les fichiers commerciaux du jeu. Le programme ne contient ni le code de Minecraft, ni ses textures, ni ses autres ressources propriétaires. Lors de la préparation initiale, il utilise les fichiers de Minecraft Java Edition 26.3 déjà présents sur l’ordinateur.
Horizon ne permet pas d’obtenir Minecraft gratuitement. Il faut posséder Java Edition et avoir lancé Minecraft 26.3 au moins une fois. Horizon est un projet indépendant, sans affiliation avec Mojang ou Microsoft.
281 tests pour comparer Horizon à Minecraft vanilla
Afficher correctement des blocs ne suffit pas pour réécrire Minecraft. Derrière une partie se trouvent la génération du terrain, les inventaires, la physique, l’intelligence artificielle des créatures, la redstone, les commandes, les recettes, les sauvegardes, les raids, l’éclairage ou encore le protocole multijoueur.
Horizon utilise pour cela 281 tests différentiels, appelés « harnesses ». Une même situation est envoyée à Minecraft Java et à Horizon, puis les résultats sont comparés.
Les vérifications vont assez loin. La génération du monde est par exemple comparée sur 2 352 chunks complets répartis autour de 225 emplacements de structures dans les trois dimensions. D’autres tests portent sur des milliers de recettes, de commandes, d’inventaires, de comportements de créatures ou d’opérations de redstone.

Le projet affiche aujourd’hui 100 % de correspondance sur ce périmètre. Il faut toutefois lire correctement ce chiffre : cela signifie que tous les comportements couverts par ces tests donnent le résultat attendu, pas que chaque situation imaginable dans Minecraft a déjà été vérifiée.
Un launcher pour installer et gérer Horizon
Il n’est pas nécessaire de compiler Horizon soi-même. Un launcher dédié se charge d’installer le client, de préparer les ressources à partir de Minecraft et de récupérer les mises à jour.

Le launcher va plus loin qu’un simple bouton « Jouer ». Il permet notamment de choisir ou supprimer une version, consulter les notes de mise à jour, gérer des packs, accéder aux logs et rapports de crash, lancer le client et administrer un serveur Horizon.
Les nouvelles builds sortent très régulièrement. Les versions Alpha reçoivent rapidement les nouveautés, tandis que les versions Stable correspondent aux builds conservées après leur première phase de validation. Pour simplement découvrir Horizon, mieux vaut rester sur le canal stable proposé par défaut.
Terrain à 1 024 chunks, manette, shaders : Horizon ajoute aussi ses propres options
La recherche de fidélité à Minecraft n’empêche pas Horizon d’ajouter des fonctions absentes du jeu vanilla. Les principales sont regroupées dans ses propres réglages graphiques et dans un menu d’extras.
La plus impressionnante visuellement est le LOD Distance. Horizon peut dessiner une représentation simplifiée du terrain jusqu’à 1 024 chunks autour du joueur. Ce terrain éloigné n’augmente pas la distance de simulation : les créatures, la redstone et les autres mécaniques ne sont pas calculées à 1 024 chunks. Seul le relief lointain est affiché.
On peut ainsi conserver une distance d’affichage classique, par exemple 12 chunks, tout en affichant les grandes formes du terrain beaucoup plus loin. Les zones encore jamais visitées sont approximées à partir de la seed et peuvent légèrement différer du chunk réel lorsqu’il sera finalement généré en détail.
Les réglages graphiques proposent également plusieurs presets — Performance, Balanced, Quality et Ultra — et un écran avancé détaillant le coût estimé de chaque option. Sur Windows, Horizon peut utiliser Vulkan ou DirectX 12 ; Linux repose sur Vulkan et macOS sur Metal.
Les manettes sont prises en charge jusque dans les menus et les inventaires. Des extras optionnels ajoutent également un zoom, un compteur de FPS, l’affichage des touches, une minimap, des lumières dynamiques ou encore la reconnexion automatique.

Les shader packs fonctionnent-ils ?
Le support existe, mais il reste expérimental. Horizon peut déjà exécuter les effets plein écran de shaders Java prévus pour OptiFine ou Iris, comme certains traitements de couleur, effets de bloom, de ciel ou de brouillard.
En revanche, les passes qui modifient directement la géométrie du monde ou les ombres ne sont pas encore prises en charge. Un shader ne donnera donc pas nécessairement le même résultat que lorsqu’il est chargé avec Iris Shaders. Horizon possède parallèlement son propre format de shader en WGSL.
Les mods Fabric, Forge et NeoForge ne fonctionnent pas directement
Réécrire Minecraft implique aussi d’abandonner la compatibilité directe avec son écosystème Java. Un fichier .jar prévu pour Fabric, Forge, NeoForge ou Quilt ne peut donc pas être placé tel quel dans Horizon.
Horizon possède son propre système de mods. Ceux-ci sont écrits en Rust puis compilés en WebAssembly et s’exécutent dans un environnement isolé. Lorsqu’un mod demande certaines autorisations, elles sont visibles depuis l’écran de gestion, et les mods sont désactivés par défaut jusqu’à ce que le joueur choisisse de leur faire confiance.
Un mod qui plante peut également être désactivé sans forcément faire tomber l’ensemble du jeu. À l’heure actuelle, le système reste jeune : il n’existe pas encore un catalogue comparable à Modrinth pour les véritables mods Horizon.
Et les modpacks existants ?
Le launcher peut importer un fichier Modrinth .mrpack, une archive CurseForge ou encore le dossier d’une instance Prism, MultiMC ou CurseForge. Il analyse ensuite chaque mod et indique ce qu’il peut récupérer.
Pour le moment, cela fonctionne surtout avec les contenus reposant sur des données et des ressources : blocs, objets, recettes, loot tables, tags, modèles, textures ou certaines structures. Un mod dont le fonctionnement dépend de code Java — machines, magie, comportements de créatures ou génération programmée — doit être adapté spécifiquement à Horizon.
Autrement dit, il est déjà possible de récupérer une partie du contenu d’un modpack, mais les gros modpacks Java ne fonctionnent pas encore intégralement dans Horizon.
Jouer avec des amis sans monter un serveur
Horizon possède un système « Play with Friends » qui permet de partager directement une partie solo. Depuis le menu pause, le joueur ouvre son monde et récupère un code d’invitation à transmettre à ses amis.
Il n’y a pas de serveur Horizon intermédiaire qui héberge la partie. Le code contient les informations nécessaires pour joindre la machine du joueur ainsi qu’une clé utilisée pour chiffrer la connexion. Sur un réseau local ou avec un VPN comme Tailscale, la connexion peut fonctionner directement. Sur Internet, Horizon peut également tenter d’ouvrir automatiquement le port nécessaire via UPnP.
Le LAN reste compatible avec Minecraft vanilla : un client Java 26.3 classique peut rejoindre un monde Horizon ouvert en LAN, et Horizon peut rejoindre un monde vanilla équivalent.
Les serveurs publics restent une limite importante. Horizon ne peut pas encore connecter le joueur à son compte Microsoft. Il peut donc rejoindre des serveurs en mode hors ligne, mais pas la majorité des grands serveurs qui vérifient l’identité du compte Minecraft, ni Realms.
Horizon possède aussi son propre serveur Minecraft sans Java
Le projet ne s’arrête pas au client. horizon-server reprend la logique serveur de Minecraft 26.3 dans un programme natif qui fonctionne sans machine virtuelle Java.
Depuis le launcher, il est possible de créer un monde, choisir son mode de jeu et sa difficulté, gérer une whitelist, démarrer ou arrêter le serveur et suivre directement le nombre de joueurs, les TPS, le temps d’un tick et la mémoire utilisée.
Une console est intégrée, tout comme la gestion des opérateurs, des bannissements et des sauvegardes. Les sauvegardes automatiques peuvent être réalisées toutes les six heures et, lors d’une mise à jour du serveur, le launcher effectue une copie du monde avant de changer de version. Si la nouvelle build ne démarre pas, il peut revenir à la précédente.
Un serveur Horizon accepte aussi des clients Minecraft Java 26.3 vanilla. Sur une machine distante ou un VPS, le même serveur peut être administré en ligne de commande sans passer par l’interface graphique du launcher.
Une IA peut réellement prendre le contrôle d’Horizon
C’est probablement la partie la plus inhabituelle du projet. Horizon expose directement ses fonctions à des agents IA grâce à MCP, le Model Context Protocol.
Ce n’est pas une IA intégrée à Minecraft qui génère automatiquement des constructions ou dialogue avec le joueur. Il s’agit d’un pont entre Horizon et un agent installé sur l’ordinateur, comme Claude Code, Codex, Cursor ou n’importe quel autre client compatible MCP.
Depuis le launcher, cet agent peut notamment :
- installer, préparer ou supprimer une version d’Horizon ;
- lancer le jeu, ouvrir directement un monde ou démarrer un serveur ;
- modifier les réglages et gérer les packs ;
- consulter les logs et rapports de crash.
Une fois dans Minecraft, les possibilités vont beaucoup plus loin. L’agent peut lire les boutons, champs et emplacements affichés à l’écran, cliquer dans les menus, se déplacer, regarder autour de lui, casser ou poser des blocs, attaquer, utiliser des objets, sélectionner sa barre rapide ou gérer son inventaire.
Il peut aussi ouvrir des coffres, fabriquer des objets, commercer, écrire dans des livres ou des panneaux, envoyer des commandes, consulter les données F3 et prendre des captures d’écran. Pour un agent, Horizon devient donc presque une API complète de Minecraft.
horizon-ctl state
horizon-ctl goto 10 64 -3
horizon-ctl screenshot capture.png
Ces commandes donnent une idée de ce que l’agent utilise derrière l’interface : connaître l’état du joueur, se déplacer vers des coordonnées ou enregistrer une capture. Via MCP, l’agent reçoit ces capacités sous forme d’outils qu’il peut appeler lorsqu’elles sont nécessaires.
Un contrôle entièrement local et désactivable
L’accès a été prévu avec plusieurs garde-fous. Sur Linux et macOS, la communication passe par un socket local accessible au compte de l’utilisateur. Sous Windows, elle utilise localhost avec un jeton secret stocké localement. Aucun serveur de contrôle n’est exposé directement sur le réseau.
Les actions destructrices demandent également une confirmation explicite. Supprimer un monde, une version, un modpack, un mod ou un serveur doit être confirmé avant que l’action puisse aboutir. Les commandes ne transmettent pas non plus les jetons de compte ou les secrets d’invitation.
Enfin, une option No AI permet de désactiver toute cette couche. Lorsqu’elle est activée, les réglages liés aux agents disparaissent, le jeu n’ouvre plus son interface de contrôle et les commandes MCP refusent de fonctionner. Les commandes classiques du launcher restent disponibles pour ne pas casser les scripts qui n’utilisent pas l’IA.
Le fonctionnement va plus loin qu’un bot Minecraft classique. Un agent peut observer l’état du jeu, agir dans les menus ou dans le monde puis utiliser le résultat de ses actions pour décider de la suite. Il devient par exemple possible de lui demander de lancer un monde de test, vérifier une mécanique et prendre une capture une fois l’action terminée.
Les performances sont prometteuses, mais pas systématiquement meilleures
Rust supprime la machine virtuelle Java et les pauses liées au ramasse-miettes. Horizon répartit aussi la génération, l’éclairage et la préparation graphique des chunks sur plusieurs threads, tandis que son moteur de rendu cherche à limiter le nombre d’appels envoyés à la carte graphique.
Cela ne signifie pas pour autant que les FPS seront toujours supérieurs. Les benchmarks publiés par le projet le montrent assez bien.
| Configuration | Horizon | Minecraft Java 26.3 |
|---|---|---|
| Mac M4 Pro – 32 chunks | 144 FPS* | 43 FPS |
| ThinkPad i7-7500U – 12 chunks | 209 FPS | 126 FPS |
| RTX 4080 – 12 chunks | 2 993 FPS | 2 600 FPS |
| RTX 4080 – 32 chunks | 672 FPS | 849 FPS |
Le PC équipé d’une RTX 4080 est particulièrement parlant. À 12 chunks, Horizon prend légèrement l’avantage en moyenne. À 32 chunks, Java passe devant sur les FPS et les 1 % low. Horizon reste en revanche largement devant dans ce test sur le chargement des chunks et utilise environ deux fois moins de mémoire.
Sur le vieux ThinkPad équipé d’un i7-7500U et d’une Intel HD Graphics 620, Horizon utilise 797 Mo en jeu contre environ 2 Go pour Java. Le chargement après une téléportation est pourtant plus lent avec Horizon : 60 secondes contre 47 secondes.
Il faut donc éviter le raccourci « Rust = davantage de FPS ». Les premiers résultats montrent surtout une architecture différente, particulièrement intéressante sur la mémoire et certains chargements. Les chiffres proviennent en outre des machines du projet ; davantage de résultats indépendants permettront de mieux juger le comportement sur d’autres configurations.

Ce qui manque encore avant d’en faire un remplacement de Java Edition
Horizon est déjà bien plus qu’une démonstration technique, mais plusieurs limites empêchent encore de l’utiliser comme unique installation Minecraft.
- Pas de connexion Microsoft pour les joueurs : la plupart des grands serveurs publics et Realms restent inaccessibles.
- Une seule base de jeu : Horizon reproduit actuellement Minecraft Java Edition 26.3.
- Pas de compatibilité directe avec Fabric, Forge ou NeoForge : les mods Java qui contiennent leur propre code doivent être adaptés.
- Shaders encore partiels : les effets plein écran fonctionnent, mais pas encore toutes les passes de géométrie et d’ombres d’Iris ou OptiFine.
- Quelques différences connues : certaines icônes de packs, informations d’infobulles ou skins récupérés en HTTPS ne se comportent pas encore exactement comme dans le client officiel.
Les mondes existants sont en revanche beaucoup moins problématiques : Horizon utilise le format de sauvegarde de Java Edition et sait mettre à niveau les mondes provenant des versions 1.8 à 26.2 de la même manière que Minecraft 26.3. Une sauvegarde reste fortement conseillée avant d’ouvrir un monde important avec un client encore en développement.
Comment télécharger et essayer Horizon ?
La méthode recommandée passe par le launcher Horizon. Il choisit le programme adapté au système, installe les versions et prépare automatiquement les fichiers nécessaires à partir de votre installation de Minecraft.
Il faut disposer de Minecraft Java Edition 26.3 et l’avoir lancé une première fois. La préparation utilise Java 25, mais le launcher peut normalement reprendre le Java téléchargé pour Minecraft 26.3 ou récupérer celui fourni par Mojang. Une fois cette préparation terminée, le client Horizon lui-même n’a plus besoin de Java pour fonctionner.
- Windows : système x64 avec Vulkan ou DirectX 12 ;
- Linux : x86-64 avec pilotes Vulkan ;
- macOS : Mac Apple Silicon M1 ou plus récent, sous macOS 11 minimum.
Premier lancement
- Lancez Minecraft Java Edition 26.3 au moins une fois depuis le launcher officiel ou un launcher compatible.
- Téléchargez puis ouvrez le launcher Horizon.
- Depuis la page des versions, installez la version d’Horizon que vous souhaitez utiliser.
- Sur l’écran principal, cliquez sur Prepare. Le launcher recherche automatiquement votre dossier Minecraft et prépare les fichiers nécessaires.
- Lorsque le message indique que Minecraft 26.3 est préparé, utilisez Play.
Téléchargement d’Horizon
Téléchargement
Téléchargement manuel
Pour installer la ressource vous-même dans Minecraft.
Compatibilité et dépendances
Versions disponibles :
Le téléchargement renvoie vers le site officiel d’Horizon. Celui-ci propose la version adaptée à Windows, Linux ou macOS et reste le point d’entrée recommandé pour récupérer les futures mises à jour du launcher.
La documentation complète est également disponible sur le site officiel d’Horizon, notamment si vous souhaitez utiliser le serveur dédié, importer un modpack ou configurer les fonctions destinées aux agents IA.
Sur Windows, le launcher est fourni dans une archive ZIP. Sous Linux, il faut extraire l’archive prévue pour x86-64. Sur macOS, un fichier DMG est disponible ; l’application n’étant pas signée avec un certificat développeur Apple payant, macOS peut demander une validation manuelle lors de la première ouverture.
Une sauvegarde reste recommandée. Horizon conserve ses mondes dans son propre dossier et ne modifie pas l’installation Minecraft d’origine, mais il s’agit toujours d’un projet en développement. Copiez un monde important avant de l’ouvrir pour la première fois.





