branchrust_reboot/main/gameplay_metricscancel
140 Commits over 59 Days - 0.10cph!
Use bounds to find monument instead of looking for the connected spawner
Store attachments on weapon
Always store victim's hotbar
Fix NRE in OnLootContainerDestroyed
Merge from main -> gameplay_metrics
Fixed ores counting as produced & smelted products counting as consumed
Log workbench entity instead of the workbench level
Log mixing table as normal crafting & set the workbench entity as the mixing table
Split crafting into two methods: item produced & material consumed
Add ingredients to item definitions
Fix compilation error from git missing half the commit?
Split recycler method into two methods & include the source + dest item when recycling (to group product of recycling per item recycled)
Fix damage being logged for scientists / npc but no player involved
Change damageType from int to string
Merge from main -> gameplay_metrics
Don't log the individual ingredients used for crafted (can use joins in db later)
Implement GetHashCode & IEquatable for all struct dictionary keys in analytics
Push aggregate items (inluding upkeep) every 60 minutes instead of every minute
Change "UploadPendingItems" from task to coroutine
Remove "Starting to aggregate players" spam
Log workbench level when the craft was started instead of when the craft ends
Ignore logging wipe ids of NPCs
Log stashes
Log entity manifest on startup
Fix barrels not being logged
Log keycard swipes
Log hackable crates start & end
Noclip violations requires HIghFrequencyStats
Push server info every hour instead of once at startup
Fix barrels not logging loot
Add isOcean when items are looted
Move biome to helper .cs
Log server tags
Log device id
Log player count directly
Log player who dropped item & log the player when it despawns
Log item definitions on startup
Add 'stats_blacklist' convar to manually exclude events
Update analytics urls
Add 'pending_analytics' convar to get the amount of pending events
Add 'high_freq_stats' convar to disable common high frequency events
Enable saving for analytics convars
Merge from main -> gameplay_metrics
Fix crafting ingredients being marked as produced instead of consumed
Fix error when logging server performance
Check if AnalyticsSecret is empty rather than null
Using the staging api for server analytics
Remove redundant using statements causing compile errors
Merge from main -> gameplay_metrics
Store wipeid in json instead
Merge from sav_extra_json
Remove wipeid as an optional parameter
Merge from main -> gameplay_metrics
Remove analytics DB, instead use a hash of steamId + serverWipeId to get playerWipeId
Refactor projectile tracking a bit
Log every projectile invalid
Log projectile updates in BasePlayer.FiredProjectile
Add ILootableEntity interface and add "LastLootedBy" to all lootable entities, use that instead of a Dictionary tracking lastLootedBy
Use Facepunch.Pool instead of manually pooling MemoryStream & List<EventRecord>
Iniital fixes after code review
Refactor aggregate methods
Log aggregate blueprint counts for online players every 1hr
Log aggregate entity count for server every 1hr
Log player positions every 1 min
Merge from main -> gameplay_metrics
Pool MemoryStream when serializing, only log json of events in the editor
Log when entities are repaired with a hammer, log the materials used in the repair bench
Move helper methods to seperate .cs file
Only submit stats from official servers
Change quarry to aggregate item amounts & add OnNPCVendor implementation
Use seperate interval for performance on server (1 min)
Merge from main -> gameplay_metrics
Logged missions, underwater crates, buying vehicles & horses, gambling
Enable server performance metrics