Tracking Hearthstone stats since 2013! |
I play a lot of Hearthstone, or arena to be precise. I wanted to tool to automatically record and keep track of my performance. Hereby, let me introduce the Hearthstone stats tracking app, the HearthTracker. It will keep track of your Hearthstone stats (almost) without your interventions. I'd designed it to be easy to use.
How does it work
The app uses the least invasive, image recognition technique to obtain information on the screen. It doesn't inject dll, read/modify Hearthstone process memory in any way nor parse the game packets. It is basically functioning as it is a screen recording/screenshot tool and nothing more. It is probably the safest way you can extract stats from Blizzard games.
Features
- Support all Hearthstone languages
- Support all resolutions
- OBS/Xsplit supported, output as text files
- easy to use UI
- track ranked/casual/arena/challenge/practice stats
- track win rate by deck (with minimal intervention)
- able to recognize which deck is selected
- able to recognize classes
- able to recognize wins and losses
- able to recognize who goes first/second
- able to recognize your opponent hero
- able to recognize victory/defeat
- Overview of win rate and 6+ wins rate.
- Live stats of the current game
- cross platforms (windows/osx/linux) only tested on Windows though.
Upcoming Features
- UI Cosmetic changes
- Web app for collective and your own private stats
- More stats and better breakdown of stats
- Beautiful graphs
Known Limitations
- Due to the nature of image recognition technique, the app can be fooled (but i doubt anyone wanted to cheat on your own stats).
- Also, due to the nature of image recognition technique, there is no way to track the stats in 100% precision, but I'd put a lot of efforts in order to apply the best strategies to give you the best results.
- You must give it enough time to scan for images (usually a split second is more than enough)
Requirement
- Java virtual machine must be installed before launching the app, get it from http://www.java.com
- Hearthstone client (obviously!)
Installation & Usage
- Download and extract it into a folder of your choice
- Double click on "HearthTracker.jar" to run
- Make sure your Hearthstone is running in Windowed mode (uncheck Fullscreen in Hearthstone options)
- Make sure your Hearthstone is running with the correct resolution
- Remember to backup the data folder (this is where your stats are kept) regularly
Upgrade from older versions
- Backup your existing data folder.
- delete everything else except for data folder
- extract new version into the existing hearthstone folder
- copy the backup contents of data folder back into the original data folder
Support the project!
- The easiest way to support the project is by spreading the words! Tell your Hearthstone friends to use the app!
- Donations are welcomed and appreciated! I need to pay my bills and fund the stats tracking website!
- Give me your feedback! email me at
Mirror (Mediafire) | Mirror (MEGA) |
HearthTracker v1.2.1 | HearthTracker v1.2.1 |
HearthTracker v1.2.0 | HearthTracker v1.2.0 |
HearthTracker v1.1.9 | HearthTracker v1.1.9 |
You can still download the older versions here. Also, HearthTracker seeks your help, read the details here if you think you can help!
Donate to support the project!
If you find my app useful, please consider tossing me a few coins to keep the project alive, I've spent a lot of time and effort on it.
There are tons of update & new features undergo heavy development, I promise that HearthTracker will get much better with your support! I accept Paypal and Bitcoin.
If you're a bitcoin user, you can donate to my Bitcoin address as well @ 13pCxFXmJHt1PqX6yrfuYJUtbKqJfV3X7S
There are tons of update & new features undergo heavy development, I promise that HearthTracker will get much better with your support! I accept Paypal and Bitcoin.
If you're a bitcoin user, you can donate to my Bitcoin address as well @ 13pCxFXmJHt1PqX6yrfuYJUtbKqJfV3X7S
Nice work! i see that my monitor resolution is not supported. i play in window mode 2560x1440
ReplyDeleteit doesn't matter, the app will be able to detect your game resolution with the auto detect game resolution.
Deleteif case it failed to detect you can add the resolution manually by editing configs/gameResolutions.xml
Hi, nice work! i can help you to support italian lang, for many people would be nice
ReplyDeleteI will release a version that support all languages soon.
Deletewow great!!
Deleteall hearthstone languages are now supported!
DeleteI saw you on reddit talking about people with 2 monitors having a problem with it trying to track the wrong monitor. The program always tries to use your main display. You said you couldn't recreate the problem so that should help, just set your other monitor to your main display and it'll do it.
ReplyDeleteAlright, I have finally figured out the issue. It appears that the library I am using messed up the coordinates when you change your main display to monitor other than first. In the mean time, I will provide a workaround in the Perferences by next version. Thank you for the excellent bug report.
DeleteI have included a workaround for the issue. Please check latest update.
DeleteAre you sure the spanish version is working correctly ?
ReplyDeleteIt's impossible for me to get it working, it gets the resolution, but it never scans anything.
It should work, at least the game mode will always be correct since it is not using any language specific parts of the game.
DeleteWhat does the diagnostic tab say?
Will there be support for playmode, too?
ReplyDeleteYes, it is already support Play mode.
DeleteThis comment has been removed by the author.
ReplyDeleteHi there.
ReplyDeleteI've downloaded the tracker, correct resolution is typed in 1366x768, english is set, the game is minimized, tracker is running, yet it will not gather my data.
Any clue as to why?
hi, your game need to be visible, minimizing it will not work.
DeleteHello, maybe a stupid question, but what folder is my data folder? Is it called "my"?
ReplyDeleteSorry, I couldn't understand your question. Can you rephase it?
DeleteI have two computers, works great on 1920x1080, on other one (1440x900) it detects the window correctly but fails to gather any data.
ReplyDeleteI just tried it on 1440x900 resolution (both desktop and game client), and I couldn't reproduce it. Can you be more specific?
DeleteI also have a 1920x1080 screen, which I play on, and a 1440x900 screen. No data is gathered it seems, what am I suppose to put in the Override Offsets if that is suppose to help it?
DeleteThis is incredible! Out of curiousity, why can it not work in windowed mode? Also, have you considered making this project open source? I'd love to contribute to this myself.
ReplyDeleteI suppose you mean full screen mode. It is possible, but it requires DirectX api hooking (dll injection) - which is something that I don't wish to do.
DeleteYou're right, I meant full screen mode. Thank you for answering my question. By the way, when I click "Play" in play mode (not arena or practice), it often says that I have deck 8 selected, when I don't. If I press cancel, it picks up the correctly selected deck, but it will often go back to deck 8 while looking for opponents. Would it be possible to get an update that has better detection of which deck I am using? Also, in preferences, what does Scan Speed mean? Does a slower scan yield more accurate results? Thank you for entertaining my questions.
DeleteBug confirmed, I will fix it by next version.
DeleteDoesn't work for me. Tracker is detecting class, deck, enemy, mode and first/second correctly, but doesn't detect final result.
ReplyDeleteI let the screen with the class portrait and "Victory!" banner open for almost a min and no record.
May I know what was the resolution? did you somehow block the class portrait with your mouse cursor?
Delete1920x1080 windowed. I have like 5 games now and never recorded the data although rest works fine upfront. I didn't block the portrait.
DeleteI just continued my previous arena with 2-2 stats and hearthtracker got that correctly. After the game now I have 3-2 but it still says 2-2. Also the "Last seen" is always on 3 minutes.
This comment has been removed by the author.
ReplyDeleteMine just keeps closing instantly, "could not find the main class" or something
ReplyDeleteyou need to make sure you have the latest Java Runtime Environment installed.
DeleteThis comment has been removed by the author.
ReplyDeleteIs the download missing?
ReplyDeleteNope, the download links are fine.
DeleteWorks great, other than one minor setback. The resolution of the app itself is awkward. A lot of the texts are cut off, is there anyway to fix this? I use a 1920x1080 laptop screen.
ReplyDeleteIt is a known issue that the UI elements look awkward on Windows 8. I will try to fix it but designing UI isn't my main skill :P
DeleteNot getting this to open on mac. Saying "The Java JAR file "HeathTracker.jar" could not be launched. Check the Console for possible error messages."
ReplyDeletePerfectly willing to help you test if it means we could get this working on OSX.
in order to run on Mac, you need to make sure you have the latest jre and fire up your console, cd into hearthtracker directory, type "java -XstartonFirstThread -jar HearthTracker.jar" without quotes.
DeleteSadly that didn't seem to fix anything. Here's what I got.
Delete":HearthTracker-v1.1.8 Stefan$ java -XstartonFirstThread -jar HearthTracker.jar
Unrecognized option: -XstartonFirstThread
Could not create the Java virtual machine."
And yes, I double checked that I've installed the JRE.
DeleteTry: java -XstartOnFirstThread -jar HearthTracker.jar
DeleteNotice the capital "O". But for me it still won't work. :(
user$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Just installed a Java update, and now the app won't launch. Wondering if it's something I did? Or if it was related to the update?
ReplyDeleteFigured out the problem - reinstalling JRE fixed whatever issue was going on.
DeleteI'd like to talk to you about partnering with http://HearthStats.net and integrating auto-export to the site from your app.
ReplyDeleteGreat work!
I'm having a problem opening this.
ReplyDeleteI've tried what MegaGaming mentioned to run it on a mac, and I'm getting the following error
Tonys-MacBook-Air:HearthTracker-v1.1.8 tony$ java -XstartOnFirstThread -jar HearthTracker.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: my/hearthtracking/app/MainLoader : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
You need to install latest Java runtime environment (which is JRE 7). I think you're running JRE 6.
DeleteI had just downloaded and installed the latest one, JRE 7u51 x64, prior to downloading hearthtracker
Deletetry typing "java -version" at console.
Deleteand paste the output.
definitely has something to do with your jre version/environments path
Tonys-MacBook-Air:HearthTracker-v1.1.8 tony$ java -version
Deletejava version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
And I was right, you're still running JRE 6 (1.6.0_65).
DeleteJRE 7 should show 1.7.0_45
I just tried installing JRE 7 again, the Oracle website shows this message
Deletehttp://i.imgur.com/fQ0n2Vd.png
But version still says 1.6.0_65
How i start to use this program?
ReplyDeleteI just start the program and the game and play?
yes, just start and play games, make sure your game screen is visible all the time.
Deleteno work only if i put the score whit my hands ... i start the program i set the corect resolution i start the game and i play and after the game nothing....
Deleteare you running the game in window mode? it can only scan when the game is running in window mode.
Deletei run in win mode 1024x768 and no work ...
ReplyDeleteI have seena chinese version that shows the cards you have and what you are playing...anything like that you could come with? Something that shows the cards you've played and the cards your opponent has played?
ReplyDeletees I do know about the chinese version, i am kind of reluctant to implement card counting feature because I feel like it is defeating the purpose of the HearthTracker. I do not want it to effect the gameplay in anyway especially it gives the users who use it a clear advantage which debatably sounds like cheating.
DeleteThe new engine has the capabilities to recognize the cards, I could implement something like that, but it wont show the card draw probabilities, just keep a log of the played cards.
I have some issues with this app.
ReplyDeleteThis app seems to work only for few minutes.
Then he detects nothing and "Last seen" is > 10 minutes.
My resolution is 1
Thank you for the app. Would you mind making it so newest comments are on top so we don't have to scroll all the way down?
ReplyDeleteHi, great job on the app, its really useful.
ReplyDeleteI detected a problem, In arena at 9 wins:
Live Arena status
Score: Unknown
Playing as Druid
I could not confirm for 8 because I was not looking, but for 10 and 11 it recognizes. (12 no idea xD)
MacOSX guide:
ReplyDelete1. Go download the latest JDK (not JRE!): http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2. Install jdk-7u51-macosx-x64.dmg
3. Open the Terminal (press CMD-space, type in "term", enter)
4. In the Terminal type "cd ", including the space behind it
5. Then drag the HearthTracker-v1.2.1 folder into your Terminal window. It will automatically type the path to the HearthTracker-v1.2.1 folder. Then press enter.
6. Type the following into the Terminal and press enter: java -XstartOnFirstThread -jar HearthTracker.jar
7. Now it starts! =D
Note: I first tried downloading the latest JRE, but that didn't work. (http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html) So after that I did the above steps, and then I could start the "HearthTracker.jar" file. I don't know for sure if you need both JDK and JRE, since I had already installed JRE. =D
TO THE DEVELOPER: Please do a proper java build for MacOSX. Then people won't need to download JDK and run it from the command line. U_U
Awesome! Version 1.2.1 works for me on OS X!
DeleteNo, my mistake. I works only on the first startup of the program. Afterwards (unless I delete the contents of the data directory) it starts and then hangs before any window is displayed. :(
DeleteSo you have to do this EVERY TIME you want to use it?
DeleteWhat happened to the button that would show me where my multi-monitor offset is set to?
ReplyDeleteAfter clicking hearthtracker.jar and having hearthstone opened and visible in windowed mode, the app just doesn't launch. I don't even get an error message. What do you mean by correct resolution? None of the offered resolutions for Hearthstone actually fill up the screen entirely for me.
ReplyDeleteIt seems to count all "runs" in the arena as 3 losses. I played once (1-3) and then started a second time and it show my arena record as 1-6. It would seem that if someone went 12-1 or whatever then the record would show incorrectly.
ReplyDeleteI have a bug since the latest patch. It totally screw up my win/loss of my arena games. And when I add an arena run (for example 5-3) it doesnt update my total arena stats with that class anymore.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI concede a game in a arena run that it did not detect. Can't it detect that or was i moving to fast away from the screen?
ReplyDeleteI assume that you are aware of another tool called "Hearthstone Stats". What seems to be the major difference between you two, from your perspective?
ReplyDeleteYou probably said it before but when a mac version will be released ?
ReplyDeleteI hope there will be one this software is really awesome i need it !
Hello, first I wanted to say thanks for the app, it looks awesome I just wish I could use it! I cant get the program to record anything. When I maximize/minimize I get the pop-up from Hearthtracker. All my settings are correct, NA - English - Auto Detect enabled - Resolution is correct - Scanner enabled - Scan speed, fast - Forced scanning enabled - Log level, Info. I have the latest version of Java 64-bit , I don't minimize when I play the game. Its in windowed mode, is there something im missing? Sorry I don't mean to pester anyone but I've exhausted every outlet in finding a solution. Thanks again
ReplyDeleteHey,
ReplyDeleteI'm testing this on OS X Mavericks (10.9) and it's throwing the following error when trying to open it.
davemac@Dave HearthTracker-v1.2.1 :) $ java -jar HearthTracker.jar
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Starting up.
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: SWT dependcies loaded!
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Loading xml files...
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Done loading xml files.
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Done loading xml files.
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Game server not selected, launching UI for that!
Jun 22, 2014 12:02:15 AM my.hearthtracking.app.HearthLogger info
INFO: Game server not selected, launching UI for that!
***WARNING: Display must be created on main thread due to Cocoa restrictions.
Jun 22, 2014 12:02:16 AM my.hearthtracking.app.HearthLogger severe
DeleteSEVERE: Invalid thread access
Jun 22, 2014 12:02:16 AM my.hearthtracking.app.HearthLogger severe
SEVERE: Invalid thread access
**sorry didn't notice another part of the log**
Then it crashes
I just downloaded this and Norton 360 flagged hearthtracker.exe as having Suspicious.Cloud.9. I was downloading HearthTracker v1.2.1 from the MediaFire mirror.
ReplyDeletehi, download the app today but it doesnt keep up with the arena matches, only records the first one
ReplyDeleteHi
ReplyDeletei just download the tracker, but it doesnt work at all..
it doesnt show me any sign... i setup java and check it work well..
what should i do?