Comment utiliser les fichiers manifestes SteamTools et Lua
Étape par étape : recherchez un Steam App ID, générez le manifeste + Lua ZIP, installez SteamTools et déposez les fichiers dans le cache de dépôt. Comprend les erreurs et correctifs courants.
Dernière mise à jour: 2026-07-15
Cette page explique le générateur sur steamtools.games : tapez un nom de jeu ou App ID, téléchargez un ZIP (Lua + key.vdf + README), puis utilisez ces fichiers avec le client de bureau SteamTools. Le site Web lui-même ne nécessite aucune inscription. Vous devez toujours installer SteamTools sur votre ordinateur avant que les fichiers ne fassent quoi que ce soit d'utile.
1. Vous tapez un nom de jeu
La zone de saisie sur la page d'accueil anti-rebond vos frappes au clavier de 250 ms, puis demande à notre point de terminaison /api/search une courte liste de correspondances. Le point de terminaison proxy la recherche dans le magasin public de Steam et renvoie les cinq premiers résultats, chacun avec le App ID, le nom d'affichage et une petite image de capsule.
Il n'y a pas d'index local. Chaque recherche est un aller-retour en direct vers Steam. Nous ne mettons pas en cache les résultats de recherche dans une base de données car le catalogue de Steam est suffisamment grand pour que le taux de réussite du cache soit faible et que des résultats obsolètes seraient pires que l'absence de cache.
Si vous connaissez déjà le App ID — et vous devriez le faire, car le trouver est un travail de 30 secondes pour n'importe quel jeu sur Steam — collez-le directement dans la zone de saisie. Le générateur détecte un numéro de 4 à 10 chiffres, désactive la liste déroulante de recherche et vous permet de passer directement à l'étape 3.
2. Vous choisissez un résultat
Cliquer sur un résultat dans la liste déroulante définit deux valeurs d'état masquées : le App ID (un entier) et le nom du jeu. La zone de saisie est mise à jour avec le nom d'affichage et le bouton « Générer » devient activé.
La liste déroulante est navigable au clavier. Les touches fléchées déplacent la surbrillance, Enter sélectionne, Escape la ferme. Le premier résultat est pré-mis en surbrillance, donc une entrée rapide sélectionne le premier résultat.
Si la recherche ne renvoie aucun résultat, la liste déroulante affiche un indice « aucune correspondance » avec un lien vers le app-id finder et un lien vers l'entrée FAQ pour "mon jeu n'est pas dans la liste".
3. La requête de génération
Cliquer sur Générer envoie une requête POST /api/generate avec le App ID (et un nom de branche facultatif — utile pour les branches bêta Steam). Le point final :
- Valide que App ID est un entier positif dans la plage légale (1 à 2 147 483 647).
- Appelle le point de terminaison
appdetailsde Steam pour confirmer que le jeu existe réellement et récupérer le nom canonique et l'image de la capsule. C'est le seul et unique endroit où nous touchons le API de Steam pour le flux généré. - Lit la liste des dépôts pour la branche demandée à partir de l'interface
appinfode Steam, sélectionne la dernière version publique pour chaque dépôt et résout les clés de déchiffrement de dépôt correspondantes. - Rend le texte du manifeste et le texte du script Lua à partir de ces valeurs.
- Renvoie les deux fichiers en ligne sous le nom
text/plainafin que le navigateur puisse les enregistrer avec les noms de fichiers corrects sans aucun état côté serveur.
L'ensemble de l'aller-retour prend généralement 200 à 400 ms sur un front chaud et jusqu'à 1,2 s sur un front froid (la première requête après une expulsion du cache Cloudflare). Si jamais vous constatez que cela prend plus de 3 s, c'est le point de terminaison des détails de l'application Steam qui est le goulot d'étranglement, pas nous.
4. Vous téléchargez le ZIP et placez les fichiers
La carte de résultats propose le Téléchargement ZIP (recommandé) ainsi que des liens directs facultatifs pour le fichier Lua et key.vdf. Le ZIP porte le nom de appmanifest_<APPID>_public.zip et contient :
<APPID>_public.luakey.vdfREADME.txtavec de courtes notes d'installation
Vous pouvez également frapper /api/files/<APPID>/zip avec curl si vous automatisez les installations.
Emplacement (recommandé pour les packages de ce site) :
- Installez SteamTools si ce n'est pas déjà fait.
- Copiez les fichiers
.luaetkey.vdfdans la racine d'installation de SteamTools — le même dossier que l'exécutable SteamTools / Watt Toolkit (voir le README à l'intérieur du ZIP). - Quittez complètement et rouvrez SteamTools, puis actualisez la bibliothèque.
Ce générateur ne livre pas les fichiers appmanifest_*.acf classiques. Pour les dispositions depotcache/scripts utilisées avec les déverrouillages .acf, voir Fichiers manifeste.
Le site Web n'exécute jamais de programme d'installation sur votre PC et ne stocke jamais le contenu du jeu, uniquement les petits fichiers texte que vous téléchargez.
Comment les quatre étapes s'articulent
┌────────────┐ 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
Ce qui s'exécute dans le navigateur
La page d'accueil est une application TanStack Start rendue par le serveur. Après l'hydratation, l'interface utilisateur du produit exécute :
- L'entrée de recherche anti-rebond.
- La carte de résultat de génération/téléchargement.
- La bande "Récente" qui lit depuis
localStorage.
Des scripts tiers facultatifs (par exemple des analyses ou des publicités) peuvent se charger une fois configurés – voir la politique de confidentialité. Ils ne sont pas nécessaires à la recherche ou à la génération pour fonctionner.
Ce qui s'exécute sur le serveur
- Le serveur Nitro, qui dessert les itinéraires et regroupe les modules de messages parapente.
- Les deux itinéraires API, tous deux en
src/routes/api/. - Un limiteur de débit de 1,5 s par IP sur
/api/generateet de 300 ms sur/api/search. - Journalisation des requêtes au niveau Edge pour la détection des abus. Les journaux sont alternés tous les 14 jours.
Les cinq erreurs et comment les corriger
Ce sont les seules erreurs que le générateur peut renvoyer. Si vous en voyez un, le correctif se trouve du côté Steam, pas du nôtre.
1. "Application introuvable" (HTTP 404 de /api/generate)
Le point de terminaison appdetails de Steam a renvoyé success: false. La cause la plus courante est une application qui a été supprimée de la liste Steam mais qui est toujours installée sur votre ordinateur. Steam maintient appdetails accessible pour certaines applications supprimées et inaccessible pour d'autres. Il n'y a pas de solution de contournement de notre côté – consultez la page des fichiers manifestes pour savoir quoi faire si tel est votre cas.
La deuxième cause la plus courante est une faute de frappe dans le App ID. Les App ID sont des nombres entiers ; "Portail 2" est 620, et non 620 (espace de fin) ou 0620 (zéro de gauche). Recollez sans espace.
2. "Branche introuvable"
Vous avez saisi un nom de branche qui n'existe pas sur l'application cible. Les noms de branche Steam sont sensibles à la casse et doivent correspondre exactement : public, beta, beta_1, ptb, experimental. Si vous laissez le champ vide, vous obtenez la branche publique.
Pour découvrir les branches disponibles pour une application donnée, consultez [l'onglet branches de SteamDB] (https://steamdb.info/) — cette page est la source faisant autorité pour les noms de branche et l'ID de construction de chacune.
3. « Limite de débit dépassée »
Vous avez effectué plus d'une requête /api/generate depuis votre IP au cours des 1,5 dernières secondes, ou plus de trois requêtes /api/search au cours des 300 dernières ms. Attendez un moment et réessayez. Il n'existe aucun moyen de « déverrouiller » une interdiction de limite de débit : la limite est automatique, par IP, et se réinitialise d'elle-même.
Si vous avez un besoin légitime d'un débit plus élevé (un serveur de build, un pipeline d'automatisation), utilisez le public API et placez vos requêtes derrière une boucle d'attente. Le contournement de la limite de débit avec plusieurs adresses IP constitue un motif de blocage permanent.
4. "Délai d'expiration des détails de l'application Steam"
Le point de terminaison Steam appdetails n’est pas revenu dans les 5 s. Cela se produit environ une fois toutes les quelques milliers de requêtes. Le générateur renvoie un 503 avec un en-tête Retry-After: 2. Cliquez à nouveau sur le bouton Générer ; la deuxième tentative réussit presque toujours car le cache périphérique de Steam s'est réchauffé.
5. "Fichier manifeste vide"
Le manifeste est téléchargé avec succès mais fait 0 octet, ou il ne contient que l'en-tête AppState et aucun champ. Cela signifie que l'application n'a pas de dépôt public : l'application existe dans le catalogue de Steam mais aucune version n'a été publiée. Commun pour les applications encore au statut « À venir », pour les applications dont les builds sont limitées à la version bêta fermée et pour certains outils d'éditeur.
Il n’y a pas de solution de notre côté. Une fois que l'éditeur a lancé une version publique, le générateur commence à renvoyer un manifeste non vide pour le App ID.
SteamTools.games contre Watt Toolkit contre GreenLuma contre SteamDB
Il est utile de savoir quel outil fait quoi, car tous les quatre sont mentionnés dans les mêmes conversations de déverrouillage Steam.
| Outil | Qu'est-ce que c'est | Ce qu'il fait | Quand l'utiliser |
|---|---|---|---|
| SteamTools.games (ce site) | Un manifeste Web + un générateur Lua | Construit les deux fichiers dont SteamTools a besoin ; ne modifie pas votre installation de Steam | Lorsque vous souhaitez le manifeste et Lua pour une application spécifique sans rien installer |
| Watt Toolkit (anciennement Steam++) | Une suite d'utilitaires Steam qui comprend un fork SteamTools | Fonctionne localement ; fournit une accélération du réseau, des déverrouillages de succès et la fonction de déverrouillage du bureau SteamTools | Lorsque vous souhaitez une suite de modules Steam locale complète, pas seulement un manifeste unique |
| SteamTools (le client de bureau) | Un cache de clé de dépôt Steam et un exécuteur Lua | Lit le manifeste + Lua de depotcache et scripts/ et les exécute au lancement de Steam | Lorsque vous avez les fichiers et que vous souhaitez déverrouiller l'application |
| GreenLuma | Un déverrouillage Steam distinct qui utilise un mécanisme différent | Corrige Steam lui-même pour accepter les dépôts arbitraires | Lorsque vous avez besoin d'un déverrouillage non compatible avec SteamTools (rare) |
| SteamDB | Un tracker de métadonnées Steam en lecture seule | Vous montre quels buildid, dépôts et succursales existent pour une application | Lorsque vous devez rechercher des noms de branches ou vérifier la dernière version |
Ces outils ne sont pas des concurrents : ils couvrent différentes couches du même flux de travail. SteamTools.games passe la main à SteamTools (le client de bureau), ce que la plupart des gens veulent dire lorsqu'ils disent « SteamTools ».
Performances et limites
- Le site est hébergé sur le réseau Edge de Cloudflare. La première requête après une éviction du cache est un démarrage à froid (~ 600 à 1 200 ms) ; les requêtes ultérieures adressées au même AppID sont chaudes (~ 150 à 300 ms).
/api/generateest limité en débit à 1 requête toutes les 1,5 s par IP./api/searchest de 1 toutes les 300 ms par IP. Ces limites sont intentionnelles, non négociables, et elles existent car le point de terminaisonappdetailsde Steam est également limité en débit en amont.- Le générateur ne prend pas en charge les applications comportant plus de 100 dépôts. Nous n'avons pas vu d'application réelle avec plus de 30. Si vous en trouvez une, signalez un bug auprès du App ID.
- Le générateur ne prend pas en charge les identifiants d'application supérieurs à
2,147,483,647(la limite int32). Le App ID le plus élevé que nous ayons jamais résolu se situe dans la fourchette basse de 4 millions ; Steam lui-même n'attribue pas d'identifiants supérieurs.
Ce que le service ne fait pas
- Il ne modifie aucun fichier de jeu sur votre machine.
- Il ne contourne pas le DRM, les contrôles de licence ou l'authentification de Steam.
- Il ne stocke pas votre historique de recherche sur un serveur. La bande "Récente" sur la page d'accueil lit le
localStoragede votre navigateur, pas le nôtre. - Cela ne nécessite pas de compte, d'e-mail ou de numéro de téléphone.
- Il ne regroupe ni ne redistribue aucun contenu de jeu. Les deux fichiers qu'il produit sont de minuscules fichiers texte (le manifeste fait moins de 4 Ko ; le Lua fait moins de 1 Ko).
Si jamais vous souhaitez confirmer que le service fait ce qu'il dit, l'intégralité du côté serveur se trouve dans src/routes/api/ et src/server.ts du projet open source. Le côté client est dans src/blocks/generator.tsx. Chaque chemin de code est constitué d'un ou deux fichiers ; rien n'est caché derrière une étape de construction que vous ne pouvez pas inspecter.
Lectures complémentaires
- Installer SteamTools — Client de bureau Windows / macOS / Linux
- Fichiers manifestes expliqués — ce que contiennent les fichiers
- Comment trouver un Steam App ID — lorsque vous ne connaissez pas le App ID
- FAQ — la liste de questions plus longue et plus approfondie
- Dépannage des erreurs du générateur — la version blog du tableau d'erreurs ci-dessus
- Developers / API — pour l'automatisation et l'utilisation par script
Voir aussi
- Qu'est-ce qu'un fichier manifeste Steam et comment l'utiliser avec SteamTools ? — le guide complet de la porte d'entrée ; cette page est une plongée plus profonde dans une partie de celui-ci.