From what I understand, total kills is however much you've killed (friendlies and enemies) MINUS the number of team kills - but the actual number of rifle kills / sniper kills seems to count team kills as well (which explains why some people I've seen have higher rifle kills than kills in total [shocked]).
That's correct. The total number of kills does not count team kills in order not to encourage team killing but the other stats (assault mode, sniper mode, melee etc...) include those as well.
The number of deaths counts all deaths, including deaths from friendly fire.
Seeing as there's no "draws" data and pretty much everyone has more losses than wins, seems like a good theory
edit: Timestamps for achievements seem to have an appended '.0' (eg. <time>2009-11-06 20:22:35.0</time>), which looks like it would represent milliseconds except it never seems to change. Is this intentional?
edit2: game->wins + game->losses doesn't equal 'matches', which seems to always be slightly larger. Any chance the missing amount not outputted specifically is "draws"?
Also, the "main" achievements tag is called achievements while the child tags for each achievement are achivement
Also also: It doesn't particularly change things for single-use API requests (signature generation for a single person / whatever), but for things where multiple player stats need to be retrieved it would be really useful for it all to be possible in a single request - should speed up multiple requests quite a bit and reduce load from connection spam on both ends - e.g. say I want to compare 16 players and their stats, based on their player name - I have to make one request per player to retrieve their ID and 1 request to retrieve their actual stats - 32 individual HTTP requests which would optimally be returned in 2 requests - 1 grabbing all the player ID's for a list of names, and 1 returning all the stats for each ID in that list.
Player searching seems to work a bit strangely - for example, doing a player search for 'Kher' returns '[CPC] Akheris' as the first result when there is also a player named exactly Kher. Would be cool if it returned players ordered by their likeness to the search string or something, or return exact matches first (I think atm it seems to sort by player ID, right?)
Even more even more (sorry):
Perhaps a quick API for the global stats would be cool (players online, servers online, matches played)