The Sanctions Interface requires using SDK 1.11 or higher.
The Sanctions Interface manages punitive actions taken against your users. Actions may include temporary or permanent bans from gameplay or communication bans that limit the social aspects of your product for a particular user. You define the disciplinary actions for your product to handle negative behavior based on your use cases.
The Sanctions Interface only tracks and coordinates punitive actions. You are responsible for defining and implementing your disciplinary system.
Client Credentials and Policy Configuration
Before using the Sanctions Interface, you must configure your client credentials. To protect your users' data, select the appropriate Client Policy Type from the available options to minimize granted permissions.
Establishing User Identity
To begin working with the Sanctions Interface, you must first establish your users’ identities with the Connect Interface.
Querying Active Player Sanctions
To query for active sanctions against your users, use the following functions:
EOS_Sanctions_QueryActivePlayerSanctionsto retrieve sanction data from the EOS backend. The associated callback triggers on completion or failure.
- Upon success,
EOS_Sanctions_CopyPlayerSanctionByIndexaccess the requested user’s active sanction data.
- When finished with the user’s sanction data, call
EOS_Sanctions_PlayerSanction_Releaseto release the specified user’s data before querying for another user.
EOS_Sanctions_QueryActivePlayerSanctions resets cached data. After a successful function call, you may decide to access and copy the returned data before querying another user.
Managing Sanctions in the Developer Portal
The Sanctions Interface can be found in the Developer Portal by selecting the specific product you want to manage, clicking the Game Services section in the side-panel navigation bar, and selecting Sanctions.
From here, you can:
- Add new sanctions
- Remove any active or pending sanctions
- Activate a pending sanction
- Update the details of a sanction
To add a new sanction, select the Add New Sanctions button near the top of the Sanctions UI.
Once selected, a modal slides open to reveal input fields including sanction action, type, justification, tags, and player IDs.
Sanctions may be permanent or for a temporary duration of 1 day, 3 days, 7 days, or 30 days.
Tip: By selecting a sanction listed in the UI, you can see all the sanctions placed on the associated user with justifications and the option to modify (remove, activate, or update).
Employing Sanctions for Online Multiplayer
Sanctions are enforced at the session level; enforcement can only be configured when the session is created. See the Sessions Interface for details.
Note: Sanctioned players can create a session with sanctions enabled but can neither register with nor join that session after it is created.
EOS_Sessions_JoinSession will return error
EOS_Sessions_PlayerSanctioned if the session has sanctions enabled and the joining user is sanctioned.
EOS_Sessions_RegisterPlayers supports multiple players and, unlike
EOS_Sessions_JoinSession, will not return an error when one or more sanctioned players attempts to register with a session that has sanctions enabled. Instead, the response object must be checked to ensure that all of the players were registered. If the targeted session has sanctioned enabled, any players that were not registered due to sanctions will be in the
SanctionedPlayers list in the callback result struct
EOS_Sessions_RegisterPlayersCallbackInfo. See the Sessions Interface for details.
Managing Sanction Appeals in the Developer Portal
Sanction Appeals can be found in the Developer Portal by selecting the specific product you want to manage and navigating through Game Services > Operations > Sanctions. You can also find it from the specific player profile under the Sanctions section. A sanction appeal can be Open, In progress or Closed.
In Sanction Appeals, you can:
- View new sanction appeals and the associated sanction
- Assign one or all the appeal(s) to yourself
- Change the status of one or all sanction appeals
- Close one or all sanction appeals by adding a decision to also close the associated sanction(s)
Tip: Whenever a sanction is closed, all linked sanction appeals for this sanction will be closed automatically.