Do It On LAN!

The blogs have now upgraded from random music videos to irrelevant Dota 2 GIFs.

One of my personal most missed features from the old datdota site is the ability to filter some pages by LAN — and it’s a feature I’ve really wanted to bring back to the new site. With over 37 000 matches and counting categorizing every historic match is a mammoth undertaking.

Before we dive into how that got solved, let’s first discuss some relatively recent changes into how you can filter data on datdota, because it’s important to understand what’s changed to see how that applies to LAN data. For the most part we considered matches played on a ticket to belong to that ticket’s event. All the matches on the <Event X> ticket (barring show-matches and a few broken ones) are from <Event X> right? No.

Sometimes a tournament will forget to apply for a ticket until a week before qualifiers, and they’ll end up playing some matches on their older ticket; sometimes they apply but don’t get a response from Valve. My solution to that has just been to migrate the matches to the correct ticket when that ticket comes out. That strategy falls apart in cases when a ticket never comes out, for example The Summit 6 (and 7, and probably 9 also) and many MDL events.

This ticket has single-handledly broken two of my keyboards.

The new approach I’m using is actually similar to the approach used in the original datdota — having custom Event Splits. Instead of having per-region splits (ESL NY EU qualifiers, ESL NY Americas Qualifiers, ESL NY China Qualifiers, etc all being separate) each match will have a few properties:

  • the ticket the match was played on (this is after basic ticket migrations if the match was simply played on the wrong ticket)
  • the Event’s split that the match was actually part of
  • the Event’s type (online, LAN, or post-event)
  • a region that the match was played (coming soon)

For the most part, event splits and event types are filtered in the same filter — this is to make it easy to select the matches you want (let’s say you wanted The Qualifier data from the TI8 Regional Qualifiers and the LAN data last 3 DPC Majors, as well as the Supermajor Online Regional Qualifiers).

The Summit 7 finals, game #1. Note how the ticket is The Summit 5, but the tournament is correctly set to The Summit 7.

So now it’s easy to see where the LAN part comes in — you just need to filter for LAN events! Well, still the small problem of the 37 000 uncatalogued pro matches. Lucky for us, some brave souls answered our call for help and helped fill in a bunch of metadata on a few hundred tournaments in a cool crowdsourcing project . This I eventually mangled into 7k lines of JSON configuration.

Example filters all about the site. The left shows event type filters, and the right event split filters.

The result is that now you can filter in various pages around the site based on the event type or event split. This lets you easily sieve out the irrelevant bits.

Shoutout to these awesome people for the work they did (forgive me and/or message me if I forgot your name here):

  • Sheeves
  • Daeja
  • Diana from PGL
  • tehh4ck3r
  • qkiel
  • waggot
  • Sprackcity
  • mgwisni
  • Sarcastique
  • TonyC
  • daryl
  • Oberyn

This is a new feature, so if you spot some broken data or some strange behaviour feel free to message me and I’ll have a look into it!

Until next time, cheers
- Noxville