XR-132: Service Access Limitations *
Version 1.0, 3/1/2020
Titles which exceed title and user based limits when calling Xbox network services or do not adhere to Xbox network service retry policies may be subjected to rate limiting, which may result in service interruption or deprecation. Failure to adhere to the specified limits may block a title from release, and in-production issues with released titles may result in Xbox network services suspension up to and including title removal.
Certification Test Cases
132-01 Service Access Limitations
Tools Needed:
- For Windows 10, Xbox Series X|S or any GDK-based titles, Fiddler Classic
- For Xbox One XDK-based titles, Fiddler Classic or XblTraceAnalyzer.exe (from the XDK)
- Xbox services Trace Analyzer to parse the output files from XblTraceAnalyzer.exe and/or Fiddler
Test Steps
Using Fiddler Classic:
- Prior to launching the title, start Fiddler Classic and ensure it is configured to capture network traffic from the console or Windows 10 PC (wherever the title in question is running from).
- With Fiddler Classic running and capturing network traffic, launch the title and proceed to move through all areas, including, but not limited to, the following:
- Create a game save, reboot the console and load the game save
- Change rich presence states in quick succession (if possible)
- Unlock and view achievements
- Post to all leaderboards and view all leaderboards using all filters
- View in-game Friends List (including a friend with presence blocked) and move between pages rapidly
- Earn and view a Hero Stat
- Match-make into all online modes, including being unable to find an available session (if possible) and generate voice traffic
- Create, save and share a game clip
- Access the in-game store (if applicable)
- Once testing has concluded, save the Fiddler capture to a local directory.
- In the GDK/XDK command prompt, run XblTraceAnalyzer -data filepath -outputdir filepath
- Open the output directory from step 4 and open the 'index' file (select 'Allow blocked content' if prompted).
Using xbtrace.exe
Please note that xbtrace.exe cannot start until the title is launched, but it should be started as quickly as possible in order to capture any Xbox service calls the title makes during start up. Due to this, the preferred method for capturing title traffic is Fiddler Classic as it can be started prior to launching the title.
- With the title running, run xbtrace start xboxliveservices and proceed to move through all areas of the title, including, but not limited to, the following:
- Create a game save, reboot the console and load the game save
- Change rich presence states in quick succession (if possible)
- Unlock and view achievements
- Post to all leaderboards and view all leaderboards using all filters
- View in-game Friends List (including a friend with presence blocked) and move between pages rapidly
- Earn and view a Hero Stat
- Match-make into all online modes, including being unable to find an available session (if possible) and generate voice traffic
- Create, save and share a game clip
- Access the in-game store (if applicable)
- Once test has concluded, run xbtrace stop twice.
- Browse your console's files and in SystemScratch > xbtrace you will find the csv. Check the time stamp to make sure it registers the time you stopped recording. Copy it locally.
- In the XDK command prompt, run Xbltraceanalyzer -data filepath -outputdir filepath.
- Open the output directory from step 4 and open the 'index' file (select 'Allow blocked content' if prompted).
Expected Result
Games must not display any serious warnings in their Trace Analyzer output results. Titles must ensure they keep their service calls to Xbox endpoints below the specified burst and sustain limits.Pass Examples
- The title does not exceed the sustain limit when calling Xbox services.
Fail Examples
- The title exceeds the sustain limit (limit at which rate limiting takes effect) by 10x. For example, if the sustained limit at which Fine Grain Rate Limiting takes effect is set to 300 calls in 300 seconds, titles at or above 3000 calls in 300 seconds will fail.
132-02 Game Event Limitations
Test Steps
- Install the title and with the title running, proceed to navigate through all areas of the title, including, but not limited to, the following:
- Create a game save, reboot the console and load the game save
- Change rich presence states in quick succession (if possible)
- Unlock and view achievements
- Post to all leaderboards and view all leaderboards using all filters
- View in-game Friends List (including a friend with presence blocked) and move between pages rapidly
- Earn and view a Hero Stat
- Match-make into all online modes, including being unable to find an available session (if possible) and generate voice traffic
- Create, save and share a game clip
- Access the in-game store (if applicable)
- During test, observe the title to see if the Game Event Limitations system toast appears.
Expected Result
Games must not trigger the Game Event Limitations system toast.Pass Examples
- The title does not trigger the Game Event Limitations system toast.
Fail Examples
- The title triggers the Game Event Limitations system toast.