-
-
Save kas240sx89/070dfd4f5d22c5ccc91a171fb74c2a30 to your computer and use it in GitHub Desktop.
{ | |
"Match": { | |
"UUID": "ed3d51dd-a88c-4697-80f3-361fc514d844", | |
"GameMode": "casual", | |
"Timestamp": 1476088221, | |
"Duration": 1706, | |
"Stats": { | |
"endGameReason": "victory", | |
"game_id": "kindred", | |
//"lobbyInfo": {}, remove blank | |
////"logTime": 1476090013.223941, remove not needed | |
"losingTeam": 0, | |
"matchInfo": { | |
"allow_afk_replacement": false, | |
"difficulty": "very_hard", | |
"freeunlocks": [ | |
"*Fortress*", | |
"*Celeste*", | |
"*Catherine*", | |
"*Blackfeather*", | |
"*Vox*", | |
"*Petal*" | |
], | |
"friendlyTime": "2016-10-10T08:30:21.995376", | |
"gameMode": 9, | |
//////"host": "10.2.0.77", remove | |
////"lobbyInfo": {}, | |
////"lobbyInitialTimeout": 120, | |
////"lobbyMode": 0, | |
////"lobbyTimeout": 60, | |
////"numMatchablesInQueue": 22, remove | |
////"port": 11000, remove | |
"queue": "casual", | |
"rubberband_bot_difficulty": true, | |
////"sites": [] | |
}, | |
////"storedResults": [], | |
"winningTeam": 1 | |
}, | |
"Teams": [ | |
{ | |
"Players": [ | |
{ | |
"Actor": "*Glaive*", | |
"Name": "Scribejewel", | |
"Stats": { | |
//"actorValid": true, //remove not needed | |
"afkHistory": [ // keep ? good for competitive guilds/players choosing members/friends | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
0, | |
1 | |
], | |
"afkScore": 0, | |
"afkTime": 0, | |
"afkTotal": 0, | |
"banReason": 0, | |
"completed": 87, | |
"completed_ranked": 0, | |
////"connectedOnce": true, remove not needed | |
"elo": 1282, | |
"elo_aral": 1217, | |
"elo_earned_season_4": 0, | |
"elo_earned_season_5": 0, | |
"elo_ranked": 1268, | |
"essence": 116, | |
"farm": 56.65, | |
"firstAfkTime": -1, | |
//"gold": 29, remove ? personal but could be helpful in players helping players improve | |
"guildTag": "", | |
///"guildUUID": "", remove personal info | |
///"inventoryValue": 6500, remove personal info | |
///"isDev": 0, remove | |
///"isOrganizer": 0, remove | |
"items": [ //remove ? could be helpful in players helping players improve | |
"Tornado Trigger", | |
"Weapon3", | |
"Tornado Trigger", | |
"Critical", | |
"Armor3", | |
"Boots2" | |
], | |
"karma": 15.375, //???not sure what karma info is needed if any | |
"karmaBanLevel": null, | |
"karmaBanWarned": 0, | |
"karmaLevel": 1, | |
"karmaTempBanLevel": null, | |
"l10wins": [ // keep ? good for competitive guilds/players choosing members/friends | |
"1", | |
"1", | |
"1", | |
"0", | |
"1", | |
"0", | |
"1", | |
"0", | |
"0", | |
"0" | |
], | |
///"last_login": "10/10/16 07:26:57", remove personal info | |
"level": 12, | |
///"levelMaxXP": 14430, remove not needed | |
///"levelMinXP": 10285, remove not needed | |
///"lifetimeGold": 15274.4990234375, remove personal info | |
"lossStreak": 0, | |
"matchStats": { | |
"assists": 5, | |
"crystalMineCaptures": 3, | |
"deaths": 10, | |
"farm": 2266, | |
"goldMineCaptures": 0, | |
"itemGrants": { | |
"*1000_Item_HalcyonPotion*": 13, | |
"*1004_Item_SwiftShooter*": 1, | |
"*1005_Item_SixSins*": 2, | |
"*1010_Item_BlazingSalvo*": 2, | |
"*1012_Item_Sorrowblade*": 1, | |
"*1014_Item_TornadoTrigger*": 2, | |
"*1022_Item_CoatOfPlates*": 1, | |
"*1024_Item_MetalJacket*": 1, | |
"*1030_Item_SprintBoots*": 1, | |
"*1032_Item_TravelBoots*": 1, | |
"*1049_Item_TyrantsMonocle*": 1, | |
"*1065_Item_HeavySteel*": 1, | |
"*1068_Item_LuckyStrike*": 3, | |
"*1080_Item_MinionsFoot*": 2 | |
}, | |
"itemSells": { | |
"*1000_Item_HalcyonPotion*": 1 | |
}, | |
"itemUses": { | |
"*1000_Item_HalcyonPotion*": 12, | |
"*1032_Item_TravelBoots*": 1 | |
}, | |
"jungleKills": 16, | |
"kills": 5, | |
"krakenCaptures": 0, | |
"minionKills": 48, | |
"nonJungleMinionKills": 32, | |
"turretCaptures": 1 | |
}, | |
"mmrBucket": 12, //not sure what this is???? | |
"opal": 13, //not sure what this is???? | |
//"partyUUID": "", remove personal info | |
//"pendingGuildInvites": 0, remove personal info | |
//"pendingMessages": 0, remove personal info | |
//"pendingPartyInvites": 0, remove personal info | |
//"pendingTeamInvites": 0, remove personal info | |
"replacedWithBot": false, | |
"seasonMaxSkillTier": -1, | |
"seasonal_key": 0, | |
"silver": 4514, | |
"skillTier": -1, | |
"skinKey": "Glaive_DefaultSkin", | |
"team": 1, | |
"teamTag": "", //if all players same on team will replace team name | |
//"timeEnteredQueue": "2016-10-10T08:28:46", remove not needed | |
//"unlocks": [ remove personal info | |
//"*Hero010*", | |
// "*Lance*", | |
// "*Sayoc*", | |
//"Skaarf_Skin_Infinity_T1", | |
// "Ringo_Skin_Shogun_T1", | |
//"*Glaive*", | |
// "*Joule*", | |
//"*Ringo*" | |
// ], | |
"wentAfk": false, | |
"winStreak": 3, | |
"winner": false, | |
"wins": 51, | |
//"winsToday": 2, remove personal | |
//"winsTodayExpiry": -1, remove not needed | |
"xp": 13186 | |
}, | |
"UUID": "54a0a1fa-2f64-418a-94cf-85fbe55ea758" //hashed value not ingame uuid | |
} | |
], | |
"Name": "", | |
"UUID": "", //hashed value not ingame uuid | |
"Stats": { | |
"_afkPlayers": 0, | |
"_avgElo": 1411.3333333333333, | |
"_avgMatches": 981.6666666666666, | |
"_goldPerSecond": 29.066442373156047, | |
"_playersOnTeam": 3, | |
"teamAcesEarned": 2, | |
"teamGold": 49588, | |
"teamHeroKills": 16, | |
"teamKrakenCaptures": 0, | |
"teamTurretKills": 1, | |
"teamTurretsRemaining": 0, | |
"teamWon": false | |
} | |
}, | |
] | |
} | |
} |
Note: We will make UUIDs for teams (party's) that don't have them.
Note: Winning Team will be renamed to winner and be a boolean property on teams
Note: We are going to bring "score" out as a property on team and player.
I feel like this information is useful, but again should be moved out of the match API into another area. Knowing how far along someone is on their level progression could help us put together some nice graphs, but to do that we'd need to know what XP is required for level 12 (for example)
"level": 12,
///"levelMaxXP": 14430, remove not needed
///"levelMinXP": 10285, remove not needed
I'd like to see karma
information stripped. I wouldn't want some site making a list of guys to avoid
, because their karma was affected after playing Catherine poorly in a Battle Royale match, despite wanting to pick their main Taka jungle in a ranked game.
"karma": 15.375, //???not sure what karma info is needed if any
"karmaBanLevel": null,
"karmaBanWarned": 0,
"karmaLevel": 1,
"karmaTempBanLevel": null,
This seems like personal information related to the seasonal chests, let's remove it.
"opal": 13, //not sure what this is????
This seems like PII related to essence used to craft cards, let's remove it.
"essence": 116,
This seems like PII related to how many keys a user has pending to open seasonal chests, let's remove it.
"seasonal_key": 0,
This feels like it belongs someplace else, and is not relevant to the actual match. Let's remove it and put it in some other end point later.
"freeunlocks": [
"*Fortress*",
"*Celeste*",
"*Catherine*",
"*Blackfeather*",
"*Vox*",
"*Petal*"
],
Is this really personal information, you can view this in game by just adding the guy to your friends list (or finding one of his friends!)? I feel like knowing a users guild is something we could make use of, and even give great data about for the user (and the other members in his team).
///"guildUUID": ""
This information seems useful, but looks internal to you guys - for us to have any use on it we'd need to know what sort of time span this data is over. e.x. Average matches over what period? If we can't have that, it should also be removed.
(If we do get to keep it, it feels like it should also be somewhere else. /matches/averages
for instance)
"_avgElo": 1411.3333333333333,
"_avgMatches": 981.6666666666666,
"_goldPerSecond": 29.066442373156047,
Is Duration in format MMSS?
Duration is epoch seconds only, same with TimeStamp
This is great information, and I think we would like to keep it - but i'm not sure it belongs at the match endpoint. This seems to me like information that should come from a /player/dominic
endpoint.
"elo": 1282,
"elo_aral": 1217,
"elo_earned_season_4": 0,
"elo_earned_season_5": 0,
"elo_ranked": 1268,
This information also feels like it should come under a /player/dominic
endpoint, as oppose to out of match data. It is not particularly relevant to a match, but an individual summoner (and at the time of the match this information is of no importance)
"winStreak": 3,
"wins": 51,
"xp": 13186
What is l10wins
? Some documentation may be needed on this one.
last 10 games, if they won or lost
If I remember rightly, mmrBucket :12
relates to a users current tier (Just Beginning Bronze, through to Vainglorious Gold) on a scale of 1-30. This information feels more relevant to the user than the particular match, especially in cases of Battle Royal for instance.
I agree Dominic.. that player specific data (elo, wins, streaks, etc) should be in a player endpoint
yep that mmrBucket used to be in the game packets if you sniffed them... where 0 = unranked and 30 = VG gold IIRC. I think l10wins
is last 10 match results where 0 = defeat and 1 = victory.. just my guess
@dominicgunn - You're a lovely human.
How deep can we go with this? Looking at it, it seems to be in initial item purchase order, but more useful I think would be to just continually list everything as it's bought, as oppose to saying there was 12 potions bought. This would let us accurately map a game over time. (Time of purchase, if it's available, would also be great)
"itemGrants": {
"*1000_Item_HalcyonPotion*": 13,
"*1004_Item_SwiftShooter*": 1,
"*1005_Item_SixSins*": 2,
"*1010_Item_BlazingSalvo*": 2,
"*1012_Item_Sorrowblade*": 1,
"*1014_Item_TornadoTrigger*": 2,
"*1022_Item_CoatOfPlates*": 1,
"*1024_Item_MetalJacket*": 1,
"*1030_Item_SprintBoots*": 1,
"*1032_Item_TravelBoots*": 1,
"*1049_Item_TyrantsMonocle*": 1,
"*1065_Item_HeavySteel*": 1,
"*1068_Item_LuckyStrike*": 3,
"*1080_Item_MinionsFoot*": 2
},
Times on this sort of stuff would be great too.
"krakenCaptures": 0,
So goal here is to literally filter this data for now... We have new data requests stored in trello (and everything you guys have asked for in Slack is in there!)
One more look through to make sure I catch everything, this seems like a dodgy one. I'm not sure how appropriate this information is to be displayed to the entire public. It may be more appropriate once we have the ability to link accounts, and verify that the user we're displaying information to is the owner of the account. This falls under the same bad guy list
as the karma changes.
"afkHistory": [ // keep ? good for competitive guilds/players choosing members/friends
0,
0,
0,
0,
0,
0,
0,
0,
0,
1
],
There's a removal mentioned here, but this data does seem relevant to the match at hand. It would let us show players what they bought after the match has ended. Though it looks like it needs sanitizing, Weapon3
doesn't make much sense.
"items": [ //remove ? could be helpful in players helping players improve
"Tornado Trigger",
"Weapon3",
"Tornado Trigger",
"Critical",
"Armor3",
"Boots2"
],
I think party UUID would be useful in the matches query and wouldn't be personal info. Would be useful if showing who was in a party for matches
Could you put timestamps for the itemGrants so we can look at the build paths?
Thanks all - I shared all these comments and am working on a new version.
Note: We will ditch the top level "Match" object