Skip to main content
Steamworks y el Kit de desarrollo de juegos de XBOX (GDK) proporcionan API para autenticar usuarios y comprobar que poseen el título al que están jugando o el contenido adicional al que intentan acceder. Existen diferencias en lo que estas API intentan lograr. La API de Steam comprueba la identidad de un usuario para las sesiones multijugador y usa la comprobación de propiedad para verificar que el usuario está jugando a una copia legítima del juego de la tienda de Steam. El Kit de desarrollo de juegos de XBOX (GDK), en cambio, necesita iniciar la sesión del usuario, lo que verifica implícitamente su identidad con los servicios de XBOX, y comprueba de forma independiente si la cuenta actual de Microsoft Store tiene derecho al juego. En el Kit de desarrollo de juegos de XBOX (GDK), las dos API usadas para la autenticación y la propiedad se dirigen a plataformas diferentes y, en algunos casos, a cuentas totalmente distintas. Por este motivo, usaremos el término con derecho para referirnos a un usuario que posee una licencia válida de Microsoft Store para jugar al juego actual. Para obtener más información al respecto y sus implicaciones, consulte la sección Diferencias en las licencias entre las dos plataformas más adelante en este tema.

Autenticación de usuarios

En Steam, los usuarios siempre tienen la “sesión iniciada” cuando el cliente inicia el juego. El juego siempre puede acceder al identificador de Steam del usuario sin hacer nada más que inicializar la API. La autenticación en Steam hace referencia al proceso de comprobar si la identidad preestablecida de un usuario corresponde realmente al usuario que ha iniciado sesión en el cliente que inició el juego, mediante la API ISteamUser con vales de sesión (con conexión de igual a igual o un servidor dedicado), vales de aplicación cifrados (con un servidor seguro) o la API web de Steam. Después de la autenticación, las API web de Steam o ISteamUser pueden usar vales para comprobar la propiedad del juego actual o de su contenido descargable (DLC). Este paso de comprobación es innecesario en el Kit de desarrollo de juegos de XBOX (GDK), porque ya realizó la comprobación cuando inició la sesión del usuario con los pasos descritos en Inicialización del Kit de desarrollo de juegos de XBOX (GDK). Por lo tanto, el Kit de desarrollo de juegos de XBOX (GDK) no tiene un equivalente de los vales de sesión de Steam ni de los vales de aplicación cifrados para comprobar la identidad de un usuario en las sesiones multijugador.

Propiedad y administración de derechos digitales (DRM)

Para comprobar que el usuario tiene derecho al juego al que está jugando actualmente, debe usar la función XStoreQueryGameLicenseAsync de la API XStore para verificar que el usuario tiene una licencia para jugar a ese juego. En la devolución de llamada asincrónica, compruebe si:
  1. La consulta se realizó correctamente (es decir, el usuario tiene una licencia).
  2. La licencia proporcionada por XStoreQueryGameLicenseResult sigue activa.
Si ambas comprobaciones se superan, puede considerar que el usuario tiene derecho a jugar a su juego. En el Kit de desarrollo de juegos de XBOX (GDK), este es el equivalente más cercano a usar ISteamUser/CheckAppOwnership en la API web de Steam o a llamar a SteamEncryptedAppTicket::BIsTicketForApp con un vale de aplicación. Para obtener más información y un ejemplo de código sobre cómo realizar esta comprobación, consulte XStore: comprobaciones básicas de DRM y licencias. Este tema también contiene información sobre opciones de comprobación de licencias más sólidas que existen para evitar la manipulación destinada a omitir esta comprobación del lado cliente. Steam también proporciona un contenedor de DRM para el que el Kit de desarrollo de juegos de XBOX (GDK) no tiene un equivalente. Microsoft Store realiza una comprobación antipiratería al iniciar las aplicaciones que se instalan desde la tienda. Para una protección de DRM completa, se recomienda usar una solución de terceros además de ejecutar la comprobación de licencia del ejemplo de código vinculado.

Comprobación de la propiedad del DLC

Si su juego tiene DLC asociado, puede comprobar si la cuenta de Microsoft Store de un usuario tiene acceso a un artículo con la API XStore. Para comprobar estas licencias, primero debe consultar todos los productos asociados a su juego mediante la función XStoreQueryAssociatedProductsAsync y, a continuación, usar la función XStoreAcquireLicenseForPackageAsync, que es similar a las funciones ISteamUser/CheckAppOwnership o ISteamUser::UserHasLicenseForApp, para obtener la licencia de un artículo de DLC específico de la lista que devolvió la consulta. Al igual que al comprobar el derecho a los juegos, debe verificar si la licencia se adquirió correctamente y si está activa. Si ambas comprobaciones se superan, puede considerar que el usuario tiene licencia para acceder a ese artículo de DLC. Para obtener un ejemplo de código de este proceso, consulte Administración y licencia de paquetes opcionales (DLC).

Diferencias en las licencias entre las dos plataformas

Es importante tener en cuenta la diferencia de filosofía que existe entre Steam y Microsoft Store. En Steam, las comprobaciones de licencias verifican que el usuario cuya identidad se autenticó tiene una licencia para jugar al juego actual porque lo compró o mediante Steam Family Sharing. El Kit de desarrollo de juegos de XBOX (GDK), en cambio, comprueba si la cuenta de Microsoft Store autenticada actualmente tiene derecho a acceder al contenido y obtiene la identidad con una cuenta de XBOX. Esto tiene una salvedad importante: la cuenta de Microsoft usada en estas dos cuentas podría no ser la misma, aunque pertenezcan a la misma persona. Por lo tanto, es importante familiarizarse con los distintos modelos de licencias que ofrece Microsoft Store si desea restringir cuántos dispositivos diferentes pueden jugar con una licencia de un juego u otro contenido de Microsoft Store. Para obtener más información, consulte Modelo de uso compartido de productos para juegos.
Última modificación el 28 de agosto de 2026