Getting Started with OpenSpartan Workshop
To get started with OpenSpartan Workshop, you will first need to make sure that you install the latest version of the application. You can get it from GitHub. Look for OpenSpartan.Workshop.Installer.Bundle.exe
.
You can watch the overview video about OpenSpartan Workshop here:
Note
The installer will also attempt to install .NET Desktop Runtime, and the latest Windows App SDK.
Once the application is installed you will be prompted to sign in with your Microsoft account. This is the same account that you use to sign in on your Xbox or PC where you’re playing Halo.
Note
OpenSpartan Workshop currently only supports Halo Infinite, with future plans to expand to Master Chief Collection. There are no concrete dates on this yet.
Once you’re signed in, you should be able to see your career page, displaying your overall performance statistics.
When you start OpenSpartan Workshop, the application will query all matches that you played and store them in the local SQLite database, located in the application data folder.
You can find the database by going to %LOCALAPPDATA%\OpenSpartan.Workshop\data
, where there will be a .db
file associated with your Xbox User ID (XUID).
Note
The XUID is different from your gamertag. Unlike the gamertag, which can be changed, the XUID is immutable.
The .db
file can be opened and queried through any compatible SQLite tool, such as DB Browser for SQLite.
Asynchronous data loading
When you first start OpenSpartan Workshop, there are a few things happening in the background, such as loading your career data, populating the medal data, and scanning the changes in available battle passes. The data is obtained through the Halo Infinite API and is stored in designated tables within the local database.
Career
Your career should load fairly fast - within the first few seconds after startup, and is rendered on the first page.
Matches
The match list is populated after startup automatically and is displayed in the Matches view.
When the application is started to get the most accurate data about the player matches two things will happen:
- Query the API for all matches the player has ever played. This is done in 25 match increments (that is the API limitation).
- Get metadata based on the match delta. OpenSpartan Workshop will compare the list it obtained by querying the player match history with the list of already stored matches in the local database and get the match statistics and map/mode metadata stored locally for the ones that are not there already.
Depending on how often you’re using OpenSpartan Workshop, this process may take some time. Because for every match that is not in the database the API is being queried, this is a slower process than just displaying the most recent matches.
While this is a drawback of the current implementation, the benefit here is that once all matches are loaded they can be inspected in the database without ever touching the API again.
Medals
Medal metadata is also populated in the local database, providing accurate counts for all the medals you’ve ever earned through your career.
Battle Pass/Operation Progression
Lastly, you also get to see how far along you are in the currently available operations. These are also loaded sequentially, so you might have a short delay between starting the application and seeing how far along you are in every single operation that is available in the current game release.
Further Reading
- Familiarize yourself with the database structure.
- Have a peek at how to query local data.