# 服务端:官网(任何装了 Node 的机器都行) node server/server.js # → 本机 http://127.0.0.1:8080 / 局域网 http://<IP>:8080 # 客户端:启动器命令行(不需要开界面) node client/core/cli.js doctor node client/core/cli.js install 1.20.1 node client/core/cli.js launch 1.20.1 --user Steve # 打包客户端并写入默认官网地址 node build/make-release.js all --server http://10.0.0.2:8080
minecraft-launcher/ ├─ server/ 官网(部署单元,可整体搬到 VPS) │ ├─ server.js 零依赖 HTTP 服务 │ ├─ config.json 端口 / 监听地址 / 对外域名 │ ├─ public/ 页面 │ ├─ downloads/ 安装包(.exe) │ ├─ data/ release.json / versions.json │ └─ logs/ 访问日志 ├─ client/ 启动器(Electron) │ ├─ core/ 下载 / 校验 / Java / 远端清单 │ └─ ui/ 界面 ├─ build/ 打包脚本 └─ data/ 开发机上的游戏数据(1.6 GB)
| 服务端(官网) | 客户端(启动器) | |
|---|---|---|
| 装在哪 | 一台常开的机器 / VPS | 每个玩家的电脑 |
| 职责 | 发安装包、发版本元数据、告诉客户端有没有新版 | 下载游戏文件、装 Java、启动游戏 |
| 依赖 | Node 18+ | 不需要 Node / Java(自带运行时) |
| 断网时 | — | 照常启动游戏,退回内置元数据 |
| 项 | 说明 |
|---|---|
| 玩家名 | 离线账号名,1–16 字符。UUID 由 MD5("OfflinePlayer:名字") 生成 |
| 内存上限 | -Xmx,默认 2048 MB;8 GB 机器建议不超过 4096 |
| 窗口尺寸 | 写入 --width / --height,仅对新开的游戏窗口生效 |
| 额外 JVM 参数 | 原样拼进命令行,例如 -XX:+UseG1GC |
26.3 在部分环境下会这样:日志走完、OpenAL 初始化成功,画面全黑。原因是显卡或驱动只提供较低的 OpenGL 版本, 新渲染管线需要更高版本。换 1.20.1 即可。
启动器只连 Mojang 官方端点,重试 4 次后才会报错。日志里能看到具体是哪个文件失败。 不要换第三方镜像 —— 实测在本机更慢。
启动器会清掉继承来的 JAVA_TOOL_OPTIONS,并按平台过滤 JVM 参数(macOS 专用参数不会传给 Windows)。 如果仍然出现,检查设置里的"额外 JVM 参数"。
正常现象:Java 8 运行时较旧,帧率天然低于 1.20.1。
换端口:node site/server.js 8090。
关掉启动器,删掉 data/ 目录,下次启动会重新补齐(约 1.6 GB)。
下载页不显示校验值,避免干扰。需要的话读接口 /api/release,
里面有每个包的 SHA256;下载后本地算一遍比对即可:
certutil -hashfile 文件.exe SHA256