Entitlement System

How It Works

The entitlement system allows the developer to give ownership rights of one or several games.

Main features:

  • getting the user’s game list
  • giving ownership rights

Who Can Use It

The game developers who have at least two DRM-free and/or Steam games.

How to Get It

Prerequisites

  1. Create your Xsolla Publisher Account.
  2. Set up Game Keys module. When setting up, choose DRM-free and/or Steam options in the DRM info block.

Integration Flow

  1. Implement manual or automatic key activation to send data on the game ownership to the system.
  2. Implement the API methods for working with the entitlement system.

Note: When the setup of the Game Keys module in Publisher Account is finished, the users with activated keys will be automatically added to the system. If the key is deactivated, the game is marked as inactive for the user.

Manual Keys Activation

Manual DRM-free keys activation is implemented:

  1. Via Xsolla Launcher.
  2. On the landing page via:

Steam keys are activated in Steam. Implement the API methods for adding the game access rights to the system.

Automatic Keys Activation

To set up automatic DRM-free keys activation:

  1. Add user authentication before purchase. The game key will be activated for the authenticated user after purchase.
  2. Go to Publisher Account > Store > Game Keys.
  3. Choose the required key package from the list.
  4. On the Keys and Distributives page, switch on the Activation of DRM Free keys toggle.
  5. Add the "is_activation_required": true parameter to the token or access_data for the purchase. See the detailed description of integration types and parameters.

Example

{
    "purchase": {
        "pin_codes": {
            "codes": [
                {
                    "digital_content": "test_pack2",
                    "drm": "drmfree",
                    "is_activation_required": true
                }
            ]
        }
    },
    "settings": {
        "project_id": 17558
    },
    "user": {
        "id": {
            "value": "54AC70C177B6583F"
        }
    }
}

User Authentication

You can use Xsolla Login to authenticate your users, connect Steam accounts, in-game accounts, and social networks accounts. Xsolla Login works with the entitlement system automatically.

If you want to use your own integration system, you need to:

  1. Enable the integration via the token in Publisher Account.
  2. Create the authentication method.
  3. Add the ability to connect in-game accounts with Steam accounts if necessary.
  4. Use the Pay Station Access Token for calling the API methods. Note that integrating with the Steam account requires passing the user.steam_id parameter in the SteamID64 format with the token.

Integration with Steam

To check the list of user's games in Steam, do the following:

  1. Send your appID (game identifier) and the Steam developer key to your Account Manager or the Integration Manager.
  2. Implement the ability to connect the in-game account with the Steam account.

When calling the API methods for giving access and getting the list of games Xsolla checks the Steam access rights to avoid cases when the user already asked for a refund.

Note: The rights in Steam are checked once in 24 hours as there is a request limit.