Skip to content

Estructura del proyecto

Rongorus edited this page Aug 19, 2026 · 1 revision

Estructura del proyecto

El launcher está escrito en Python 3.10+ con CustomTkinter para la interfaz y se empaqueta con PyInstaller.

Árbol de src/

src/
├── main.py                  # Punto de entrada
├── config/                  # Configuración (versiones, servidor, etc.)
│   └── __init__.py          # FORGE_VERSION, MC_VERSION, SERVER_IP, etc.
├── version.py               # VERSION del launcher y repo de releases
├── components/              # Componentes de UI (botones, barra de progreso, ...)
├── views/                   # Ventanas (principal, configuración RAM, sesión)
├── controller/              # Lógica (Minecraft, sesión, actualizar mods)
│   └── minecraft_controller.py
├── helpers/                 # Utilidades
│   ├── robust_network.py    # Descargas con timeout/reintentos
│   ├── archive_tools.py     # Extracción RAR/ZIP (unrar2-cffi)
│   ├── updater.py           # Auto-actualización vía GitHub Releases
│   ├── java_tools.py        # Detección/descarga de Java 17
│   ├── preinstalled.py      # Copia del juego preinstalado
│   └── ...
└── services/                # Servicios (logging, perfiles, ajustes)

Módulos clave

  • config/__init__.py: FORGE_VERSION (47.4.0), SERVER_IP, nombre del launcher, carpetas de .minecraft.
  • minecraft_controller.py: orquesta la instalación (Java → vanilla → librerías → Forge → assets → lanzamiento) con la barra de progreso y marcas [Fase] en el log.
  • archive_tools.py: extrae modpacks RAR/ZIP; crea las carpetas vacías como carpetas reales y coloca fancymenu_data/, mods/, config/, etc. en .minecraft.
  • updater.py: compara la versión local con la última Release y aplica launcher_update_<version>.zip.

Raíz del repo

build.bat                  # Compila el exe y empaqueta todo
empaquetar_juego.py        # Genera juego_preinstalado.zip
empaquetar_actualizacion.py# Genera launcher_update_<version>.zip
comprimir_paquete.py       # Genera RongonLang Launcher.zip (reparto)
CHANGELOG.md               # Historial de cambios
cambios/                   # Documentación detallada por cambio

Clone this wiki locally