Desbloqueador de DLC legítimo para Steamworks
? Desbloqueo legítimo de DLC
? Emulación de inventario
Operación sin configuración
Múltiples métodos de instalación:
?️ Modo tienda
? Modo de juego
? Modo de gancho
? Modo proxy
? Descargue la última versión
Tema del foro SmokeAPI
SmokeAPI es un desbloqueador de DLC para los juegos que pertenecen legítimamente a su cuenta de Steam. Intenta falsificar juegos que usan Steamworks SDK haciéndoles creer que posees los DLC deseados. Sin embargo, SmokeAPI no modifica el resto del SDK de Steamworks, por lo que funciones como el modo multijugador, los logros, etc. siguen siendo completamente funcionales.
SmokeAPI tiene como objetivo admitir todas las versiones lanzadas de SteamAPI. Cuando encuentre una nueva versión de interfaz no compatible, recurrirá a la última versión compatible. A continuación se muestra una lista de versiones de interfaz compatibles:
ISteamClient v6 — v20. (Las versiones anteriores a la 6 no contenían ninguna interfaz relacionada con DLC)
ISteamApps v2 — v8. (La versión 1 no contenía ninguna función relacionada con DLC)
ISteamUser v12 — v21. (Las versiones anteriores a la 12 no contenían ninguna función relacionada con el DLC)
ISteamInventory v1 — v3.
El inventario de Steam no funciona en todos los juegos con inventario de Steam debido a la implementación personalizada y a las comprobaciones en línea. Una lista de juegos en los que se ha demostrado que funciona la emulación de inventario es la siguiente:
Proyecto Invierno
Simulador de camión europeo 2
Hero Siege (si pasas por alto EAC)
Advertencia | Continúe con la instalación bajo su propia responsabilidad. El uso de este desbloqueador implica romper uno o más términos de servicio, lo que podría resultar en la pérdida permanente de su cuenta. |
SmokeAPI admite 2 modos principales de instalación: modo Tienda y modo Juego , que se describen en la siguiente sección.
Nota | Vale la pena señalar que las siguientes instrucciones describen un método de instalación manual . Puede beneficiarse de la instalación automática y la configuración de la GUI utilizando Koalgeddon v2. |
En este modo de instalación, SmokeAPI se carga en el proceso de Steam, lo que le permite afectar a todos los juegos de Steam.
Descargue la última versión zip de Koaloader desde Koaloader Releases.
Desde el archivo Koaloader, descomprima version.dll
de version-32
y colóquelo en el directorio de Steam [1] .
En el directorio de Steam [1] cree el siguiente archivo de configuración de Koaloader:
Koaloader.config.json
{
"auto_load" : false ,
"targets" : [
" Steam.exe "
],
"modules" : [
{
"path" : " SmokeAPI.dll " ,
"required" : true
}
]
}
Descargue la última versión zip de SmokeAPI desde SmokeAPI Releases.
Desde el archivo SmokeAPI, descomprima steam_api.dll
, cámbiele el nombre a SmokeAPI.dll
y colóquelo en el directorio Steam [1] .
En este modo de instalación, SmokeAPI se carga en un proceso de juego, lo que lo limita únicamente a ese juego en particular. Este modo en sí admite 2 modos: modo de enlace y modo proxy. Primero intente instalar el desbloqueador en modo gancho. Si no funciona, intenta instalarlo en modo proxy.
Descargue la última versión zip de Koaloader desde Koaloader Releases.
Desde el archivo Koaloader, descomprima version.dll
de la versión 32/64, según el bitness del juego, y colóquelo junto al archivo exe del juego.
Descargue la última versión zip de SmokeAPI desde SmokeAPI Releases.
Desde el archivo SmokeAPI, descomprima steam_api.dll
/ steam_api64.dll
, según el bitness del juego, cámbiele el nombre a SmokeAPI.dll
y colóquelo junto al archivo exe del juego.
Busque el archivo steam_api.dll
/ steam_api64.dll
en el directorio del juego y cámbiele el nombre a steam_api_o.dll
/ steam_api64_o.dll
.
Descargue la última versión zip de SmokeAPI desde SmokeAPI Releases.
Desde el archivo SmokeAPI, descomprima steam_api.dll
/ steam_api64.dll
, según el bitness del juego, y colóquelo junto al archivo DLL steam_api original.
Si el desbloqueo no funciona como se esperaba, lea completamente las Instrucciones de instalación del Desbloqueador genérico antes de buscar ayuda en el tema del foro SmokeAPI.
Nota | Este documento describe la configuración para la versión 2 de SmokeAPI. Puede encontrar la documentación de la versión 1 aquí. |
SmokeAPI no requiere ninguna configuración manual. De forma predeterminada, utiliza las opciones más razonables e intenta desbloquear todos los DLC que puede. Sin embargo, puede haber circunstancias en las que necesite un comportamiento más personalizado, como deshabilitar ciertos DLC o habilitar selectivamente solo algunos de ellos. En este caso puedes usar un archivo de configuración SmokeAPI.config.json que puedes encontrar aquí en este repositorio o en el zip de la versión. Para usarlo, simplemente colóquelo al lado de la DLL SmokeAPI. Se leerá cada vez que se inicie un juego o la tienda. En ausencia del archivo de configuración, se utilizarán los valores predeterminados especificados a continuación. Se espera que el archivo de configuración cumpla con el estándar Json.
logging
Alterna la generación de un archivo SmokeAPI.log.log
.
Tipo | Booleano |
Por defecto | |
unlock_family_sharing
Sólo modo tienda . Alterna la omisión de Family Sharing, que permite al prestatario de una biblioteca compartida comenzar y continuar jugando cuando el propietario de la biblioteca también está jugando.
Tipo | Booleano |
Por defecto | |
default_app_status
Esta opción establece el comportamiento de desbloqueo de DLC predeterminado.
Valores posibles |
| ||||
Tipo | Cadena | ||||
Por defecto | |
override_app_status
Esta opción anula el estado de todos los DLC que pertenecen a un ID de aplicación específico [2] .
Valores posibles | Un objeto con pares clave-valor, donde la clave corresponde al ID de la aplicación y el valor al estado de la aplicación. Los posibles valores de estado de la aplicación se definen en la opción |
Tipo | Objeto |
Por defecto | |
override_dlc_status
Esta opción anula el estado de los DLC individuales, independientemente del estado de la aplicación correspondiente.
Valores posibles | Un objeto con pares clave-valor, donde la clave corresponde al ID de la aplicación y el valor al estado de la aplicación. Los posibles valores de estado de la aplicación se definen en la opción |
Tipo | Objeto |
Por defecto | |
auto_inject_inventory
Alterna si SmokeAPI debe inyectar automáticamente una lista de todos los elementos del inventario registrados, cuando un juego consulta el inventario del usuario.
Tipo | Booleano |
Por defecto | |
extra_inventory_items
Una lista de ID de artículos de inventario [2] que se agregarán además de los artículos inyectados automáticamente.
Tipo | Matriz (de números enteros) |
Por defecto | |
$version
Un campo técnico reservado para su uso por herramientas como editores de configuración GUI. No modifique este valor.
Tipo | Entero |
Por defecto | |
extra_dlcs
Vea cómo funciona SmokeAPI en juegos con una gran cantidad de DLC para comprender el caso de uso de esta opción.
Valores posibles | Un objeto con pares clave-valor, donde la clave corresponde al ID de la aplicación y el valor al objeto que contiene los ID de DLC. El formato es el mismo que en la configuración de GitHub antes mencionada. |
Tipo | Objeto |
Por defecto | |
store_config
Sólo modo tienda . Objeto que especifica las compensaciones necesarias para el funcionamiento en modo tienda. Anulará la configuración obtenida de la fuente remota o del caché local. No modifique este valor a menos que sepa lo que está haciendo.
Tipo | Objeto |
Por defecto | Ver configuración en línea |
{
"$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
}
}
Algunos juegos que tienen una gran cantidad de DLC comienzan la verificación de propiedad consultando la API de Steamworks para obtener una lista de todos los DLC disponibles. Una vez que el juego reciba la lista, revisará cada elemento y verificará su propiedad. El problema surge del hecho de que la respuesta del SDK de Steamworks puede alcanzar un máximo de 64, dependiendo de la cantidad de DLC sin propietario que tenga el usuario. Para aliviar este problema, SmokeAPI realizará una solicitud web a Steam API para obtener una lista completa de DLC, lo que funciona bien la mayor parte del tiempo. Desafortunadamente, ni siquiera la API web resuelve todos nuestros problemas, porque solo devolverá DLC que están disponibles en la tienda Steam. Esto significa que los DLC sin una oferta de tienda dedicada, como los DLC de reserva, quedarán fuera. Ahí es donde entra en juego la opción de configuración extra_dlcs
. Puedes especificar allí los ID de DLC que faltan y SmokeAPI los pondrá a disposición del juego. Sin embargo, esto introduce la necesidad de configuración manual, lo que va en contra de los ideales de este proyecto. Para solucionar este problema, SmokeAPI también obtendrá una lista mantenida manualmente de DLC adicionales almacenados en un repositorio de GitHub. El propósito de este documento es contener todos los ID de DLC que carecen de una página de la tienda Steam. Esto permite a SmokeAPI desbloquear todos los DLC sin ningún archivo de configuración. No dudes en informar en el foro SmokeAPI sobre juegos temáticos que tengan más de 64 DLC y que tengan DLC sin una página de tienda dedicada. Se agregarán a la lista de ID de DLC faltantes para facilitar la operación sin configuración.
CMake v3.24 (Asegúrese de que cmake esté disponible en powershell)
Estudio Visual 2022 [3] .
Probado en el SDK de Windows 11 (10.0.22621.0) [3] .
construir el proyecto
.build.ps1 <arco> <config>
dónde
arco | |
configuración | |
Por ejemplo:
.build.ps1 32 Depurar
Este proyecto hace uso de los proyectos de código abierto especificados en el archivo Léame de KoalaBox.
Este software tiene licencia sin licencia, cuyos términos están disponibles en UNLICENSE.txt