Conformidade e uso da API
Última revisão: 29 de setembro de 2026
Esta é a descrição técnica completa do que o RiftCoach faz com a API da Riot Games. Ela existe para quem for revisar o produto — na Riot ou fora dela — e para qualquer jogador que queira o raciocínio antes de instalar um binário.
A versão curta: ele só lê partidas que já acabaram, recusa rodar durante partida ao vivo, e essa recusa é garantida por código que falha fechado — não por uma promessa num documento como este.
O que o RiftCoach é
Um aplicativo de desktop para Windows que revisa partidas de League of Legends já terminadas e produz um relatório de coaching. Ele é feito para quem vê que perdeu mas não vê onde. O objetivo é apontar a decisão específica que custou a partida, no segundo em que ela aconteceu, para você poder rever aquilo no replay.
Como ele funciona
- Você informa o seu Riot ID. Hoje você também informa a sua própria chave da API da Riot; veja Modelo de negócio para o que muda com uma Production Key.
- O app busca as partidas terminadas por
match-v5e a timeline da partida. - Toda a percepção e toda a aritmética são feitas de forma determinística, em Python. Fatos de item, campeão e runa vêm do Data Dragon, fixados no patch da partida analisada — nunca no patch atual.
- Um motor de avaliação converte o estado de jogo em vantagem equivalente em ouro, e depois em probabilidade de vitória. Assim um erro é reportado como uma perda medida de probabilidade, e não como opinião. Toda afirmação carrega o horário e o nível da evidência: medida direto da telemetria, derivada da telemetria mais uma premissa declarada, ou inferida.
- Opcionalmente, um modelo de linguagem escreve a prosa explicativa em cima dos números já medidos. O modelo nunca produz os números. Sem modelo configurado, o relatório determinístico completo continua saindo.
- Você pode abrir o replay no client do League, e o app desenha as anotações sobre a janela do replay, sincronizadas com o relógio do replay.
Ele nunca roda durante uma partida ao vivo
Esta é a parte que vale verificar em vez de acreditar, então aqui está o mecanismo.
Um único módulo é o único código do aplicativo autorizado a abrir conexão com
127.0.0.1:2999. Antes de cada requisição ele consulta
GET /replay/playback — uma rota que só existe enquanto um replay está rodando.
Durante uma partida ao vivo essa rota devolve 404, enquanto /liveclientdata/*
continua respondendo, e o 404 levanta uma exceção que aborta a operação.
Ele falha fechado em 404, em erro de conexão, em timeout e em corpo de resposta inesperado. O overlay em si não sabe a porta, não abre socket e não monta URL: ele pede ao controlador guardado. O relógio do replay é lido pela Replay API oficial.
O que ele deliberadamente não faz
- Nenhuma interação com o processo do jogo: não lê memória, não injeta código, não simula entrada, não renderiza dentro da engine. O overlay do replay é uma janela transparente comum do Windows, desenhando ao lado do jogo.
- Nada em seleção de campeões, e nenhum uso da LCU API.
- Nenhum alerta ao vivo, nenhum timer de recarga inimiga, nenhuma informação de área não visível, nenhum timer de ultimate.
- Nenhum scraping de sites terceiros (op.gg, u.gg, porofessor, lolalytics). Toda estatística é agregada por nós, a partir da API da Riot.
- Nenhuma publicidade em lugar nenhum do produto, e nada de aposta.
- Para as APIs locais do client fazemos pinning do
riotgames.pempublicado pela Riot, em vez de desligar a verificação de TLS.
APIs da Riot usadas
/riot/account/v1/accounts/by-riot-id/{nome}/{tag}— Riot ID para PUUID/lol/match/v5/matches/by-puuid/{puuid}/ids— listar partidas terminadas/lol/match/v5/matches/{matchId}— placar, build, runas, composição/lol/match/v5/matches/{matchId}/timeline— eventos e posições por minuto/lol/match/v5/matches/by-puuid/{puuid}/replays— metadados de replay/lol/league/v4/entries/by-puuid/{puuid}— o elo do jogador, para comparar contra o percentil certo/lol/league/v4/{tier}leagues/by-queue/{queue}— ladders de Challenger, Grão-Mestre e Mestre, amostradas para montar as estatísticas agregadas por patch/lol/status/v4/platform-data— usada pelo comando de diagnóstico- Data Dragon (CDN estática) — nomes, custos, recargas, alcances e ícones
- Replay API e Live Client Data API locais em
127.0.0.1:2999, somente em modo replay, atrás do intertravamento descrito acima
Volume de requisições esperado
Um relatório custa cerca de cinco requisições: account-v1 uma vez por usuário e em
cache, a lista de partidas, a partida, a timeline dela e league-v4 para o elo. O
consumo mais pesado é um job periódico que lê as três ladders do topo para montar os agregados
por patch; ele não é disparado por usuário e é regulado por um limitador que lê o cabeçalho
X-App-Rate-Limit e se adapta ao limite que a chave carregar.
Tratamento de dados
Os dados de partida ficam em cache na sua máquina e não são transmitidos para lugar nenhum, exceto para um provedor de IA que você tenha configurado explicitamente. O modo de privacidade estrita remove os provedores de nuvem no roteador. As chaves de API ficam no cofre de credenciais do sistema operacional, nunca no repositório.
Existe um recurso opcional, desligado por padrão, que prepara contagens categóricas agregadas — categoria do erro, gravidade, fase, rota, campeão, campeão adversário, patch. Ele nunca inclui prosa, PUUID, Riot ID, ID de partida nem qualquer outro identificador. O consentimento é versionado. Não existe serviço de envio hoje, então esses pacotes ficam na sua máquina.
O detalhe completo está na política de privacidade.
Aprendizado de máquina
O projeto não treina modelos de aprendizado de máquina com dados de partida, e não pretende treinar. A razão é concreta: os termos da Riot exigem, na rescisão, apagar toda a informação de jogo em nossa posse, e a LGPD dá ao titular o mesmo direito de eliminação. Peso de modelo treinado não é deletável seletivamente — treinar seria assumir uma obrigação sem mecanismo para cumpri-la.
Toda a personalização é busca sobre um banco de dados, que um DELETE esvazia
de verdade.
Modelo de negócio
O aplicativo de desktop é gratuito, não exige cadastro, e mantém toda capacidade que tem hoje para as suas próprias partidas. Nada que funciona hoje passa a ser pago, e nenhuma informação competitiva fica atrás de paywall. Isso é regra escrita do projeto, e os Termos de Uso obrigam a ToriiTech a isso de forma irrevogável.
O que a ToriiTech pretende cobrar é um serviço hospedado, que ainda não existe:
- Análise hospedada rodando no nosso servidor, com a nossa própria Production Key, para que o usuário não precise de chave da Riot nenhuma. Como isso consome a nossa cota, o tier gratuito teria um limite mensal; o caminho sem limite continua gratuito para quem usar a própria chave.
- IA escrevendo a prosa com chaves de modelo que nós pagamos, em vez de o usuário configurar um provedor.
- Ferramentas para quem treina outros jogadores: lista de alunos, acompanhar um aluno ao longo do tempo, compartilhar um relatório por link, e exportações.
- Sincronizar o histórico do jogador entre máquinas, e acesso aos agregados por patch.
Todo item pago é um serviço que custa dinheiro para rodar. Nenhum deles é uma capacidade retirada do cliente gratuito.
A chave e o cliente distribuído
Uma chave de API não pode ser embarcada no cliente: os termos da Riot proíbem divulgá-la, e num binário distribuído ela é extraível em minutos, proprietário ou não. Com uma Production Key, a chave fica no servidor, o cliente distribuído nunca a recebe, e não existe caminho de código que a envie para lugar nenhum.
Verificação
O repositório de código é privado, então nada acima precisa ser aceito na base da confiança:
damos acesso de leitura a um revisor sob pedido, e fornecemos um build. O intertravamento de
partida ao vivo vive num único módulo, riftcoach/replay/guard.py, e é coberto pela
suíte de testes — dá para verificar em alguns minutos com acesso.
Escreva para toriitech2026@gmail.com.
Política de Privacidade · Termos de uso
RiftCoach não é endossado pela Riot Games e não reflete as visões ou opiniões da Riot Games ou de qualquer pessoa oficialmente envolvida na produção ou gestão das propriedades da Riot Games. League of Legends e Riot Games são marcas registradas ou marcas comerciais da Riot Games, Inc.
Um produto desenvolvido pela ToriiTech · toriitech2026@gmail.com