El launcher no premium para Minecraft: Java Edition, creado por NovaStepStudio
StepLauncher es un launcher de Minecraft: Java Edition no premium, desarrollado por NovaStepStudio y construido sobre Wails v2 (Go + WebView2) con un frontend en Vue 3 + TypeScript altamente personalizable. Detrás de la interfaz funciona el motor del launcher (internal/Handlers/Engine), integrado en el programa: descargas, lanzamiento, modloaders, cuentas, caché, historial y actualizaciones con soporte multi-SO (Windows, Linux y macOS).
- Descarga de versiones: gestor de descargas concurrente (1–16 hilos) con pausa, reanudación, cancelación, límite de velocidad, reintentos automáticos, detección de descargas estancadas y verificación SHA1.
- Lanzamiento de Minecraft: detección de Java (auto, sistema, oficial o custom), construcción de classpath/natives, argumentos JVM y del juego, proceso en segundo plano y streaming de logs con parseo en tiempo real.
- Detección de crashes: se captura el crash del juego y se guarda un historial con los logs del launcher, del juego y de la JVM, con su ruta para revisarlos o reportarlos.
- Modloaders: soporte para Fabric, Quilt, LegacyFabric, Forge y NeoForge, con resolución Maven, instaladores ejecutados por nivel de versión y detección del modloader instalado.
- Instancias (opcional): sistema de instancias con su propia versión, descargas compartidas, configuración propia, verificación y clonación, independiente del flujo principal.
- Perfiles de lanzamiento: varias configuraciones jugables con sus propios argumentos, memoria y ajustes.
- Cuentas offline y premium: registro de cuentas con Microsoft (protocolo Yggdrasil) y servidores con authlib-injector (Mojang alternativo con un API personalizado), login y refresco automático de tokens y avatares (cabeza y cuerpo renderizados en el frontend).
- Almacenamiento seguro: tokens cifrados en disco (
launcher_accounts.json) y nunca expuestos a la interfaz. - Discord Rich Presence: estado de actividad en Discord con reconexión automática (navegando, lanzando, jugando).
- Fondos: imagen, vídeo (MP4/WEBM, validados en resolución y duración) y fondos dinámicos con orden e intervalo.
- Fuentes: gestor de fuentes propio (importar, renombrar y eliminar) con sistema de slots (títulos/UI).
- Colores: toda la interfaz tematizable con historial reciente de colores (máximo 12) y variables CSS aplicadas en tiempo real.
- UI: zoom de interfaz entre 50% y 200%, animaciones, blur, sombras y textos con sombreado configurable.
- Configuración avanzada: RAM (auto/recomendada/manual con detección total del sistema), Java, resolución y pantalla completa, argumentos JVM y del juego, modo offline, proxy de Minecraft, autenticación y compatibilidad.
- Hardware: aceleración por hardware con tipo de GPU detectada, y preajustes de rendimiento.
- Actualizaciones automáticas: comprobación en el arranque contra GitHub Releases y, en Windows, descarga y ejecución del actualizador (
StepLauncher-Updater.exe) que reemplaza el ejecutable. - Reposo y mantenimiento: cierre automático de modales por inactividad, verificación periódica de la configuración y limpieza inteligente de la caché.
- Caché: manifiestos y JSON con TTL por categoría (manifest, version, assets, forge, java...), limpieza por categoría o entrada desde el frontend y reutilización de archivos descargados.
- Nativo y ligero: ventana WebView2 sin marcos de navegador; los datos persisten en
%APPDATA%\.StepLaunchercon logs a archivo rotados por día.
| Capa | Tecnología |
|---|---|
| Backend | Go 1.26.4, Wails v2.13.0 (bindings en app.go → internal/) |
| Motor | Integrado en el programa (internal/Handlers/Engine + internal/Core) |
| Frontend | Vue 3.5 (Composition API), TypeScript, Vite 8, SCSS |
| Gestión | bun (obligatorio para instalar/build) + vue-tsc type-check |
StepLauncher/
├── app.go # Bindings expuestos al frontend (delegan en internal/Handlers)
├── main.go # Punto de entrada (embed del frontend + Wails)
├── wails.json # Configuración del proyecto Wails
├── AGENTS.md # Guía de trabajo y convenciones del repositorio
├── Changelogs/ # Registro oficial de errores, cambios y releases
├── internal/
│ ├── Config/ # Configuración persistida (launcher_config.json)
│ ├── RichPresence/ # Discord Rich Presence por IPC local
│ ├── Handlers/ # Bindings + motor (Handlers/Engine)
│ └── Core/ # Motor: módulos del núcleo
│ ├── Accounts/ # Cuentas offline/premium + almacenamiento cifrado
│ ├── Auth/ # Yggdrasil (Microsoft) + authlib-injector
│ ├── Downloader/ # Descargas concurrentes, colas, verificación
│ ├── Launcher/ # Lanzador + perfil, historial, crashes e instancias
│ ├── ModLoader/ # Fabric, Quilt, LegacyFabric, Forge, NeoForge
│ ├── Cache/ # Caché con TTL por categoría
│ ├── Assets/ # Assets personalizables (launcher_assets.json)
│ ├── Logger/ # Logs a archivo rotado + broadcast al frontend
│ └── Utils/ # Maven, extracción, plataforma
└── frontend/
├── wailsjs/ # Bindings generados por Wails (no editar)
└── web/ # Vue 3 + TS + SCSS + Vite
├── src/App.vue # Ventana principal (splash, sidebar, tarjetas)
├── src/Stores/ # Estado (ui, launcher, descargas, cuentas, actualizaciones...)
├── src/Modals/ # Ajustes, cuentas, instalación, versiones, crash, capturas...
└── src/Layouts/ # Secciones de ajustes y composables
- Go 1.26.4
- Wails CLI (
go install github.com/wailsapp/wails/v2/cmd/wails@latest) - bun (obligatorio para el frontend)
# Instalar dependencias del frontend
cd frontend
bun install
cd ..
# Dev en vivo (hot reload del frontend + bindings regenerados)
wails dev
# Verificación del backend
go build ./...
# Build de producción → build/bin/StepLauncher.exe
wails buildEl build regenera los bindings frontend/wailsjs, ejecuta el type-check (vue-tsc) y embebe el frontend compilado en el binario final.
- Consulta los registros:
Changelogs/es la memoria oficial del proyecto; antes de diagnosticar o modificar nada, revisa lo que ya pasó. - Documenta todo: cada error corregido o cambio relevante debe quedar registrado en
Changelogs/ANTES de dar la tarea por terminada (convenciones enChangelogs/README.md). - Respeta la arquitectura: bindings en
app.go, delegación eninternal/Handlers, sin bloquear el hilo principal ni los generadores de bindings de Wails, y sin self-deadlocks ensync. - Calidad primero: no se saltan las verificaciones de build, el type-check, la revisión de mutex y canales ni las reglas de estilo (ver
AGENTS.md).
Para las condiciones de distribución y redistribución, consulta el Código de Conducta.
StepLauncher utiliza herramientas de inteligencia artificial como parte del proceso de desarrollo. Se emplean principalmente para análisis de código, auditoría, debugging, revisión de arquitectura y asistencia durante la implementación.
La IA no reemplaza al creador del proyecto ni toma las decisiones finales sobre su arquitectura o funcionamiento. Todo cambio asistido por IA debe ser revisado, probado y validado antes de considerarse parte del proyecto.
El desarrollo, la dirección técnica y la responsabilidad final sobre StepLauncher corresponden al creador del proyecto.
Este proyecto se distribuye bajo la GNU General Public License v3.0. Consulta LICENSE.md para más detalles.
NovaStepStudio — Santiago Stepnicka
GitHub · Repositorio · Docs · Discord · Wails
© 2026 NovaStepStudio — StepLauncher es un proyecto independiente y no está afiliado a Mojang Studios ni a Microsoft.
