Downloader · Configuração
O downloader não decide o que baixar: quem manda é o tema. Os nomes dos pacotes ficam num único lugar, no topo do functions.js.
Onde configurar
// downloader/assets/plugins/functions.js
const OPCOES = {
file1: 'client_com_som.zip',
file2: 'client_sem_som.zip'
};
As chaves (file1, file2) são os value dos <input type="radio"> no index.html. Os valores são os nomes exatos dos assets publicados na release do GitHub.
O nome precisa bater caractere por caractere com o asset da release — incluindo maiúsculas, hífens e underscores. Cliente-Com-Som.zip e cliente_com_som.zip são arquivos diferentes.
De onde vem o repositório
O dono, o repositório e o token ficam no launcher.json, criptografado — não no tema:
{
"downloader": {
"github": {
"owner": "seu-usuario",
"repo": "meu-cliente",
"token": null,
"prerelease": false
}
}
}
O launcher usa sempre a release mais recente desse repositório. Para trocar o que os jogadores baixam, publique uma release nova — não precisa mexer no tema.
Verificação antes de mostrar
Ao abrir, o downloader consulta a release e confere quais opções existem de verdade. Cada uma mostra o tamanho real, e a que não tiver arquivo publicado aparece apagada e não clicável.
Isso evita o pior caminho: o jogador escolher, esperar o download começar, e só então descobrir que aquele pacote não foi publicado.
Abra o console (F12) na tela do downloader para ver os nomes exatos que existem na release. É a forma mais rápida de acertar o OPCOES.
Verificação de integridade
Publique também um arquivo <nome>.zip.sha256 ao lado de cada pacote. O launcher confere o hash depois de baixar e antes de extrair; se não bater, apaga e avisa.
certutil -hashfile client_com_som.zip SHA256
Downloader · Configuration
The downloader doesn't decide what to fetch — the theme does. Package names live in one place, at the top of functions.js.
Where to configure
// downloader/assets/plugins/functions.js
const OPCOES = {
file1: 'client_with_sound.zip',
file2: 'client_no_sound.zip'
};
The keys (file1, file2) are the value attributes of the <input type="radio"> elements in index.html. The values are the exact asset names published in the GitHub release.
Names must match the release asset character by character — including case, hyphens and underscores. Client-With-Sound.zip and client_with_sound.zip are different files.
Where the repository comes from
Owner, repo and token live in launcher.json (encrypted), not in the theme:
{
"downloader": {
"github": {
"owner": "your-user",
"repo": "my-client",
"token": null,
"prerelease": false
}
}
}
The launcher always uses the latest release from that repo. To change what players download, publish a new release — no theme changes needed.
Checked before display
On open, the downloader queries the release and checks which options actually exist. Each one shows its real size, and any option without a published file appears dimmed and unclickable.
This avoids the worst path: the player picks an option, waits for the download to start, and only then finds out that package was never published.
Open the console (F12) on the downloader screen to see the exact names present in the release. It's the fastest way to get OPCOES right.
Integrity check
Also publish a <name>.zip.sha256 file next to each package. The launcher verifies the hash after downloading and before extracting; if it doesn't match, the file is deleted and an error is shown.
certutil -hashfile client_with_sound.zip SHA256
Downloader · Configuración
El downloader no decide qué descargar: manda el tema. Los nombres de los paquetes están en un solo lugar, arriba del functions.js.
Dónde configurar
// downloader/assets/plugins/functions.js
const OPCOES = {
file1: 'cliente_con_sonido.zip',
file2: 'cliente_sin_sonido.zip'
};
Las claves (file1, file2) son los value de los <input type="radio"> del index.html. Los valores son los nombres exactos de los assets publicados en la release de GitHub.
El nombre debe coincidir carácter por carácter con el asset de la release — incluidas mayúsculas, guiones y guiones bajos. Cliente-Con-Sonido.zip y cliente_con_sonido.zip son archivos distintos.
De dónde viene el repositorio
El dueño, el repositorio y el token están en launcher.json, cifrado — no en el tema:
{
"downloader": {
"github": {
"owner": "tu-usuario",
"repo": "mi-cliente",
"token": null,
"prerelease": false
}
}
}
El launcher usa siempre la release más reciente de ese repositorio. Para cambiar lo que descargan los jugadores, publica una release nueva — no hace falta tocar el tema.
Verificación antes de mostrar
Al abrir, el downloader consulta la release y comprueba qué opciones existen de verdad. Cada una muestra el tamaño real, y la que no tenga archivo publicado aparece apagada y no clicable.
Esto evita el peor camino: que el jugador elija, espere a que empiece la descarga, y solo entonces descubra que ese paquete nunca se publicó.
Abre la consola (F12) en la pantalla del downloader para ver los nombres exactos que existen en la release. Es la forma más rápida de acertar el OPCOES.
Verificación de integridad
Publica también un archivo <nombre>.zip.sha256 junto a cada paquete. El launcher comprueba el hash después de descargar y antes de extraer; si no coincide, lo borra y avisa.
certutil -hashfile cliente_con_sonido.zip SHA256