Home › Engine executable › Telemetry configuration
Engine executable. Settings and tools of the game program (CivilizationVI.exe), usable without a mod. Mostly undocumented debug and configuration functionality; descriptions come from analysis of the executable and have not all been tried in the running game.
Telemetry configuration
The engine executable ships with a default telemetry configuration: two XML documents embedded in the code that say which events the game can report and which usage counters it keeps. This page lists them as written. It describes the built-in configuration only: the game can also download a configuration from the Firaxis Live service (App/FiraxisLive/OnlineTelemetryConfiguration.xml, fetched through a service discovery step), which can replace it, so what an individual game reports today may differ. This analysis did not look for a way to switch reporting off and makes no claim about what is actually sent on a given machine.
Verified: the event names, flags and counters are literals in the exe. Not determined: what the SendFlags values 4 and 8 mean, and the data fields of each event.
What the code does with it
From the messages in the telemetry code: events are put in queues with a priority, can be rejected by sampling or by priority, are flushed periodically (and on shutdown) to a /telemetry/v2 service endpoint with retries, and the configuration entries are fetched with retries as well. The game logs a line such as Sending Telemetry: OrgEvent=... Type=... SendFlags=... (function GameCore::App::Telemetry::Listener::OnTelemetryTag). There is one related entry in the option files: [Misc] TelemetryUploadNecessary (see the option files).
Events of the default ruleset
The default ruleset (flagged IsBlacklist in the XML) lists 54 events, 39 of them enabled. Two derived rulesets, Elite Player Ruleset and New Player Ruleset, inherit from it and change the update interval of a few events. TurnInterval means the event is repeated every that many turns.
| Event |
Enabled |
SendFlags |
TurnInterval |
GameStart |
yes |
8 |
— |
GameStartPlayers |
yes |
8 |
— |
SaveGameProgression |
yes |
8 |
— |
AISaveGameProgression |
yes |
8 |
— |
PlayerProgression |
yes |
8 |
10 |
AIProgression |
yes |
8 |
30 |
Tutorial |
yes |
8 |
— |
GameEnd |
yes |
8 |
— |
GameEndProgression |
yes |
8 |
— |
AIGameEndProgression |
yes |
8 |
— |
ScreenBreakdown |
yes |
8 |
10 |
LensBreakdown |
yes |
8 |
10 |
EnvBreakdown |
yes |
8 |
10 |
PrjFrequency |
yes |
8 |
10 |
PowerStats |
yes |
8 |
10 |
WorldCongress |
yes |
8 |
10 |
GameLevel |
yes |
8 |
10 |
ApplicationSessionStatus |
yes |
8 |
— |
IGMStatus |
yes |
8 |
— |
Transactions |
yes |
8 |
— |
CPU |
yes |
4 |
— |
SysInfo |
yes |
4 |
— |
Timings |
yes |
4 |
— |
SlowTick |
no |
4 |
— |
TickTimings |
no |
4 |
— |
TickTimings2 |
no |
4 |
— |
BLPLoadTransient |
yes |
4 |
— |
CameraZoom |
no |
4 |
— |
PantheonFounded |
no |
4 |
— |
ReligionFounded |
yes |
4 |
— |
GovernmentChanged |
no |
4 |
— |
BuildingComplete |
no |
4 |
— |
UnitFormation |
no |
4 |
— |
UnitPromoted |
no |
4 |
— |
FirstTurn |
yes |
4 |
— |
BenchmarkResult |
yes |
4 |
— |
HotLoad |
yes |
4 |
— |
WallClockLoad |
yes |
4 |
— |
GraphicsOptions |
yes |
4 |
— |
StartupGameTimings |
no |
4 |
— |
SystemConfiguration |
yes |
4 |
— |
LibraryLoad |
yes |
4 |
— |
UnknownDevice |
yes |
4 |
— |
CityGen_Blocks |
yes |
4 |
— |
Statistics |
yes |
4 |
— |
PlayerEconomySnapshot |
no |
4 |
10 |
PlayerEconomySnapshot2 |
no |
4 |
10 |
CityInit |
yes |
4 |
— |
PlayerScore |
yes |
4 |
— |
Graphics_DX11 |
yes |
4 |
— |
Hitch |
yes |
4 |
— |
TechBoost |
no |
4 |
— |
CivicBoost |
no |
4 |
— |
Game_Boost |
no |
4 |
— |
Counter tables
Seven tables of counters are kept during a game and reported as events (ScreenBreakdown, LensBreakdown, EnvBreakdown, PrjFrequency, PowerStats, WorldCongress, GameLevel). Kind says what is counted (a UI context, a lens, a terrain state change, a building or district type, or a free-form value), Type how (a count, seconds, or a value that is set).
UI:Screens/ (18)
| Counter |
Kind |
Context |
Type |
Per session |
CivilopediaTimesOpened |
ForgeCtx |
Civilopedia |
Count |
No |
CivilopediaSecondsOpen |
ForgeCtx |
Civilopedia |
Seconds |
No |
TechTreeTimesOpened |
ForgeCtx |
TechTree |
Count |
No |
CivicsTreeTimesOpened |
ForgeCtx |
CivicsTree |
Count |
No |
ProductionPanelTimesOpened |
ForgeCtx |
ProductionPanel |
Count |
No |
WorldRankingsTimesOpened |
ForgeCtx |
WorldRankings |
Count |
No |
CityStatesTimesOpened |
ForgeCtx |
CityStates |
Count |
No |
GreatPeopleTimesOpened |
ForgeCtx |
GreatPeoplePopup |
Count |
No |
GreatWorksTimesOpened |
ForgeCtx |
GreatWorksOverview |
Count |
No |
HistoricMomentsTimesOpened |
ForgeCtx |
HistoricMoments |
Count |
No |
GovernorPanelTimesOpened |
ForgeCtx |
GovernorPanel |
Count |
No |
EraProgressTimesOpened |
ForgeCtx |
EraProgressPanel |
Count |
No |
ReportScreenTimesOpened |
ForgeCtx |
ReportScreen |
Count |
No |
TechCivicCompleteTimesOpened |
ForgeCtx |
TechCivicCompletedPopup |
Count |
No |
EurekaTimesOpened |
ForgeCtx |
BoostUnlockedPopup |
Count |
No |
FoundNatWonderTimesOpened |
ForgeCtx |
NaturalWonderPopup |
Count |
No |
WonderBuiltTimesOpened |
ForgeCtx |
WonderBuiltPopup |
Count |
No |
EndGameGraphsTimesOpened |
ForgeCtx |
EndGameMenu |
Count |
No |
UI:Lenses/ (13)
| Counter |
Kind |
Context |
Type |
Per session |
ReligionLensTimesOpened |
Lens |
|
Count |
No |
ContinentLensTimesOpened |
Lens |
|
Count |
No |
AppealLensTimesOpened |
Lens |
|
Count |
No |
SettlerLensTimesOpened |
Lens |
|
Count |
No |
GovernmentLensTimesOpened |
Lens |
|
Count |
No |
PoliticalLensTimesOpened |
Lens |
|
Count |
No |
TourismLensTimesOpened |
Lens |
|
Count |
No |
EmpireLensTimesOpened |
Lens |
|
Count |
No |
LoyaltyLensTimesOpened |
Lens |
|
Count |
No |
CitizenMgtLensTimesOpened |
Lens |
|
Count |
No |
DistrictLensTimesOpened |
Lens |
|
Count |
No |
TradeRoutesTimesOpened |
Lens |
|
Count |
No |
CityYieldsTimesOpened |
Lens |
|
Count |
No |
EnvironmentalFX:Breakdown/ (25)
| Counter |
Kind |
Context |
Type |
Per session |
StormTimesCreated |
StormsCreated |
|
Count |
No |
TilesFlooded |
TerrainState |
Flood |
Count |
No |
TilesSubmerged |
TerrainState |
Submerged |
Count |
No |
TilesErupted |
TerrainState |
Eruption |
Count |
No |
EruptionTimes |
TerrainState |
Active |
Count |
No |
FertilityFromDroughts |
Freeform |
FertilityAddDroughts |
Set_Value |
No |
TilesDamagedByDroughts |
Freeform |
TilesDamagedDroughts |
Set_Value |
No |
PopLostToDroughts |
Freeform |
PopLostDroughts |
Set_Value |
No |
UnitsKilledByDroughts |
Freeform |
UnitsKilledDroughts |
Set_Value |
No |
FertilityFromFloods |
Freeform |
FertilityAddFloods |
Set_Value |
No |
TilesDamagedByFloods |
Freeform |
TilesDamagedFloods |
Set_Value |
No |
PopLostToFloods |
Freeform |
PopLostFloods |
Set_Value |
No |
UnitsKilledByFloods |
Freeform |
UnitsKilledFloods |
Set_Value |
No |
FertilityFromStorms |
Freeform |
FertilityAddStorms |
Set_Value |
No |
TilesDamagedByStorms |
Freeform |
TilesDamagedStorms |
Set_Value |
No |
PopLostToStorms |
Freeform |
PopLostStorms |
Set_Value |
No |
UnitsKilledByStorms |
Freeform |
UnitsKilledStorms |
Set_Value |
No |
FertilityFromVolcanos |
Freeform |
FertilityAddVolcanos |
Set_Value |
No |
TilesDamagedByVolcanos |
Freeform |
TilesDamagedVolcanos |
Set_Value |
No |
PopLostToVolcanos |
Freeform |
PopLostVolcanos |
Set_Value |
No |
UnitsKilledByVolcanos |
Freeform |
UnitsKilledVolcanos |
Set_Value |
No |
TotalFloods |
Freeform |
NumFloods |
Count |
No |
TotalMitigations |
Freeform |
NumMitigated |
Count |
No |
TotalCarbonSequestrations |
Freeform |
NumCarbonRecaps |
Count |
No |
TimesSeaLevelRose |
Freeform |
SeaLevelRise |
Count |
No |
EngineeringProjects:Frequency/ (6)
| Counter |
Kind |
Context |
Type |
Per session |
MountainTunnelsBuilt |
Improvement |
IMPROVEMENT_MOUNTAIN_TUNNEL |
Count |
No |
QhapaqNansBuilt |
Improvement |
IMPROVEMENT_MOUNTAIN_ROAD |
Count |
No |
FloodBarriersBuilt |
Building |
BUILDING_FLOOD_BARRIER |
Count |
No |
CanalsBuilt |
District |
DISTRICT_CANAL |
Count |
No |
DamsBuilt |
District |
DISTRICT_DAM |
Count |
No |
RailroadsBuilt |
Route |
ROUTE_RAILROAD |
Count |
No |
PlayerPower:PowerStats/ (4)
| Counter |
Kind |
Context |
Type |
Per session |
TempPowerAllCities |
Power_Total |
Temp |
Set_Value |
No |
RenewablePowerAllCities |
Power_Total |
Renewable |
Set_Value |
No |
MissingPowerAllCities |
Power_Total |
Missing |
Set_Value |
No |
AvgMissingPowerAllCities |
Power_Average |
Missing |
Set_Value |
No |
WCStats:WorldCongress/ (10)
| Counter |
Kind |
Context |
Type |
Per session |
WCSpecialSessionCount |
Freeform |
WCSpecialSesssions |
Count |
No |
FavorFromEmergency |
Freeform |
FavorEmergency |
Set_Value |
No |
FavorFromResolution |
Freeform |
FavorResolution |
Set_Value |
No |
FavorFromProjects |
Freeform |
FavorProjects |
Set_Value |
No |
FavorFromDiploVictory |
Freeform |
FavorDiploVictory |
Set_Value |
No |
FavorFromGovernor |
Freeform |
FavorGovernor |
Set_Value |
No |
FavorFromInfluence |
Freeform |
FavorInfluence |
Set_Value |
No |
FavorFromReligion |
Freeform |
FavorReligion |
Set_Value |
No |
FavorFromPlunder |
Freeform |
FavorPlunder |
Set_Value |
No |
FavorEarned |
Freeform |
Favors |
Set_Value |
No |
GLStats:GameLevel/ (3)
| Counter |
Kind |
Context |
Type |
Per session |
HallOfFameTimesOpened |
ForgeCtx |
HallofFame |
Count |
Yes |
AdvancedSetupTimesOpened |
ForgeCtx |
AdvancedSetup |
Count |
Yes |
NumLoadsSameSession |
Freeform |
LoadedGameSameSession |
Count |
Yes |