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