GameCode Docs
CTRL K

Configurar repositório

GitHubToken
No v4, tudo fica no GitHub: atualização, verificação de arquivos e download. Aqui está como preparar o 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.

  1. No GitHub, clique em New (ou acesse github.com/new).
  2. Dê um nome ao repositório, por exemplo meu-servidor-update para o update e meu-servidor-downloader para o downloader.
  3. Marque Private se não quiser os arquivos do jogo abertos ao público.
  4. Clique em Create repository.
Tela de criação de repositório do GitHub

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.

Item Developer settings na barra lateral das configurações do GitHub

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.

Tela de geração de um fine-grained token

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.

Opção Only select repositories com o repositório do jogo escolhido

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.

Permissão Contents definida como Read-only

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_.

Token gerado, com o botão de copiar

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.

i

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

GitHubToken
In v4, everything lives on GitHub: updates, file verification and download. Here's how to prepare the 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.

  1. On GitHub, click New (or go to github.com/new).
  2. Give the repository a name, for example my-server-update for the update and my-server-downloader for the downloader.
  3. Pick Private if you don't want the game files open to everyone.
  4. Click Create repository.
GitHub new repository screen

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.

Developer settings item in the GitHub settings sidebar

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.

Fine-grained token generation screen

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.

Only select repositories option with the game repository chosen

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.

Contents permission set to Read-only

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_.

Generated token with the copy button

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.

i

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

GitHubToken
En v4, todo queda en GitHub: actualización, verificación de archivos y descarga. Aquí cómo preparar el 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.

  1. En GitHub, haz clic en New (o entra en github.com/new).
  2. Ponle un nombre al repositorio, por ejemplo mi-servidor-update para el update y mi-servidor-downloader para el downloader.
  3. Marca Private si no quieres los archivos del juego abiertos al público.
  4. Haz clic en Create repository.
Pantalla de creación de repositorio de GitHub

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.

Opción Developer settings en la barra lateral de configuración de GitHub

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.

Pantalla de generación de un fine-grained token

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.

Opción Only select repositories con el repositorio del juego elegido

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.

Permiso Contents en Read-only

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_.

Token generado, con el botón de copiar

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.

i

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.