Como usar o manifesto SteamTools e arquivos Lua
Passo a passo: pesquise um Steam App ID, gere o manifesto + Lua ZIP, instale SteamTools e coloque os arquivos no depotcache. Inclui erros e correções comuns.
Última atualização: 2026-07-15
Esta página explica o gerador em steamtools.games: digite um nome de jogo ou App ID, baixe um ZIP (Lua + key.vdf + README) e use esses arquivos com o SteamTools desktop client. O site em si não precisa de inscrição. Você ainda precisa instalar SteamTools em seu computador antes que os arquivos façam algo útil.
1. Você digita o nome do jogo
A caixa de entrada na página inicial elimina as teclas digitadas em 250 ms e, em seguida, solicita ao nosso endpoint /api/search uma pequena lista de correspondências. O endpoint faz proxy da pesquisa de armazenamento público de Steam e retorna os cinco principais resultados, cada um com App ID, o nome de exibição e uma pequena imagem de cápsula.
Não há índice local. Cada pesquisa é uma viagem de ida e volta ao vivo para Steam. Não armazenamos em cache os resultados da pesquisa em um banco de dados porque o catálogo do Steam é grande o suficiente para que a taxa de acertos do cache seja baixa e os resultados obsoletos seriam piores do que nenhum cache.
Se você já conhece o App ID - e deveria, porque encontrá-lo é um trabalho de 30 segundos para qualquer jogo no Steam - cole-o diretamente na caixa de entrada. O gerador detecta um número de 4 a 10 dígitos, desativa o menu suspenso de pesquisa e permite pular direto para a etapa 3.
2. Você escolhe um resultado
Clicar em um resultado no menu suspenso define dois valores de estado ocultos: App ID (um número inteiro) e o nome do jogo. A caixa de entrada é atualizada para o nome de exibição e o botão "Gerar" é ativado.
O menu suspenso pode ser navegado pelo teclado. As teclas de seta movem o destaque, Enter seleciona, Escape fecha. O primeiro resultado é pré-destacado para que um Enter rápido escolha o hit principal.
Se a pesquisa não retornar nenhum resultado, o menu suspenso mostrará uma dica "sem correspondências" com um link para o localizador de ID do aplicativo e um link para a entrada de perguntas frequentes para "meu jogo não está na lista".
3. A solicitação de geração
Clicar em Gerar envia uma solicitação POST /api/generate com App ID (e um nome de ramificação opcional – útil para ramificações beta Steam). O ponto final:
- Valida que App ID é um número inteiro positivo no intervalo legal (1 a 2.147.483.647).
- Chama o endpoint
appdetailsde Steam para confirmar se o jogo realmente existe e para buscar o nome canônico e a imagem da cápsula. Este é o único lugar onde tocamos o API de Steam para gerar fluxo. - Lê a lista de depósitos da ramificação solicitada na interface Steam do
appinfo, escolhe a compilação pública mais recente para cada depósito e resolve as chaves de descriptografia do depósito correspondentes. - Renderiza o texto do manifesto e o texto do script Lua a partir desses valores.
- Retorna ambos os arquivos embutidos como
text/plainpara que o navegador possa salvá-los com os nomes de arquivo corretos, sem qualquer estado do lado do servidor.
Toda a viagem de ida e volta geralmente leva de 200 a 400 ms em uma borda quente e até 1,2 s em uma borda fria (a primeira solicitação após uma remoção de cache Cloudflare). Se você perceber que leva mais de 3 s, o endpoint Steam appdetails é o gargalo, não nós.
4. Você baixa o ZIP e coloca os arquivos
O cartão de resultados oferece Download ZIP (recomendado) além de links diretos opcionais para o arquivo Lua e key.vdf. O ZIP é nomeado como appmanifest_<APPID>_public.zip e contém:
-<APPID>_public.lua
-key.vdf
README.txtcom breves notas de instalação
Você também pode acessar /api/files/<APPID>/zip com curl se automatizar as instalações.
Posicionamento (recomendado para pacotes deste site):
- Instale SteamTools se ainda não o fez.
- Copie
.luaekey.vdfpara a raiz de instalação do SteamTools — a mesma pasta do executável SteamTools / Watt Toolkit (veja README dentro do ZIP). - Saia totalmente e reabra SteamTools e, em seguida, atualize a biblioteca.
Este gerador não envia arquivos appmanifest_*.acf clássicos. Para layouts de depotcache/scripts usados com desbloqueios .acf, consulte Arquivos de manifesto.
O site nunca executa um instalador no seu PC e nunca armazena conteúdo do jogo – apenas os pequenos arquivos de texto que você baixa.
Como as quatro etapas se encaixam
┌────────────┐ debounce ┌────────────┐ proxy ┌──────────────┐
│ Input box │ ──────────► │ /api/search│ ───────────► │ Steam store │
└────────────┘ 250ms └────────────┘ │ search API │
└──────────────┘
│ pick result (AppID + name)
▼
┌────────────┐ POST ┌────────────┐ render ┌──────────────┐
│ Generate │ ──────────► │/api/generate│ ───────────► │ .acf + .lua │
│ button │ │ (server) │ │ text/plain │
└────────────┘ └────────────┘ └──────────────┘
│ download (user click)
▼
┌─────────┐ ┌────────────────┐
│depotcache│ │ SteamTools/ │
│ /manifest│ │ scripts/lua │
└─────────┘ └────────────────┘
│ restart SteamTools
▼
game unlocked
O que roda no navegador
A página inicial é um aplicativo TanStack Start renderizado pelo servidor. Após a hidratação, a IU do produto executa:
- A entrada de pesquisa rejeitada.
- O cartão de resultado de geração/download.
- A faixa "Recente" que lê
localStorage.
Scripts opcionais de terceiros (por exemplo, análises ou anúncios) podem ser carregados quando configurados — consulte a política de privacidade. Eles não são necessários para pesquisa ou geração para funcionar.
O que roda no servidor
- O servidor Nitro, que atende as rotas e agrupa os módulos de mensagens do parapente.
- As duas rotas API, ambas em
src/routes/api/. - Um limitador de taxa por IP de 1,5 s no
/api/generatee um de 300 ms no/api/search. - Registro de solicitações em nível de borda para detecção de abuso. Os logs são alternados a cada 14 dias.
Os cinco erros e como corrigir cada um
Esses são os únicos erros que o gerador pode retornar. Se você vir um, a correção está no lado Steam, não no nosso.
1. "Aplicativo não encontrado" (HTTP 404 de /api/generate)
O endpoint appdetails de Steam retornou success: false. A causa mais comum é um aplicativo que foi removido do Steam, mas ainda está instalado em sua máquina. Steam mantém appdetails acessível para alguns aplicativos excluídos e inacessível para outros. Não há solução alternativa para nós. Consulte a página de arquivos de manifesto para saber o que fazer se esse for o seu caso.
A segunda causa mais comum é um erro de digitação no App ID. App IDs são inteiros; "Portal 2" é 620, não 620 (espaço à direita) ou 0620 (zero à esquerda). Cole novamente sem espaços em branco.
2. "Filial não encontrada"
Você digitou um nome de ramificação que não existe no aplicativo de destino. Os nomes de ramificação Steam diferenciam maiúsculas de minúsculas e devem corresponder exatamente: public, beta, beta_1, ptb, experimental. Se você deixar o campo em branco, obterá a filial pública.
Para descobrir ramificações disponíveis para um determinado aplicativo, verifique guia de ramificações de SteamDB — essa página é a fonte oficial para nomes de ramificações e o buildid de cada uma.
3. "Limite de taxa excedido"
Você fez mais de uma solicitação /api/generate do seu IP nos últimos 1,5 segundos ou mais de três solicitações /api/search nos últimos 300 ms. Espere um momento e tente novamente. Não há como “desbloquear” uma proibição de limite de taxa – o limite é automático, por IP e é redefinido por conta própria.
Se você tiver uma necessidade legítima de maior rendimento (um servidor de compilação, um pipeline de automação), use o public API e coloque suas solicitações em um loop de espera. Ignorar o limite de taxa com vários IPs é motivo para um bloqueio permanente.
4. "Tempo limite de detalhes do aplicativo Steam"
O endpoint Steam appdetails não retornou em 5 s. Isso acontece aproximadamente uma vez a cada milhares de solicitações. O gerador retorna um 503 com um cabeçalho Retry-After: 2. Clique novamente no botão Gerar; a segunda tentativa quase sempre é bem-sucedida porque o cache de borda do Steam aqueceu.
5. "Arquivo de manifesto vazio"
O manifesto foi baixado com sucesso, mas tem 0 bytes ou tem apenas o cabeçalho AppState e nenhum campo. Isso significa que o aplicativo não possui depósitos públicos — o aplicativo existe no catálogo do Steam, mas nenhuma compilação foi publicada. Comum para aplicativos ainda com status "Em breve", para aplicativos cujas compilações estão restritas à versão beta fechada e para algumas ferramentas de editor.
Não há solução do nosso lado. Assim que o editor enviar uma compilação pública, o gerador começará a retornar um manifesto não vazio para App ID.
SteamTools.games vs Watt Toolkit vs GreenLuma vs SteamDB
Ajuda saber qual ferramenta faz o quê, porque todas as quatro são mencionadas nas mesmas conversas de desbloqueio Steam.
| Ferramenta | O que é | O que faz | Quando usar |
|---|---|---|---|
| SteamTools.games (este site) | Um manifesto web + gerador Lua | Constrói os dois arquivos que SteamTools precisa; não modifica sua instalação do Steam | Quando você deseja o manifesto e Lua para um aplicativo específico sem instalar nada |
| Watt Toolkit (anteriormente Steam++) | Um conjunto de utilitários Steam que inclui um fork SteamTools | Executa localmente; fornece aceleração de rede, desbloqueio de conquistas e recurso de desbloqueio de desktop SteamTools | Quando você deseja um conjunto de mod Steam local completo, não apenas um manifesto único |
| SteamTools (o cliente de desktop) | Um cache de chave de depósito Steam e um executor Lua | Lê o manifesto + Lua de depotcache e scripts/ e os executa no lançamento de Steam | Quando você tem os arquivos e deseja realmente desbloquear o aplicativo |
| GreenLuma | Um desbloqueador Steam separado que usa um mecanismo diferente | Corrige o próprio Steam para aceitar depósitos arbitrários | Quando você precisa de um desbloqueio não compatível com SteamTools (raro) |
| SteamDB | Um rastreador de metadados Steam somente leitura | Mostra quais buildid, depósitos e filiais existem para um aplicativo | Quando você precisar procurar nomes de filiais ou verificar a versão mais recente |
Essas ferramentas não são concorrentes – elas cobrem diferentes camadas do mesmo fluxo de trabalho. SteamTools.games passa para SteamTools (o cliente de desktop), que é o que a maioria das pessoas quer dizer quando diz "SteamTools".
Desempenho e limites
- O site está hospedado na rede de ponta do Cloudflare. A primeira solicitação após a remoção do cache é uma inicialização a frio (~600–1200 ms); solicitações subsequentes para o mesmo AppID são quentes (~150–300 ms).
/api/generatetem taxa limitada a 1 solicitação a cada 1,5 s por IP./api/searché 1 por 300 ms por IP. Esses limites são intencionais, não negociáveis e existem porque o endpointappdetailsdo Steam também é upstream com taxa limitada.- O gerador não suporta aplicativos com mais de 100 depósitos. Não vimos um aplicativo real com mais de 30. Se você encontrar um, registre um bug no App ID.
- O gerador não suporta IDs de aplicativos acima de
2,147,483,647(o limite int32). O App ID mais alto que já resolvemos está na faixa baixa de 4 milhões; O próprio Steam não atribui IDs superiores.
O que o serviço não faz
- Não modifica nenhum arquivo de jogo em sua máquina.
- Não ignora o DRM, as verificações de licença ou a autenticação do Steam.
- Não armazena seu histórico de pesquisa em um servidor. A faixa "Recente" na página inicial é lida no
localStoragedo seu navegador, não no nosso. - Não requer uma conta, e-mail ou número de telefone.
- Não agrupa nem redistribui nenhum conteúdo do jogo. Os dois arquivos que ele produz são pequenos arquivos de texto (o manifesto tem menos de 4 KB; o Lua tem menos de 1 KB).
Se você quiser confirmar se o serviço está fazendo o que diz, todo o lado do servidor está em src/routes/api/ e src/server.ts do projeto de código aberto. O lado do cliente está em src/blocks/generator.tsx. Cada caminho de código consiste em um ou dois arquivos; nada está escondido atrás de uma etapa de construção que você não pode inspecionar.
Leitura adicional
- Instalar SteamTools — Cliente de desktop Windows / macOS / Linux
- Arquivos de manifesto explicados — o que os arquivos contêm
- Como encontrar um Steam App ID — quando você não conhece o App ID
- FAQ — a lista de perguntas mais longa e profunda
- Solução de erros do gerador — a versão do blog da tabela de erros acima
- Desenvolvedores / API — para automação e uso com script
Veja também
- O que é um arquivo de manifesto Steam e como usá-lo com SteamTools? — o guia completo da porta da frente; esta página é um mergulho mais profundo em uma parte dela.