Frequently Asked Questions

What is TheleRune?

TheleRune is a small web app which stores and displays information about my Old School RuneScape stats history.

Why did you make this? There are other stats websites out there!

I started working on this mostly because I want my stats to be as accurate and complete as possible, and that is something none of the other stats sites actually seem capable of (at least not when it comes to my account, which is the only one I'm really bothered about).

Can you be more specific?

The three main websites at the launch of this site were Crystal Math Labs, TempleOSRS and Wise Old Man. They all suffered from issues with missing and significantly inaccurate data.

To start with, none of them went any further back in time for my account than 20 November 2018, despite the fact my account was almost 6 weeks old by then, and I'd racked up over 700 levels and over 5 million XP. I made the bulk of my level gains in Thieving and Fishing (my first two 99s) during this period, and the data is just completely missing. Admittedly, this is my own fault, because at the time I didn't know that using tracking websites was mandatory for keeping history, or even a thing at all. But I don't seem to be able to retroactively fill in the missing data (despite most of it being fairly straightforward to reconstruct).

Following on from this, Crystal Math Labs appears to have the most complete data set in all aspects apart from activities and boss killcounts. The latter is where CML fails the completeness test - it doesn't track activity progress, and its boss killcount tracker stopped working properly in early 2021 when the updated Soul Wars launched. In fact, the site isn't updated at all anymore, and because of the lack of updates from the owner, it seems only a matter of time before the entire site dies.

TempleOSRS is the second in terms of data completeness. Unfortunately, data from the second half of 2021 is missing completely. I'm not sure how or why this happened, but it's just not there. Also, while it does track activities and boss killcounts, and seems to do so correctly, the data for this only starts in April 2020 due to the fact that Jagex did not bother to record the data before then. I don't have any way to fill in the missing block of time, or to retroactively fill in the missing activity and boss data. (As a side note, the site is laid out in a really non-intuitive way, and I find it really confusing to navigate, being probably the worst out of the three sites. I like my OSRS stats to be accessible from my social media links and their site is really not suitable for that, the layout is a total mess!)

Wise Old Man is in last place for data completeness. In theory, they should have the most complete dataset out of the three, because they have both CML and TempleOSRS to pull from, but sadly that isn't the reality. The current tracker seems to only import from Crystal Math Labs, and refuses to load any data points which are dated any later than May 2020, so it has a gap in my history which is several years long. The lack of data causes any achievements made in the gap to have the wrong date on (e.g. it claims I hit 99 cooking in March 2022, when it was actually many months earlier). So not only does it have missing data, but it also lies about when major accomplishments happened. Ugh.

In short, there was nowhere which accurately recorded my entire account history and displayed it in a nice way. I also came to the conclusion that I don't trust third-party stats sites to track my data in a lossless way. So I decided to make my own thing.

How did you construct your historical data?

My initial focus was on trying to merge together the most accurate data for the time period already tracked by the existing trackers (20 November 2018 onwards).

The initial set of skilling data was pulled from Crystal Math Labs using their API. I've been tracking my stats on CML the entire time I've been playing (aside from that initial missing period), and there aren't really any major gaps - all the main skills had fairly accurate and complete tracking data available.

After getting the skilling data, I set about trying to reconstruct the minigame and boss data. I don't actually do much in the game in this regard, as I'm still focused mostly on getting my skills up to 99, and I'm a pretty casual player. So the only data that I needed to reconstruct was for clue scrolls and Wintertodt.

Up until early 2022, CML actually did track Wintertodt data, it just slowly moved further and further down into the wrong stats row every time Jagex added new entries to the stats table. The data eventually stopped being tracked when it went off the bottom of the table. Using this knowledge, I was able to manually open the boss killcount page for every update on my CML account which contained Wintertodt data (regardless of which row it was actually in) and then manually copy the Wintertodt killcount and rank to TheleRune by hand. This actually didn't take too long, because there were only a couple of hundred updates on file, so maybe it was like 1 or 2 hours of work.

I still needed to add Wintertodt data from early 2022 onwards, and also clue scroll data for the entire period. Very fortunately, TempleOSRS had most of this data. Again, I copied it to TheleRune manually by hand. After I'd done this, the small amount of missing data turned out only to be ranking data (since my score/killcount didn't change for Wintertodt or clue scrolls in any of the missing time periods), so I was able to make an approximate guess by interpolating new values based on the data I already had.

Finally, I turned my attention to the period of time with no public tracking data (the period between when I started my account on 10 October 2018 and when I started tracking on CML on 20 November 2018). That's almost six weeks of data to reconstruct. So, how did I do it? Well, I was fortunate in this regard that RuneLite takes screenshots every time you gain a level, and most of the time I have the stats pane open, showing me my levels, XP gains, and XP remaining to next level. The stats pane is included in the screenshots, so all this data was available. In situations where I did not have the stats window open during a levelup, it was mostly when I was questing; the XP gains are consequently from completing quests, and the amount of XP they give is well known. This accounted for almost all the skilling data covering the missing time period. The rest consists of very tiny XP gains; I effectively just made some educated guesses for those. The accuracy of the estimated data is probably around 99% or so.

RuneLite also takes screenshots whenever you complete a clue scroll, so that gives precise timings for the activity data. That leaves only the Wintertodt killcount. Fortunately, it was easy to work that out, because I played all of my Wintertodt games in that period during a specific two-day window, and the tracking points that I'd reconstructed happened to be laid out so that the tracking point after completing those Wintertodt games happened to immediately follow the one before I'd played any at all. Given I already knew my Wintertodt killcount once all the games were played, I just had to set 'None' for before, and the correct value for after. Nice and simple.

After getting what I thought was the complete dataset, I finally did a check over what I had. It was then I noticed that I was still missing quite a lot of data. CML claimed to have over 700 data points available, but I only had around 300. So what gives? Well, it turns out that when you ask the CML API for all data points, it doesn't return all data points. In fact, the CML API only bothered to acknowledge that around a third of my data points even existed. No wonder a lot of my data was missing!

I didn't really want to sit and look at hundreds of data points on CML by hand, and the API wasn't behaving, so I ended up using BeautifulSoup to scrape the HTML pages from the CML website and fill in the missing data. Like before, I used interpolation to fill in any missing activity and boss ranking data. What a fiasco!

After all that, I finally had my entire account history reconstructed.

How accurate is the reconstruction?

The newly reconstructed set of data should be completely accurate in terms of levels, activity scores and boss killcounts. The majority of XP data is also completely accurate; the only exception is the data from the period before 20 November 2018, which contains a few handwavy estimations, so some of those tracking points might be off by a very tiny amount (although the inaccuracy is largely inconsequential). In terms of ranking data, there is a lot more estimation, but the estimated data should at least be reasonably close to the true value. At any rate, the ranking data should at least make logical sense and not look weird.

While I admit this isn't perfect, the new data set has the advantage of being both more complete and more accurate than the data currently available at any of the three major stats websites I started out with. I also don't think it's possible to improve the data any further.

How do you fetch new data?

New data comes from Jagex servers the same way other stat trackers do. I made the decision to cache the entire stats text file so that when Jagex alters the file format in future, I won't lose data or end up with corrupt entries. I just avoid importing data sets that are the wrong size, and then I can fix TheleRune and import the cached data afterwards. I also opted to convert all of my old data into Jagex's original format too - this way I have my entire account history in one consistent format.

To update the data, I wrote a RuneLite plugin which triggers an update automatically every time I log out. I can also issue a manual update of the data using a PowerShell script if I need to.

Can you add my account to your tracker?

Please contact me, providing the name of your character, the hiscores table to pull the character from (e.g. Ironman, Ultimate Ironman, etc), and the creation date and time of the character. I will e-mail you back with an API key specific to that character. This can be added to the TheleRune RuneLite plugin configuration. (Note that if you want to register multiple characters, I can make them all use the same key.)

Note that currently I don't have any way for other people to populate historical data, so this will only provide tracking from the time you were added onwards. Please also note this service is provided as free of charge as an act of kindness and may stop working or be discontinued at any time.

(In the long term, if there is a lot of demand for this service, I'll try to make this more user-friendly.)

Updates stopped working, help!

The hiscores data that comes from the Jagex website is basically just a long list of unlabelled stats. Jagex inserts new entries in the middle of the list when they add new hiscores, which breaks the parser.

If there's an update which adds a new thing to the hiscores and it causes TheleRune to break, and I haven't noticed, please contact me and I'll fix it. (If you used the API to request hiscore updates during this time, these should still have been fetched from the Jagex server - TheleRune just won't be able to import them until it's patched. No historical data is lost in this case.)

I run another tracking site. Can I import your account data into my site?

Sure, knock yourself out.

If you'd like the data in an easily importable format, please message me and I'll zip up the data files for you. They are in the same format as Jagex's official data, so it should be pretty easy to import them into any existing tracking site that can read Jagex's official stats data format (which I assume should be all of them).

There are a few things to take care of though when processing the data:

  1. Most data points only contain the number of entries that would be appropriate to the time each point was recorded, so this should be taken into account when you import the data. For example, data points before Tempoross was released don't contain a value for Tempoross. If you need a value for this data, then you can use -1,-1 (the value Jagex uses on minigame and boss entries to mean no data is available).
  2. Data points from before Jagex introduced the activity and boss killcount data into the hiscores contain the number of entries included in the original dataset (i.e. everything before the Soul Wars update is included). This is true even if those activities or bosses didn't exist at the timestamp matching the data point.

Why does this site look so bad?

That happens with pretty much any site I try to build. I'm just not very good at working out aesthetics. Hopefully the site should still be usable regardless.

I have more questions, how can I get in touch with you?

There are social media links on the main website.