Configurar repositório
O launcher busca as atualizações e os arquivos do jogo em um repositório GitHub seu. Você aponta o launcher para ele pelo launcher.json.
1. Criar o repositório
Crie um repositório no GitHub — pode ser privado. Ele guardará as releases (os patches) e o hash.json de integridade.
- No GitHub, clique em New (ou acesse
github.com/new). - Dê um nome ao repositório, por exemplo
meu-servidor-updatepara o update emeu-servidor-downloaderpara o downloader. - Marque Private se não quiser os arquivos do jogo abertos ao público.
- Clique em Create repository.

Guarde o owner (seu usuário) e o repo (o nome que você deu). Os dois vão para o launcher.json no passo 3.
2. Gerar o token de acesso
Se o repositório for privado, o launcher precisa de um token para ler os arquivos. Se for público, o token é opcional.
Recomendamos sempre criar o repositório privado e os tokens separados para o update, downloader e para tools.
2.1 Abrir as configurações de desenvolvedor
Clique na sua foto de perfil (canto superior direito) e vá em Settings. Role a barra lateral até o fim e entre em Developer settings.

2.2 Criar um fine-grained token
Vá em Personal access tokens → Fine-grained tokens e clique em Generate new token. Dê um nome que você reconheça depois, por exemplo launcher-meu-servidor, e escolha a data de expiração.

2.3 Escolher o repositório
Em Repository access, marque Only select repositories e escolha só o repositório do jogo. Não use a opção que libera todos.

2.4 Dar só permissão de leitura
Em Repository permissions, coloque Contents em Read-only. Isso basta para baixar as releases e os arquivos. O Metadata é marcado sozinho e pode ficar.

O token para conectar na tools é obrigatório no Contents ta marcado Read and write
2.5 Copiar o token
Clique em Generate token e copie o valor que aparecer. Ele começa com github_pat_.

O GitHub mostra o token uma única vez. Se você sair da página sem copiar, não dá para ver de novo — só gerar outro.
Se você usar um repositório separado para o cliente completo, marque os dois aqui. Um token que alcança só o de update deixa o downloader sem acesso — veja Repositório do downloader.
3. Apontar no launcher.json
"update": {
"github": {
"owner": "seu-usuario",
"repo": "meu-servidor",
"files_branch": "main",
"token": "github_pat_..."
}
}
Em repositório público, deixe o token vazio ou tire a linha.
Centralizar tudo no GitHub traz downloads rápidos (CDN global), sem cota e sem custo de banda para você.
O token vai dentro do cliente, então qualquer jogador consegue extrair. É por isso que ele tem que ser só de leitura e preso a um repositório: no pior caso alguém lê os arquivos do jogo, mas nunca apaga nada nem publica release no seu lugar.
Fine-grained token tem validade. Quando vencer, o launcher para de atualizar — anote a data e gere o novo antes.
Set up repository
The launcher fetches updates and game files from your GitHub repository. You point the launcher to it via launcher.json.
1. Create the repository
Create a repository on GitHub — private is fine. It will hold the releases (the patches) and the integrity hash.json.
- On GitHub, click New (or go to
github.com/new). - Give the repository a name, for example
my-server-updatefor the update andmy-server-downloaderfor the downloader. - Pick Private if you don't want the game files open to everyone.
- Click Create repository.

Keep the owner (your user) and the repo (the name you chose). Both go into launcher.json in step 3.
2. Generate the access token
If the repository is private, the launcher needs a token to read the files. For public repos the token is optional.
We recommend always creating the repository as private, with separate tokens for update, downloader, and tools.
2.1 Open the developer settings
Click your profile picture (top right) and go to Settings. Scroll the sidebar to the bottom and open Developer settings.

2.2 Create a fine-grained token
Go to Personal access tokens → Fine-grained tokens and click Generate new token. Give it a name you'll recognize later, such as launcher-my-server, and set the expiration date.

2.3 Pick the repository
Under Repository access, choose Only select repositories and pick just the game repository. Don't use the option that grants all of them.

2.4 Grant read access only
Under Repository permissions, set Contents to Read-only. That's enough to download releases and files. Metadata is selected automatically and can stay.

The token used to connect to tools must have Contents set to Read and write.
2.5 Copy the token
Click Generate token and copy the value shown. It starts with github_pat_.

GitHub shows the token only once. If you leave the page without copying it, there's no way to see it again — you have to generate a new one.
If you use a separate repository for the full client, select both here. A token that only reaches the update repo leaves the downloader without access — see Downloader repository.
3. Point it in launcher.json
"update": {
"github": {
"owner": "your-user",
"repo": "my-server",
"files_branch": "main",
"token": "github_pat_..."
}
}
On a public repository, leave token empty or remove the line.
Centralizing everything on GitHub means fast downloads (global CDN), no quota and no bandwidth cost for you.
The token ships inside the client, so any player can extract it. That's exactly why it must be read-only and tied to one repository: worst case someone reads the game files, but they can never delete anything or publish a release in your name.
Fine-grained tokens expire. Once it does, the launcher stops updating — note the date and generate the new one beforehand.
Configurar repositorio
El launcher busca las actualizaciones y los archivos del juego en tu repositorio de GitHub. Lo apuntas mediante launcher.json.
1. Crear el repositorio
Crea un repositorio en GitHub — puede ser privado. Guardará las releases (los patches) y el hash.json de integridad.
- En GitHub, haz clic en New (o entra en
github.com/new). - Ponle un nombre al repositorio, por ejemplo
mi-servidor-updatepara el update ymi-servidor-downloaderpara el downloader. - Marca Private si no quieres los archivos del juego abiertos al público.
- Haz clic en Create repository.

Guarda el owner (tu usuario) y el repo (el nombre que elegiste). Los dos van al launcher.json en el paso 3.
2. Generar el token de acceso
Si el repositorio es privado, el launcher necesita un token para leer los archivos. Si es público, el token es opcional.
Recomendamos siempre crear el repositorio privado y tokens separados para el update, el downloader y para tools.
2.1 Abrir la configuración de desarrollador
Haz clic en tu foto de perfil (arriba a la derecha) y entra en Settings. Baja la barra lateral hasta el final y abre Developer settings.

2.2 Crear un fine-grained token
Ve a Personal access tokens → Fine-grained tokens y haz clic en Generate new token. Ponle un nombre que reconozcas después, por ejemplo launcher-mi-servidor, y elige la fecha de expiración.

2.3 Elegir el repositorio
En Repository access, marca Only select repositories y elige solo el repositorio del juego. No uses la opción que da acceso a todos.

2.4 Dar solo permiso de lectura
En Repository permissions, pon Contents en Read-only. Con eso basta para descargar las releases y los archivos. Metadata se marca solo y puede quedarse.

El token para conectar con tools es obligatorio con Contents marcado como Read and write.
2.5 Copiar el token
Haz clic en Generate token y copia el valor que aparece. Empieza con github_pat_.

GitHub muestra el token una sola vez. Si sales de la página sin copiarlo, no hay forma de verlo otra vez — hay que generar uno nuevo.
Si usas un repositorio separado para el cliente completo, marca los dos aquí. Un token que solo alcanza el de update deja al downloader sin acceso — ver Repositorio del downloader.
3. Apuntar en launcher.json
"update": {
"github": {
"owner": "tu-usuario",
"repo": "mi-servidor",
"files_branch": "main",
"token": "github_pat_..."
}
}
En repositorio público, deja el token vacío o quita la línea.
Centralizar todo en GitHub trae descargas rápidas (CDN global), sin cuota y sin costo de ancho de banda.
El token va dentro del cliente, así que cualquier jugador puede extraerlo. Por eso tiene que ser solo de lectura y atado a un repositorio: en el peor caso alguien lee los archivos del juego, pero nunca borra nada ni publica una release en tu nombre.
El fine-grained token caduca. Cuando venza, el launcher deja de actualizar — anota la fecha y genera el nuevo antes.