Skip to content

Repository files navigation

Logo de CubicLauncher

CubicLauncher

Launcher de código abierto para Minecraft: Java Edition.
Gestión de instancias, versiones y contenido para Windows, Linux y macOS.

Estado de integración continua Última versión estable Descargas en GitHub Licencia GPL-3.0

Sitio web · Descargas · Reportar un problema · Contribuir

Acerca del proyecto

CubicLauncher permite administrar instalaciones independientes de Minecraft desde una aplicación de escritorio. Cada instancia dispone de su propia configuración, versión del juego y contenido, lo que facilita mantener entornos Vanilla y con mods en un mismo lugar.

La aplicación utiliza Tauri v2, Rust y SvelteKit. El código fuente, las herramientas de desarrollo y las instrucciones de compilación están disponibles en este repositorio.

Características

  • Instancias independientes: creación, configuración, importación y exportación de instalaciones de Minecraft.
  • Versiones y loaders: soporte para Vanilla, Fabric, Forge, Quilt y NeoForge.
  • Cuentas: autenticación con Microsoft y Yggdrasil, además de perfiles sin conexión.
  • Contenido: búsqueda e instalación de mods, paquetes de recursos y shaders mediante Modrinth y CurseForge; importación de modpacks.
  • Mundos y servidores: administración de mundos locales y listas de servidores por instancia, con consultas de estado y conexión al juego.
  • Configuración de ejecución: selección de Java, asignación de memoria y consola de registros.
  • Personalización: temas, idiomas e integración con Discord Rich Presence.

Instalación

Descargas

Las versiones publicadas están disponibles en GitHub Releases. Cada publicación incluye sus notas de cambios y los archivos de instalación correspondientes.

Plataforma Distribución
Windows Instalador NSIS (.exe).
Linux AppImage y paquetes .deb y .rpm.
macOS Imagen .dmg, con compilaciones para Apple Silicon e Intel.

Arch Linux

El paquete cubiclauncher está disponible en el AUR. Puede instalarse con un asistente como yay:

yay -S cubiclauncher

También se incluye un PKGBUILD para la compilación local. En Arch Linux se recomienda utilizar este empaquetado, ya que los binarios generados en Ubuntu pueden no ser compatibles con las versiones de las bibliotecas del sistema.

Nix y NixOS

Con las funciones flakes y nix-command habilitadas:

# Instalar en el perfil de usuario
nix profile install github:CubicLauncherDevs/CubicLauncher

# Ejecutar sin instalar en el perfil
nix run github:CubicLauncherDevs/CubicLauncher

El flake define paquetes para x86_64-linux, aarch64-linux y aarch64-darwin. Los detalles de empaquetado, configuración y solución de problemas se documentan en la guía de Nix.

La disponibilidad en otras distribuciones puede consultarse en Repology.

Desarrollo

Requisitos

  • Git para obtener el código fuente.
  • Bun para instalar las dependencias y ejecutar los scripts del proyecto.
  • Node.js en una versión LTS vigente.
  • Rust estable, con soporte para la edición 2024, junto con Cargo, rustfmt y Clippy.
  • Las dependencias del sistema de Tauri v2 correspondientes a la plataforma de desarrollo.

La CLI de Tauri forma parte de las dependencias del proyecto y se instala con bun install.

Entorno local

git clone https://github.com/CubicLauncherDevs/CubicLauncher.git
cd CubicLauncher
bun install --frozen-lockfile
bun run tauri dev

bun run tauri dev inicia la aplicación de escritorio y el servidor de desarrollo del frontend. Para trabajar únicamente en la interfaz, bun run dev inicia Vite; las funciones que dependen del backend requieren el entorno de Tauri.

Con Nix, se puede preparar el entorno desde la raíz del repositorio mediante nix develop antes de ejecutar los comandos anteriores de instalación de dependencias y desarrollo.

Comandos principales

Todos los comandos se ejecutan desde la raíz del repositorio.

Comando Descripción
bun run tauri dev Inicia la aplicación de escritorio en modo de desarrollo.
bun run dev Inicia el servidor Vite del frontend.
bun run tauri build Compila y empaqueta la aplicación para la plataforma actual.
bun run build Genera la compilación de producción del frontend.
bun run lint Ejecuta ESLint sobre el frontend.
bun run check Verifica tipos y diagnósticos de Svelte.
bun run test:frontend Ejecuta los tests del frontend con Bun.
bun run test:rust Ejecuta los tests y doctests del workspace Rust.
bun run test:all Ejecuta las suites del frontend y de Rust.
cargo fmt --all --check Comprueba el formato del código Rust.
cargo clippy --workspace -- -D warnings Ejecuta el análisis estático del workspace Rust.

La guía de pruebas describe la organización de las suites, los requisitos de Chromium, las mediciones de rendimiento y los flujos de verificación manual.

Arquitectura

El frontend se comunica con el backend mediante comandos IPC de Tauri. El backend gestiona las operaciones nativas y publica eventos que actualizan el estado de la interfaz.

Componente Tecnologías
Aplicación de escritorio Tauri v2 y WebView del sistema.
Interfaz Svelte 5, SvelteKit y TypeScript.
Backend Rust, Tokio y un workspace de crates internos.
Integraciones Microsoft, Yggdrasil, Modrinth, CurseForge y Discord.

Estructura del repositorio

src/                  Interfaz, estado y servicios del frontend
src-tauri/            Aplicación Tauri, comandos y servicios nativos
  src/tests/          Tests unitarios del backend de la aplicación
crates/               Bibliotecas internas del workspace Rust
  <crate>/src/tests/  Tests unitarios de cada biblioteca con suites propias
tests/frontend/       Tests del frontend agrupados por área
static/               Recursos estáticos de la interfaz
dist/                 Archivos de empaquetado para distribuciones
.github/              Integración continua y flujos de publicación

Contribuir

Se aceptan contribuciones de código, documentación, traducciones y reportes de errores. La guía de contribución detalla las convenciones del proyecto, las comprobaciones previas a una pull request y el proceso de colaboración.

  • Errores y propuestas: abrir un issue con una descripción del problema o del cambio sugerido. Para errores, incluir la versión del launcher, el sistema operativo y los pasos para reproducirlos.
  • Cambios de código: seguir las convenciones y ejecutar las comprobaciones indicadas en CONTRIBUTING.md y TESTING.md.
  • Traducciones: consultar las instrucciones de internacionalización en la guía de contribución y el repositorio Translations.

La participación en el proyecto se rige por el Código de conducta.

Comunidad y recursos

Contribuyentes

CubicLauncher se desarrolla gracias a las personas que aportan código, documentación y mejoras al proyecto. La lista de contribuyentes de GitHub puede consultarse a continuación.

Contribuyentes de CubicLauncher en GitHub

Licencia

CubicLauncher se distribuye bajo la licencia GNU General Public License v3.0, identificada como GPL-3.0-only en los metadatos del proyecto.

About

Nuevo CubicLauncher en Rust para más eficiencia y más personalizado y de código abierto.

Topics

Resources

Code of conduct

Contributing

Stars

13 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages