Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does HLTV gather match info? #32

Open
egeriis opened this issue Jul 5, 2017 · 5 comments
Open

How does HLTV gather match info? #32

egeriis opened this issue Jul 5, 2017 · 5 comments
Labels

Comments

@egeriis
Copy link

egeriis commented Jul 5, 2017

Hey @andrewda

Just having a quick glance at your library. It's working really well. I would like to build an application which is independent from HLTV though, so I am trying to figure out where HLTV gets their information from.

Do you have any idea or pointers? It's a subject I find super hard to Google.

Also, can it really be true that there are no official documentation of the scorebot from HLTV?

Hope you find the time to help me out.

Thanks!

@mrwhale
Copy link

mrwhale commented Jul 5, 2017

Hey @egeriis I believe HLTV gets their data directly from the CSGO matches via the server is running on

There is an article somewhere on Hltv about it, I can't quite find it while on mobile but one I find it I'll link here

@andrewda
Copy link
Owner

andrewda commented Jul 5, 2017

I believe it's a plugin that's installed on most official competition servers (which is why they can't get MM data, for example). I was initially planning to replicate that here, but the percentage of competitions that would want to install another HLTV-like plugin is very slim.

As per the documentation, HLTV's scorebot was never intended to have external use. As there's like 2 internal HLTV devs, documentation of an internal API isn't super important. I got all the events and such in this library from HLTV's JavaScript code that receives events.

@egeriis
Copy link
Author

egeriis commented Jul 6, 2017

@andrewda So you're thinking that HLTV has some kind of monopoly on getting these data? That just seems odd, since they're having live data even for semi-pro and amateur levels.

I know that there's an API from Steam, but it requires a unique token for each match, that I'm not sure how to find programmatically—or even manually.

@mrwhale I can't seem to find it either. Do they spectate the matches with a spectator bot or something alike?

@andrewda
Copy link
Owner

andrewda commented Jul 6, 2017

@egeriis it's definitely not an account that spectates a match, because the bot would show up on the scoreboard (but it doesn't). I also believe you're right about Steam providing a match API, but I'm almost positive it's only for public MM's. Considering that HLTV has data from even offline LAN's, an API seems pretty difficult for me to picture. Also, HLTV's scorebot can update very quickly, meaning that HLTV would be spamming Steam's API for every CSGO match (which I'm sure they wouldn't like). A plugin, on the other hand, would be able to give live updates for each game via websockets and would be fairly easy to write.

@fs-c
Copy link

fs-c commented Jul 30, 2017

Just want to ping @egeriis as I'm wondering if you've found an answer yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants