Page 10 of 10

Re: goblinSpy - league stats without upload needed

Posted: 09 June 2017, 20:25
by matti74
Hi all.

Cyanide has been kind enough to give me access to the real data, which means I can collect data without the need of players uploading anything.
Some admins had the idea that they wanted to be able to look at stats a little bit easier and asked for help, and here's the result:

// What is it?

It's a stat tracker that shows things like match results, rankings, racial win% etc.
It also has some limited capabilites to filter and sort the data to find out whatever you are interested in.

You can activate tracking for your own competitions, but tracking of Cabalvision Official League is prioritized in case of performance issues.
Worth noting is that I have no idea how it will behave in regards to competitions where you must confirm matches.
You probably need to confirm pretty soon in order for them to be collected. I can manually trigger new collection if you let me know and if it proves a big problem I might have to fix that.

If a replayed game is shown twice (the original+ the replayed), then you can go to the versus-page of the original and press the button "Mark as wrong" at the bottom.
The game will then be removed and stats for that date will be collected again and competition will be recalculated within a couple of hours.

// What kind of data is available

Only match-stats as they are given by Cyanide.
The data is collected for each day, so todays games will appear tomorrow (except see below).
Player stats are also collected, but match stats are always prioritized.
Games played today are also collected every hour or two if server has time for it (prioritized below yesterdays games/playerstats).
Competitions with no game played in a month is considered dead and might get their match stats and player stats removed.

Current default queries that can be viewed:
* League Results - Each match played. (+ /date /weekday /hour)
* Scheduled - Scheduled games for competitions that have schedule
* League Standings - The rankings and points. (+ top /race). I will change the ranking calculations when they change in-game.
* Team Matches - Each match in League Results becomes two in Team Matches, one for each team. Contains stats from the match.
* Race Wins - Win% calculations for the races
* Players - Player stats. Will require filtering to be of interest.

If you use BB2Stats ( or Ricouds ReplayViewer (, then these games will hopefully turn up as clickable links in goblinSpy.

// Tips and tricks

* Click on a column header and you can select to sort the query on the column.
* Click on a team name and you can look for that team name on other queries (often works for coach and race also).
Good if you want to see matches played by a team you spotted in the league standings for example.
* Click on the concede-value of a match and you can select to view all conceded matches by that coach
* Hover over ranking to view expected ranking if you win or lose the next game

// Altering the queries

Each Query can be altered through sorting by a column or by adding Filters.
Each Filter is a computation that must be true in order for a row to be shown.
So adding two Filters that says "Teamvalue > 1200" and "Race = Nurgle", and then press "Execute Query", then it will only list Nurgle teams with TV greater than 1200.
Queries are cleared back to default if reloading the page.

For the brave, there's also a hidden advanced query mode, that is not yet fully implemented and that may be confusing.
If you want more in depth data and know how to use SQL, then I can take a snapshot of the database for you if you PM me.

// Embedding stats or queries into web-pages

All queries, including those filtered or adjusted using advanced section, will have a button "Export View".
Clicking this will open a new window with only the results shown.
The Style will be the same as the currently chosen and the result will be updated when new data is collected.
To show this page inside another web page, use <iframe src="URL"></iframe> , where URL is the url of the opened page.

If the style clashes with the style of your homepage, then PM me and we'll fix it.

There's also a static overview .json file for each competition that get's rewritten when new data is collected.
The link to that data is available from the goblinSpy main page to the right of the "menu" buttons.

// Help me

If you find any major bugs or think it has missed a game you played, please report in this thread.
If you have any ideas for queries that would be nice to have as default query, then it can be easily added
If you are good at .css then please make a stylesheet and I'll add it to the menu
Hi Mordrek!!
Good job!
GoblinSpy did miss 1 game.
Can you check it please?
ZXL IV - Golden League
CAS dealers vs quezotec red devils
Some weeks ago.. I have replay file if you need
PM me the date (two dates if close to midnight) and I'll tell the goblin to fetch it again.
23rd of May 2017
Close to midnight: so also 24th of May


Re: goblinSpy - league stats without upload needed

Posted: 14 June 2017, 22:44
by matti74

problem Solved.

Question: Whould it be possible to reload many days back to insert a competition that is already started?

Re: goblinSpy - league stats without upload needed

Posted: 15 June 2017, 05:02
by mordrek

problem Solved.

Question: Whould it be possible to reload many days back to insert a competition that is already started?
If its not too old then that will happen if you activate it. Theres a limit of one month back in time or something like that

Re: goblinSpy - league stats without upload needed

Posted: 21 June 2017, 22:43
by dtbilek
Any chance the site can list the start and end dates for the current season? I never know when a season is going to end.

Re: goblinSpy - league stats without upload needed

Posted: 22 June 2017, 05:58
by dode74
Netheos always updates this post: viewtopic.php?f=100&t=7932

Re: goblinSpy - league stats without upload needed

Posted: 22 June 2017, 07:59
by CalciumCas
A bit late to this thread, but I would like to say thanks for Goblin Spy Mordrek, I use it all the time and it's ace.