EaglercraftX 1.8.8 · 原版逻辑

从今天起,
Minecraft 1.8.8 的客户端就是一个 URL。

不用下载启动器,不用装 Java。打开这一页,跑的就是 1.8.8 的单人世界: 地形生成、下界传送门、末地、生物 AI、生存规则,全部按 1.8.8 的本来面目还原。 世界默认存在浏览器里,登录后自动同步到 Cloudflare D1 —— 换一台电脑,登录即取。

版本 1.8.8 编译 TeaVM · AOT → JS 渲染 WebGL 存档 D1 + IndexedDB 托管 Cloudflare Pages

01这不是一个"仿 MC"的网页小游戏

差别在字节码,不在画面。

Bytecode

原版字节码,不是重写

EaglercraftX 用 TeaVM 把 1.8.8 的 Java 字节码 AOT 编译成 JavaScript,再用 WebGL 模拟 OpenGL 调用。你挖的每一块石头、触发的每一次下界传送、遇到的每一只苦力怕,跑的都是 1.8.8 那份逻辑。

Worldgen

种子决定世界

地形、洞穴、矿脉、下界与末地,都由 1.8.8 的生成算法算出。同一个种子,浏览器里与桌面版里长出来的是同一个世界。

Compat

EPK 与官方生态互通

世界以 EPK 导出/导入,官方 Eaglercraft 客户端导出的存档能直接拿进来玩,这里的存档也能导出带走。

02单人世界在浏览器里,也在云上

本地 IndexedDB 是主存档,D1 是跨设备的镜像。

Auto sync

登录后自动镜像

游戏运行时定时检测世界数据变化,指纹变了才上传,不刷流量。新设备登录后若本地为空,自动把云端世界写回浏览器再启动。

EPK

文件级导入导出

把 EPK 拖进启动器即可存进云端槽位;也可以随时把云端的 EPK 拉回本地,交给任何 Eaglercraft 客户端。

Storage

D1 分块存储

存档按 400 KB 分块写入 D1,配合 SHA-256 指纹去重。Pages Functions 暴露 /api/save 与 /api/load 两个边缘端点。

03技术栈

全部跑在 Cloudflare 免费额度能覆盖的范围内。

客户端EaglercraftX 1.8.8(TeaVM → JS 构建),classes.js 传输约 4.1 MB(gzip)
托管Cloudflare Pages 静态资源 + Pages Functions 中间层
云存档D1 数据库,/api/save · /api/load,分块 + 指纹
存档格式EPK 导入/导出,兼容官方 Eaglercraft 生态
体积静态产物 29 MB(classes.js 21.9 MB + assets.epk 7.4 MB),边缘 Brotli 后单次传输约 11.5 MB
认证用户名 + 密码,PBKDF2-SHA256 派生,HMAC 签名会话