Provider Protocol


Creating Providers

VXG already implements integration with Steam and Lichess. If your game uses accounts from those services, you can skip this step.
When users want to play a game that requires connecting an account from your provider, they will be redirected to the URL you specified in the Developer Dashboard. You must ask the user if they want to connect their acccount. If they decline, or the connection fails for any reason, you must redirect them to Otherwise, you must redirect them to with the following parameters in the query string:
  • data: This can be any string that will be forwarded to the Game when the matches are being created. It can be unique account ID or a token. It cannot exceed 256 characters.
  • username: User's in-game name. It cannot exceed 64 characters.
  • id: An unique ID of the account. If two users connect the same account, the IDs must be also the same. They will be used by VXG to make sure that two players with the same connected account are not matched together. It cannot exceed 64 characters.
  • provider: Your provider ID, obtained from the Developer Dashboard.
  • signature: A base-64 encoded hmacSHA256 signature using your API key as a secret. The input is an array of query parameters username, id and data using null byte as a separator.

Validating accounts

Your Provider must be connected to the VXG servers at all time via WebSocket. See Communication Protocol for more details.
You must answer VXG requests whether a given account is still valid. data value of the requests have a single value data of type String, which is the data you provided while connecting the account.
The data value of the responses must have a single value valid of type String which is:
  • "valid" if the account is still valid,
  • "invalid" if the account is not longer valid,
  • "unknown" if for whatever reason your server could not send the response.