Python script that iterates through up to 10,000 logs on a player's account and calculates every stat imaginable. It can output many different things depending on what you want to search for, such as average dpm, total caps, total time played on a class, etc. It's fully customizable, offering a wide range of search terms and various log type separation.
This is the third version of a script that I first started working on about 6 months ago. I returned to developing it yesterday because of boredom and dissatisfaction with the slow log grabbing speed. Version 3 now has multithreading, so calculation times have been sped up considerably.
Features:
- Date Range Filtering
- Gamemode Separation
- Class Separation
For Specified Classes:
Total Kills
Total Deaths
Total Damage
Average Kills per 30m
Average Deaths per 30m
Total DPM
Total K/D
Total Time Played
Also Includes:
- Medic Stats (Healing, Charges, Drops)
- Total Caps
- Combined version of specified class's stats
Unfortunately, Logs.tf rate limits their website when accessed from one point too frequently in a short period of time. The "Cooling Down (Logs.tf Data Request Overflow)" that you see every 20-25 logs is the result of logs.tf denying access to more pages, each time the script receives this error it stops all threads for 2.25s. On my PC I average between 9 - 13 logs per second. I ran it on a virtual machine and was averaging 5 - 7, the speed at which the iterator runs is completely dependent on your internet speed and CPU.
The Logs.tf API only supports logs that use the latest uploader plugin. All logs pre 2013 or servers you've played on
with the old plugin will be detected as broken and won't be calculated towards your final stats.
Download
Source Code
Python script that iterates through up to 10,000 logs on a player's account and calculates every stat imaginable. It can output many different things depending on what you want to search for, such as average dpm, total caps, total time played on a class, etc. It's fully customizable, offering a wide range of search terms and various log type separation.
This is the third version of a script that I first started working on about 6 months ago. I returned to developing it yesterday because of boredom and dissatisfaction with the slow log grabbing speed. Version 3 now has multithreading, so calculation times have been sped up considerably.
[u][b]Features:[/b][/u]
[list]
[*] Date Range Filtering
[*] Gamemode Separation
[*] Class Separation
[/list]
[u]For Specified Classes:[/u]
Total Kills
Total Deaths
Total Damage
Average Kills per 30m
Average Deaths per 30m
Total DPM
Total K/D
Total Time Played
[u]Also Includes:[/u]
[list]
[*] Medic Stats (Healing, Charges, Drops)
[*] Total Caps
[*] Combined version of specified class's stats
[/list]
Unfortunately, Logs.tf rate limits their website when accessed from one point too frequently in a short period of time. The "Cooling Down (Logs.tf Data Request Overflow)" that you see every 20-25 logs is the result of logs.tf denying access to more pages, each time the script receives this error it stops all threads for 2.25s. On my PC I average between 9 - 13 logs per second. I ran it on a virtual machine and was averaging 5 - 7, the speed at which the iterator runs is completely dependent on your internet speed and CPU.
The Logs.tf API only supports logs that use the latest uploader plugin. All logs pre 2013 or servers you've played on
with the old plugin will be detected as broken and won't be calculated towards your final stats.
[url=https://mega.nz/file/6N50mDJa#k4YU22MMGm36GVJiehISI8ItFI_BQhCzVfhiLnJid_o]Download[/url]
[url=https://pastebin.com/eS6C8T3T]Source Code[/url]
This is a very cool executable that opens my cmd; I like it
This is a very cool executable that opens my cmd; I like it
Why not work with the source code in GitHub? Amazing contribution.
Why not work with the source code in GitHub? Amazing contribution.
cool tool
https://i.imgur.com/0622faG.png
either this feature is broken or im really really bad at medic
cool tool
[img]https://i.imgur.com/0622faG.png[/img]
either this feature is broken or im really really bad at medic
bsiancool tool
https://i.imgur.com/0622faG.png
either this feature is broken or im really really bad at medic
What filtering settings did you use?
[quote=bsian]cool tool
[img]https://i.imgur.com/0622faG.png[/img]
either this feature is broken or im really really bad at medic[/quote]
What filtering settings did you use?
mimkybsiancool tool
https://i.imgur.com/0622faG.png
either this feature is broken or im really really bad at medic
What filtering settings did you use?
i think i just filtered for 6s matches
[quote=mimky][quote=bsian]cool tool
[img]https://i.imgur.com/0622faG.png[/img]
either this feature is broken or im really really bad at medic[/quote]
What filtering settings did you use?[/quote]
i think i just filtered for 6s matches
bsiani think i just filtered for 6s matches
So for some reason in log files certain medigun names are listed as "unknown". Could be a logs.tf API bug, might happen whenever someone is using a modified medigun (re-skin, australium, festive, etc.). Every medigun in your log files was named "unknown" so there was no way of differentiating between uber and kritz. The bug has been fixed now, but unfortunately uber and kritz charges have been merged into one number.
Download link updated.
[quote=bsian]i think i just filtered for 6s matches[/quote]
So for some reason in log files certain medigun names are listed as "unknown". Could be a logs.tf API bug, might happen whenever someone is using a modified medigun (re-skin, australium, festive, etc.). Every medigun in your log files was named "unknown" so there was no way of differentiating between uber and kritz. The bug has been fixed now, but unfortunately uber and kritz charges have been merged into one number.
Download link updated.
mimkybsiani think i just filtered for 6s matches
So for some reason in log files certain medigun names are listed as "unknown". Could be a logs.tf API bug, might happen whenever someone is using a modified medigun (re-skin, australium, festive, etc.). Every medigun in your log files was named "unknown" so there was no way of differentiating between uber and kritz. The bug has been fixed now, but unfortunately uber and kritz charges have been merged into one number.
Download link updated.
FWIW all "unknown" mediguns are ubers, it was a problem with certain medigun skins
edit: now fixed but that doesn't help past logs
[quote=mimky][quote=bsian]i think i just filtered for 6s matches[/quote]
So for some reason in log files certain medigun names are listed as "unknown". Could be a logs.tf API bug, might happen whenever someone is using a modified medigun (re-skin, australium, festive, etc.). Every medigun in your log files was named "unknown" so there was no way of differentiating between uber and kritz. The bug has been fixed now, but unfortunately uber and kritz charges have been merged into one number.
Download link updated.[/quote]
FWIW all "unknown" mediguns are ubers, it was a problem with certain medigun skins
edit: now fixed but that doesn't help past logs
Really cool thank you for all your hard work @Mimky
Really cool thank you for all your hard work @Mimky
MGE Mike stats:
SOLDIER:
Total Kills: 12284
Total Deaths: 8889
Total Damage: 4717370
Average Kills (Per 30 Minutes): 26.83
Average Deaths (Per 30 Minutes): 19.41
Total DPM: 343.4
Total K/D: 1.38
Total Time Played: 228 hours 57 minutes 24 seconds.
Total Caps: 6297 in 2458 logs.
sadly no airshots/pm sadge
MGE Mike stats:
SOLDIER:
Total Kills: 12284
Total Deaths: 8889
Total Damage: 4717370
Average Kills (Per 30 Minutes): 26.83
Average Deaths (Per 30 Minutes): 19.41
Total DPM: 343.4
Total K/D: 1.38
Total Time Played: 228 hours 57 minutes 24 seconds.
Total Caps: 6297 in 2458 logs.
sadly no airshots/pm sadge