Déverrouillage DLC légitime pour Steamworks
? Déverrouillage DLC légitime
? Émulation d'inventaire
Fonctionnement sans configuration
Plusieurs méthodes d'installation :
?️ Mode magasin
? Mode de jeu
? Mode crochet
? Mode proxy
? Téléchargez la dernière version
Sujet du forum SmokeAPI
SmokeAPI est un déverrouillage DLC pour les jeux légitimement détenus sur votre compte Steam. Il tente de usurper les jeux qui utilisent le SDK Steamworks en faisant croire que vous possédez les DLC souhaités. Cependant, SmokeAPI ne modifie pas le reste du SDK Steamworks, donc des fonctionnalités telles que le multijoueur, les succès, etc. restent entièrement fonctionnelles.
SmokeAPI vise à prendre en charge toutes les versions publiées de SteamAPI. Lorsqu'il rencontre une nouvelle version d'interface non prise en charge, il utilise la dernière version prise en charge. Vous trouverez ci-dessous une liste des versions d'interface prises en charge :
ISteamClient v6-v20. (Les versions antérieures à la 6 ne contenaient aucune interface liée au DLC)
ISteamApps v2-v8. (La version 1 ne contenait aucune fonction liée au DLC)
ISteamUser v12 — v21. (Les versions antérieures à 12 ne contenaient aucune fonction liée au DLC)
ISteamInventory v1 — v3.
L'inventaire Steam ne fonctionne pas dans tous les jeux avec un inventaire Steam en raison d'une implémentation personnalisée et de contrôles en ligne. Une liste de jeux pour lesquels l'émulation d'inventaire s'est avérée efficace est la suivante :
Projet Hiver
Euro Truck Simulator 2
Hero Siege (si vous contournez EAC)
Avertissement | Veuillez procéder à l'installation à vos propres risques. L'utilisation de ce déverrouillage implique la rupture d'une ou plusieurs conditions d'utilisation, ce qui peut entraîner une perte permanente de votre compte. |
SmokeAPI prend en charge 2 modes d'installation principaux : le mode Store et le mode Jeu , qui sont décrits dans la section suivante.
Note | Il convient de noter que les instructions suivantes décrivent une méthode d'installation manuelle . Vous pouvez bénéficier de l'installation automatique et de la configuration de l'interface graphique en utilisant Koalageddon v2. |
Dans ce mode d'installation, SmokeAPI est chargé dans le processus Steam, ce qui lui permet d'affecter tous les jeux Steam.
Téléchargez le dernier zip de la version Koaloader à partir de Koaloader Releases.
À partir de l'archive Koaloader, décompressez version.dll
de version-32
et placez-le dans le répertoire Steam [1] .
Dans le répertoire Steam [1], créez le fichier de configuration Koaloader suivant :
Koaloader.config.json
{
"auto_load" : false ,
"targets" : [
" Steam.exe "
],
"modules" : [
{
"path" : " SmokeAPI.dll " ,
"required" : true
}
]
}
Téléchargez le dernier zip de la version SmokeAPI à partir des versions SmokeAPI.
À partir de l'archive SmokeAPI, décompressez steam_api.dll
, renommez-le en SmokeAPI.dll
et placez-le dans le répertoire Steam [1] .
Dans ce mode d'installation, SmokeAPI est chargé dans un processus de jeu, ce qui le limite à ce jeu particulier uniquement. Ce mode lui-même prend en charge 2 modes : le mode hook et le mode proxy. Essayez d'abord d'installer le déverrouillage en mode crochet. Si cela ne fonctionne pas, essayez de l'installer en mode proxy.
Téléchargez le dernier zip de la version Koaloader à partir de Koaloader Releases.
À partir de l'archive Koaloader, décompressez version.dll
de la version 32/64, en fonction du nombre de bits du jeu, et placez-le à côté du fichier exe du jeu.
Téléchargez le dernier zip de la version SmokeAPI à partir des versions SmokeAPI.
À partir de l'archive SmokeAPI, décompressez steam_api.dll
/ steam_api64.dll
, en fonction du nombre de bits du jeu, renommez-le en SmokeAPI.dll
et placez-le à côté du fichier exe du jeu.
Recherchez le fichier steam_api.dll
/ steam_api64.dll
dans le répertoire du jeu et renommez-le en steam_api_o.dll
/ steam_api64_o.dll
.
Téléchargez le dernier zip de la version SmokeAPI à partir des versions SmokeAPI.
À partir de l'archive SmokeAPI, décompressez steam_api.dll
/ steam_api64.dll
, en fonction du nombre de bits du jeu, et placez-le à côté du fichier DLL steam_api d'origine.
Si le déverrouillage ne fonctionne pas comme prévu, veuillez lire entièrement les instructions d'installation génériques du déverrouillage avant de demander de l'aide sur le sujet du forum SmokeAPI.
Note | Ce document décrit la configuration de la version 2 de SmokeAPI. Vous pouvez trouver la documentation de la version 1 ici. |
SmokeAPI ne nécessite aucune configuration manuelle. Par défaut, il utilise les options les plus raisonnables et essaie de débloquer tous les DLC possibles. Cependant, il peut y avoir des circonstances dans lesquelles vous aurez besoin d'un comportement plus personnalisé, comme la désactivation de certains DLC ou l'activation sélective de quelques-uns seulement. Dans ce cas, vous pouvez utiliser un fichier de configuration SmokeAPI.config.json que vous pouvez trouver ici dans ce référentiel ou dans le zip de la version. Pour l'utiliser, placez-le simplement à côté de la DLL SmokeAPI. Il sera lu à chaque lancement d'un jeu ou de la boutique. En l'absence du fichier de configuration, les valeurs par défaut spécifiées ci-dessous seront utilisées. Le fichier de configuration doit être conforme à la norme Json.
logging
Active/désactive la génération d'un fichier SmokeAPI.log.log
.
Taper | Booléen |
Défaut | |
unlock_family_sharing
Mode magasin uniquement . Active/désactive le contournement du partage familial, qui permet à l'emprunteur d'une bibliothèque partagée de démarrer et de continuer à jouer à des jeux lorsque le propriétaire de la bibliothèque joue également.
Taper | Booléen |
Défaut | |
default_app_status
Cette option définit le comportement de déverrouillage du DLC par défaut.
Valeurs possibles |
| ||||
Taper | Chaîne | ||||
Défaut | |
override_app_status
Cette option remplace l'état de tous les DLC qui appartiennent à un ID d'application spécifié [2] .
Valeurs possibles | Un objet avec des paires clé-valeur, où la clé correspond à l'ID de l'application et la valeur au statut de l'application. Les valeurs possibles de l'état de l'application sont définies dans l'option |
Taper | Objet |
Défaut | |
override_dlc_status
Cette option remplace le statut des DLC individuels, quel que soit le statut de l'application correspondante.
Valeurs possibles | Un objet avec des paires clé-valeur, où la clé correspond à l'ID de l'application et la valeur au statut de l'application. Les valeurs possibles de l'état de l'application sont définies dans l'option |
Taper | Objet |
Défaut | |
auto_inject_inventory
Indique si SmokeAPI doit automatiquement injecter une liste de tous les éléments d'inventaire enregistrés, lorsqu'un jeu interroge l'inventaire de l'utilisateur.
Taper | Booléen |
Défaut | |
extra_inventory_items
Une liste d'ID d'éléments d'inventaire [2] qui seront ajoutés en plus des éléments injectés automatiquement.
Taper | Tableau (d'entiers) |
Défaut | |
$version
Un domaine technique réservé à l'utilisation d'outils tels que les éditeurs de configuration GUI. Ne modifiez pas cette valeur.
Taper | Entier |
Défaut | |
extra_dlcs
Consultez Comment SmokeAPI fonctionne dans les jeux comportant un grand nombre de DLC pour comprendre le cas d’utilisation de cette option.
Valeurs possibles | Un objet avec des paires clé-valeur, où la clé correspond à l'ID de l'application et la valeur à l'objet qui contient les ID DLC. Le format est le même que dans la configuration GitHub susmentionnée. |
Taper | Objet |
Défaut | |
store_config
Mode magasin uniquement . Objet qui spécifie les décalages requis pour le fonctionnement en mode magasin. Il remplacera la configuration récupérée à partir d'une source distante ou du cache local. Ne modifiez pas cette valeur à moins de savoir ce que vous faites.
Taper | Objet |
Défaut | Voir la configuration en ligne |
{
"$version" : 2 ,
"logging" : true ,
"unlock_family_sharing" : true ,
"default_app_status" : " unlocked " ,
"override_app_status" : {
"1234" : " original " ,
"4321" : " unlocked "
},
"override_dlc_status" : {
"1234" : " original " ,
"4321" : " unlocked " ,
"5678" : " locked "
},
"auto_inject_inventory" : true ,
"extra_inventory_items" : [],
"extra_dlcs" : {
"1234" : {
"dlcs" : {
"56789" : " Example DLC 1 "
}
},
"4321" : {
"dlcs" : {
"98765" : " Example DLC 2 " ,
"98766" : " Example DLC 3 "
}
}
},
"store_config" : {
"client_engine_steam_client_internal_ordinal" : 12 ,
"steam_client_internal_interface_selector_ordinal" : 18 ,
"vstdlib_callback_address_offset" : 20 ,
"vstdlib_callback_data_offset" : 0 ,
"vstdlib_callback_interceptor_address_offset" : 1 ,
"vstdlib_callback_name_offset" : 4
}
}
Certains jeux comportant un grand nombre de DLC commencent la vérification de propriété en interrogeant l'API Steamworks pour obtenir une liste de tous les DLC disponibles. Une fois que le jeu aura reçu la liste, il examinera chaque élément et vérifiera sa propriété. Le problème vient du fait que la réponse du SDK Steamworks peut atteindre 64 au maximum, en fonction du nombre de DLC sans propriétaire dont dispose l'utilisateur. Pour atténuer ce problème, SmokeAPI fera une requête Web à l'API Steam pour obtenir une liste complète des DLC, ce qui fonctionne bien la plupart du temps. Malheureusement, même l'API Web ne résout pas tous nos problèmes, car elle ne renverra que les DLC disponibles dans la boutique Steam. Cela signifie que les DLC sans offre de magasin dédiée, tels que les DLC en précommande, seront exclus. C'est là que l'option de configuration extra_dlcs
entre en jeu. Vous pouvez y spécifier les identifiants DLC manquants et SmokeAPI les rendra disponibles pour le jeu. Cependant, cela introduit la nécessité d'une configuration manuelle, ce qui va à l'encontre des idéaux de ce projet. Pour remédier à ce problème, SmokeAPI récupérera également une liste gérée manuellement de DLC supplémentaires stockés dans un référentiel GitHub. Le but de ce document est de contenir tous les identifiants DLC pour lesquels il manque une page de magasin Steam. Cela permet à SmokeAPI de déverrouiller tous les DLC sans aucun fichier de configuration. N'hésitez pas à signaler dans le forum SmokeAPI les jeux comportant plus de 64 DLC et les DLC sans page de magasin dédiée. Ils seront ajoutés à la liste des ID DLC manquants pour faciliter un fonctionnement sans configuration.
CMake v3.24 (Assurez-vous que cmake est disponible depuis PowerShell)
Visual Studio 2022 [3] .
Testé sur le SDK Windows 11 (10.0.22621.0) [3] .
Construire le projet
.build.ps1 <arch> <config>
où
cambre | |
configuration | |
Par exemple:
.build.ps1 32 Débogage
Ce projet utilise les projets open source spécifiés dans le KoalaBox Readme
Ce logiciel est sous licence Unlicense, dont les termes sont disponibles dans UNLICENSE.txt