Downloader · Funções
O downloader baixa o jogo completo do GitHub e extrai. Aqui é o tema que dispara o download.
Os nomes dos pacotes e o repositório ficam em Configuração. Esta página é a referência das funções.
De onde vem o arquivo
O launcher lê a release mais recente do repositório configurado em downloader.github, e baixa o asset cujo nome o tema pedir.
Se você publicar um <nome>.zip.sha256 ao lado do pacote, o hash é conferido depois de baixar e antes de extrair.
ListAssets()essencialLista os arquivos disponíveis.
const arquivos = await ListAssets();DownloadFile(asset)essencialBaixa um arquivo.
await DownloadFile(arquivos[0]);ExtractFile(caminho)essencialExtrai o baixado. null = usa o último.
await ExtractFile(null); // null = usa o último baixadoProgresso
OnProgress((pct) => {
$('#barra').css('width', pct + '%');
});
O que acontece ao terminar
Depois de extrair, o launcher grava downloader: true no system.json e reinicia. Na próxima abertura ele pula direto para o launcher — o downloader só aparece na primeira instalação.
Se algo falhar
O arquivo temporário é apagado em qualquer desfecho: conexão caída, hash divergente, erro na extração. Um download de vários GB interrompido não fica ocupando disco.
A ferramenta também limpa sobras no boot, para o caso de o processo ter sido morto no meio.
Como o tema comanda o download, o fallback embutido não baixa. Por isso, downloader offline é bloqueado com aviso.
Downloader · Functions
The downloader fetches the full game from GitHub and extracts. Here the theme triggers the download.
Package names and the repository live in Configuration. This page is the function reference.
Where the file comes from
The launcher reads the latest release from the repo set in downloader.github, and downloads the asset whose name the theme asks for.
If you publish a <name>.zip.sha256 next to the package, the hash is verified after downloading and before extracting.
ListAssets()essentialLists available files.
const files = await ListAssets();DownloadFile(asset)essentialDownloads a file.
await DownloadFile(arquivos[0]);ExtractFile(path)essentialExtracts the download. null = uses the last one.
await ExtractFile(null); // null = usa o último baixadoProgress
OnProgress((pct) => {
$('#barra').css('width', pct + '%');
});
What happens when it finishes
After extracting, the launcher writes downloader: true to system.json and restarts. Next time it goes straight to the launcher — the downloader only shows on first install.
If something fails
The temporary file is deleted on any outcome: dropped connection, hash mismatch, extraction error. An interrupted multi-GB download won't sit there eating disk space.
Leftovers are also cleaned at boot, in case the process was killed mid-way.
Since the theme drives the download, the built-in fallback won't download. That's why an offline downloader is blocked with a warning.
Downloader · Funciones
El downloader descarga el juego completo de GitHub y lo extrae. Aquí el tema dispara la descarga.
Los nombres de los paquetes y el repositorio están en Configuración. Esta página es la referencia de las funciones.
De dónde viene el archivo
El launcher lee la release más reciente del repositorio configurado en downloader.github, y descarga el asset cuyo nombre pida el tema.
Si publicas un <nombre>.zip.sha256 junto al paquete, el hash se comprueba tras descargar y antes de extraer.
ListAssets()esencialLista los archivos disponibles.
const archivos = await ListAssets();DownloadFile(asset)esencialDescarga un archivo.
await DownloadFile(arquivos[0]);ExtractFile(ruta)esencialExtrae lo descargado. null = usa el último.
await ExtractFile(null); // null = usa o último baixadoProgreso
OnProgress((pct) => {
$('#barra').css('width', pct + '%');
});
Qué pasa al terminar
Tras extraer, el launcher graba downloader: true en system.json y reinicia. La próxima vez va directo al launcher — el downloader solo aparece en la primera instalación.
Si algo falla
El archivo temporal se borra en cualquier desenlace: conexión caída, hash distinto, error en la extracción. Una descarga de varios GB interrumpida no se queda ocupando disco.
Los restos también se limpian en el arranque, por si el proceso murió a medio camino.
Como el tema comanda la descarga, el fallback integrado no descarga. Por eso, downloader offline se bloquea con aviso.