Service configuration for an Xbox One game or app is the collection of all of the configuration data provided by the developer of the game or app.
When you create a new product in XDP, some default elements are automatically included in your service configuration. Which elements are automatically included depends on the default genre that you specified for the product group.
Note Apps can access fewer service configuration features than games. For example, apps can’t use matchmaking or multiplayer. If you can’t access a feature that you were expecting to access, contact your developer account manager (DAM) or refer to the XDK documentation.
Service configuration for an Xbox One title includes definitions of the following features:
Anything that happens during play, and that can be captured, can be an event.
A player acquiring a weapon is an example of an event. When the player defeats an enemy using that weapon, that is also an event.
Note Events are generated by a game and sent to Xbox Live. User statistics are records of the events that are transmitted. Other configuration features, like achievements, leaderboards, hero statistics, and so on, are built on these user statistics. For information about theses configuration features, see the “Xbox Data Platform Overview” section under “Xbox Live and Online Services” in the Xbox One XDK documentation.
For more info about events, see the “Events” section under “Xbox Live and Online Services” in the Xbox One XDK documentation.
User statistics are developer-defined data points that are calculated by the Xbox data platform and stored as name-value pairs on a per-user basis. Some examples of user statistics include:
Statistics rules are triggered when an event of a particular name is received by the Xbox data platform service. Statistics rules produce instances of statistics.
Individual statistic rules can be configured to produce one of the following:
For more info about statistics, see “User Statistics” under “Xbox Live and Online Services” in the Xbox One XDK documentation.
For each title, you have the opportunity to select from a minimum of 3 and up to a maximum of 10 of the title’s most representative user statistics to be showcased in a number of user experiences across the Xbox data platform. These custom-defined metrics are meant to highlight the progress of users, allow those users to compare with other players, and drive those users back into the game.
Each hero statistic includes a localizable display name, a particular sort order, and a specific sequence number to prioritize among the set of hero statistics.
User statistics can report as a real-time update to a game or companion app. In this context, the user statistic is considered a real-time activity (RTA). This reporting capability eliminates tracking and updating in your code and easily synchronizes this user statistics data across multiple screens.
An achievement is a collection of specific statistics instances that, when a defined threshold is reached by a player, results in a reward. The required statistics instances for accomplishing an achievement are specified by one or more rules.
For example, the rules for reaching an achievement might require a player who has reached the Advanced Level to defeat three Blue Dragons in the Western Province by using Orange Arrows.
There are three types of rewards:
Artwork
Art that can be downloaded.
Gamerscore
An increment of the player’s score.
In-app
any of a wide variety of rewards provided by the title itself
Achievements can be hidden from the player until they are achieved, or they can be made visible in a list of possible achievements.
Challenges are achievements that are available only during a specified time frame.
For example, you could create an achievement that is available only on three consecutive days, beginning and ending at midnight. Because of the time limitation, the achievement would be a challenge.
As with other achievements, challenges can either be visible to gamers in the list of possible achievements, or they can be hidden.
The Xbox Live Leaderboard service provides global leaderboard storage and retrieval capacity for Xbox Live titles. Each leaderboard score is automatically updated by the Xbox data platform to reflect the appropriate values of their underlying statistic instances. Multiple leaderboards can be maintained for each title.
The Xbox multiplayer service allows gamers to create and join sessions, to exchange session messages with other gamers in the same session, and to post the results of their play to the session. (Posting the results cleans up the session, and also updates the leaderboards for all players in the session.)
For example, a multiplayer session could be a single game of chess between two players. Alternatively, it could be a continuing session of an action and adventure title played by a much larger number of players.
For more info about multiplayer session templates, see “Session Templates” under “Xbox Live and Online Services” in the Xbox One XDK documentation.
An optional addition to the Xbox multiplayer service is the new Xbox server-based matchmaking service, which provides a method of grouping players together based on information provided by the title or stored in user statistics, or based on the user’s preferences, or based on quality of service.
Because Xbox One matchmaking is server-based, users can provide a request to the service and then be notified later, whenever a match is found. That is: the user is not forced to wait in your title while the matchmaking process occurs-they are free to play the single-player portion of your title, or even to play other titles, and still be candidates for matchmaking. This eliminates the need to achieve a “critical mass” of players before matches can be found.
Tournament definitions are JSON documents that are used as templates to define the shape and schedule for tournament instances. They can be used to set up recurrences for tournaments, such as weekly or monthly, as well as define how many teams can compete in a tournament, among other things. For more information on tournaments and how to implement them in your games, refer to Getting Started with Xbox Live Tournaments in the Xbox Live SDK documentation.
By displaying Rich Presence strings, your title can advertise what a player is doing right now. For example, your title can use Rich Presence strings to show user statistics (such as Away from console) for each gamer. Rich Presence information is visible to gamers who are connected to Xbox Live. Ideally, a Rich Presence string tells other Xbox Live gamers what a player is doing, and where in your title the player is doing it.
For example, a Rich Presence string might inform Mary’s friends that Mary is currently fighting a Blue Troll in the Pink Forest.
Game DVR strings are text strings associated with each of the gameplay video clips that you define for your title. Each game clip has one Game DVR string.
For example, you might define one game clip that is triggered when a player defeats their twentieth Blue Dragon, and another that is triggered when the player successfully completes Level 5. The Game DVR string for the former game clip might be “Your 20th Blue Dragon!”; the one for the latter might be “You finished Level 5!” (The maximum number of characters allowed in a Game DVR string, including blank spaces, is 22.)
Each product has one default language and locale. In this section of service configuration, you provide all localized versions of text strings that are to be included in any localized versions of your product.
An optional component of your Rich Presence strings. Sets are a group of key value pairs that will eventually be associated with an instance of a statistic in your Rich Presence. Based on the value of that instance, your Rich Presence string is dynamically updated with the the appropriate set member’s value (you decide the spot when you configure your Rich Presence strings). The great benefit of Sets is you don’t have to keep setting your Rich Presence if only the Set Value is changing-you get that for free.
Storage provides a place and format for title-specific data.
Cloud storage is title-specific, and can be either global or segregated (by user, session, or device). You can write data in several formats, binary, JSON, or config, and share it across supported platforms.
Each title, in each sandbox, can use the Network Security Authorization List (NSAL) to specify which web services it needs to communicate with. When you configure an NSAL, you select previously configured web services. This operation will allow the client title to make calls to the selected web services in a way compliant with the security configuration defined by the service developers.
For information about web services and their management, see Web Services.
Access policies provide a way to allow access to certain configuration services.
Configure a community manager to make posts on your product’s game hub. The account linked to a community manager will use the localized title of the product as its gamertag and the box art as its gamerpic. Followers of the game hub will see the community manager’s posts on their activity feeds, and anyone can view the posts on the game hub itself.
A completed service configuration is required in order to submit a game for either precertification or final certification.
Before submission for final certification, any element in a service configuration can be changed. After submission for final certification, there are limits on changes to service configuration.
After submission for final certification, you cannot change or remove the following elements:
After submission for final certification, you can add the following new elements:
For more information about how final certification limits changes to service configuration, see Xbox Requirements for Xbox One, available for download from Xbox Requirements on the Xbox Game Developer (XGD) site.