Understanding The Local SQLite Database

When you first log in to OpenSpartan Workshop, a new database is created that is named after the player Xbox User ID (XUID).

You can get to the database by running the following in the Run… dialog in Windows (Win + R) or in the Terminal:

%LOCALAPPDATA%\OpenSpartan.Workshop\data
The database file highlighted in Windows Explorer.

The database itself doesn’t have anything Windows-specific in it and can be easily used on any platform where SQLite is supported. For example, I could use it with DB Browser for SQLite on macOS:

DB Browser for SQLite running on macOS.

The following tables are currently available:

Table NameDescription
EngineGameVariantsMetadata about engine game variants for all games in which the logged in player ever participated.
GameVariantsMetadata about game variants for all games in which the logged in player ever participated.
InventoryItemsMetadata about inventory items that are available in Halo Infinite.
MapsMetadata about maps for all games in which the logged in player ever participated.
MatchStatsHigh-level match statistics for every match the logged in player ever played.
OperationRewardTracksMetadata about available operations.
OwnedInventoryItemsMetadata about inventory items owned by the logged in player.
PlayerMatchStatsDetailed match statistics for every match the logged in player ever played. Can be joined with MatchStats for a full picture of match performance.
PlaylistMapModePairsMetadata about map/mode pairs for all games in which the logged in player ever participated.
PlaylistsMetadata about playlists for all games in which the logged in player ever participated.
ServiceRecordSnapshotsSnapshots of the player service record, captured every time OpenSpartan Workshop starts.

Each table has a ResponseBody column that contains the full API response at the time of data acquisition, with subsequent columns derived from the JSON response. When querying, you can either use the full JSON response or specific columns. Performance-wise, using extracted columns is going to be better - the full response is there mostly for reference.