Horizon:用 Rust 重写的 Minecraft
用 Rust 从零重写的 Minecraft Java 版 26.3,通过差分测试对照原版,需配合启动器游玩。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.2.97
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
Horizon 是用 Rust 从零重写的 Minecraft: Java Edition 26.3。它保留同样的世界、规则和地形,并通过 281 个差分测试对照官方 Java 版校验行为。项目免费、开源(MIT),属于非官方项目。Horizon 不包含任何 Minecraft 代码、素材或数据,你需要自己拥有一份 Java 版 26.3。

主要功能
- 游戏本体:原版世界生成、生物、村民、袭击、红石、全部命令、HUD 与配方书,可直接读取原版存档;1.8 到 26.2 的世界会被升级。
- 增强选项:新菜单、画面预设、最远 1024 区块的远景地形、手柄、缩放、小地图等,在会改变原版观感的地方默认关闭。
- 资源包与数据包:支持资源包,以及包含函数、谓词、物品修饰器和世界生成的数据包。
- 多人游戏:用邀请码邀请好友、Open to LAN、加入服务器(包含正版验证)。
- 模组:内容模组(方块、物品、数据)与原生 Rust 模组,由启动器构建,无需额外安装;Java 模组 jar 无法运行。
- 服务器:启动器的 Servers 页面可创建、启动、备份和更新服务器,并可通过 Tailscale 邀请好友;VPS 上
horizon-server一条命令安装,不需要 Java。 - 代理控制:随游戏附带的
horizon-ctl可以 JSON 读取游戏状态并像玩家一样操作,horizon-ctl mcp通过 MCP 提供同样的命令。
安装与使用
从 playhorizon.dev 或启动器 release 页下载 Horizon 启动器(Linux x86-64、Apple Silicon macOS、Windows x64,Intel macOS 将在下个 Nightly 支持)。启动器负责安装和更新游戏、从你的 Minecraft 副本准备文件,并自我更新。
需要:拥有 Java 版 26.3 的 Microsoft 账户;支持 Vulkan 或 OpenGL 3.3(Linux)、Vulkan 或 DirectX 12(Windows)的显卡,或一台 Mac。已有的 Minecraft 安装(官方启动器、Prism、MultiMC 等)会被复用;没有的话会从 Mojang 为你的账户下载 26.3。
从源码构建需要 Rust 1.90+、Python 3.10+、JDK 25,Linux 上还需要 libasound2-dev libudev-dev。horizon-prepare 会从你自己的 26.3 副本生成资源,不会下载游戏:
cargo run --release -p horizon-prepare -- --prepare --server-jar ~/Downloads/server.jar
cargo run --release -p horizon-client
生成的文件位于被 gitignore 的 .local/,不要提交或分享。
注意事项
- Horizon 是非官方项目,未经 Mojang 或 Microsoft 认可或关联。
- 项目当前仍记录着 833 项玩家可感知的行为差异,按界面、渲染、生物、服务器等模块拆分成 issue;100% 的差分成绩指测试覆盖范围内的比对结果,不代表其他方面没有差异。
- Java 模组 jar 不能直接运行,目前只能迁移由数据和资源构成的内容模组。
本作品整理自 GitHub 开源项目 horizon-rust/horizon,原作者 @horizon-rust,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.2.97当前版本
v0.2.97 修复物品拾取顺序、苦力怕爆炸的死亡信息、骑乘时的准星判定与船只视角抖动,并修复 Windows 协议处理器打开 URL;同时优化 HUD、背包、创造模式界面等多处绘制,新增拥挤生物挤压伤害与潜影贝子弹模型。
- v0.2.93
修复字幕(闭路字幕)从不显示的问题;修复新森林中因矿车信号导致的服务器卡顿(仅在探测铁轨读取时才计数);着色器包暂时移除,后续将重写回归。
- v0.2.92
修复右键清空 bundle、驯服鹦鹉跟随与坐下、创造物品栏副手交换崩溃、搜索框残留旧搜索、字体缺字、高对比度方块轮廓、F13-F24 键位、远程服务器进食音效、犰狳受击缩球、失明迷雾等。
评论