Skip to content

About

StarSector / NanoForge 专用启动器——Tauri(Rust + React)桌面前端 + Kotlin 启动核心:实例管理 / 前置检查 / 一键修复 / coremod 管理

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

NanoLauncher

StarSector / NanoForge 专用启动器——Tauri(Rust + React)桌面前端 + Kotlin 启动核心。

  • 实例管理、启动前置检查与一键修复、实时日志视图、coremod 管理、首次运行向导 (六页:启动 / 日志 / 实例 / coremod / 设置 / 向导)。
  • Kotlin 启动核心消费 NanoForge 的 launch-spec 库(安装探测 / classpath 组装 / JVM 参数模板 / 前置检查),CLI 无头模式与 UI 共用同一启动链路。
  • UI 与核心经 stdio 帧协议解耦:Rust 桥(src-tauri)拉起 Kotlin serve 进程并管理其 生命周期(崩溃自动重建、退出收割),前端(ui-tauri)只经桥收发命令与事件。

仓库结构

  • src/main/kotlin — 启动核心:实例 / 前置检查 / 一键修复 / serve 无头模式。
  • src-tauri — Tauri Rust 侧:桥生命周期(BridgeManager)、Tauri 命令与事件转发。
  • ui-tauri — 前端(React + TypeScript + Vite,设计系统见 docs/design/frontend-spec.md)。
  • docs/design — 设计文档(迁移设计、实现计划、前端规范、验收记录)。

Compose Desktop 旧 UI 仍在仓库中,将在迁移阶段 4 移除(见 docs/design/tauri-migration-design.md)。

构建与开发

前置:JDK 25、Node.js、Rust 工具链;并先在 NanoForge 仓库执行 ./gradlew :launch-spec:publishToMavenLocal(launch-spec 当前经 mavenLocal 消费)。

./gradlew build                # Kotlin 编译 + 单测(含 serve 进程级集成测试)
cd ui-tauri && npm install && npm run dev    # 前端 dev 服务(:1420)
./gradlew coreJar && cd src-tauri && cargo run   # 构建核心 jar 并启动 Tauri 应用

测试三链:./gradlew test(Kotlin)、cd src-tauri && cargo test(Rust 桥)、 cd ui-tauri && npm run test(vitest)。

发布产物

格式 平台 说明
deb Debian / Ubuntu npx tauri build --bundles deb,产物 src-tauri/target/release/bundle/deb/
AppImage 任意 Linux npx tauri build --bundles appimage(免安装,需 FUSE2)
PKGBUILD Arch Linux packaging/PKGBUILD(重打包 GitHub Release 的 deb,makepkg 构建)
nsis 安装器 Windows GitHub Actions release.yml(npx tauri build,windows-latest)

运行依赖:WebKitGTK 4.1(Linux WebView 运行时)、Java 21+(启动核心经 java -jar 拉起;设置页含 Java 探测)。Linux 的 deb/AppImage 内嵌 launcher-core.jar(resource 根,/usr/lib/NanoLauncher/)。

资源接线:tauri.conf.json 的 bundle.resources 将 launcher-core.jar (./gradlew coreJar 产物)打进 resource 根——构建前经 beforeBuildCommand (node,cwd 为仓库根)拷贝到 src-tauri/launcher-core.jar;运行时 core_command 优先取 resource 目录,开发环境回退 Gradle 相对路径。

CLI 无头模式

./gradlew run --args="--headless --instance=/path/to/game launch"
./gradlew run --args="--headless serve"    # stdio 帧协议常驻模式(Rust 桥同款入口)

供冒烟脚本与 CI 复用同一启动链路;前置检查失败打印结构化报告并以非零退出。

About

StarSector / NanoForge 专用启动器——Tauri(Rust + React)桌面前端 + Kotlin 启动核心:实例管理 / 前置检查 / 一键修复 / coremod 管理

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages