FAF League Month System

Too hard to keep track of and even if the tracking was easy, I'm not spending 12 hours of my life every month going through the mod client and the FAF user list to hand out the avatars and take them away from the last league's winners. Someone wants to make some automated program that does it and doesn't require my input? Fine. I wouldn't even give someone mod client access to do it manually because they will get burned out in 2 league seasons and then I'm suddenly the dude that needs to take over doing it.

I'm not interested in separating the king and prince avatars from the league system. If there is 0 interest in 1800+ players getting the king avatar by playing 20 minutes on ladder, what even makes you think they would go through the tribulations and effort of an entire tournament?

I expect there would be interest in a "king of faction tournament" based on a history of such tournaments. If there is no interest in a tournament and the ladder league is a bad way to award people as "kings" of a faction, then maybe we just don't give that award to anyone.

I wouldn't mind crunching the numbers to calculate the winners of 27 "prince" or "baron" of map awards. I would just need something like a printout (in text format, or csv, or excel) of every ladder match with the IDs of the players (I'd rather use ID than name because people can change their name during or after a ladder season), the map name, and whether the system scored it as a win/loss/draw for player 1. I could easily sort it out in excel to calculate the appropriate winners and then report back the IDs of the winners. I could definitely do this once every 60 days.

Creating 15 or 27 avatars and adding them to people, that I have no idea how to do or how much time that would take. But figuring out who the winners are would be easy for me. Also, we could recognize people's success without actually giving anyone an avatar, if that aspect of the whole thing is too much work. I would crunch these numbers for FAF even if it was just to report it to the forum.

You can feel free to do so, I have no problem attaching additional awards to leagues. I just am not interested in being the dude staring at the mod client for the entire day handing out/revoking the avatars.

Though just to reiterate, this is probably the last league anyway since divisions are expected to be released around the same time as TMM which is in the next 2 months anyway.

Who should I ask to get the data about ladder matches in a workable format?

what are you looking for @arma

@nine2 A list of all ladder matches played during the most recent ladder league in a text format or a spreadsheet format like csv

One column for Player 1 player ID (or their current name--but I don't want a situation where a player changed their name during the league so their name is written differently for different matches)

One column for Player 2 player ID

One column for whether it was a win, lose, or draw for Player 1

One column for the name of the map.

If that's not easy to do, you could just do a text dump of info about every single ladder match during the league, and I could make a text parser to collect the info and put it into a spreadsheet myself. From there I could calculate each player's "score" per map (let's say +2 for a win on that map, -1 for a loss, +0 for a draw).

Separately I would either need to figure it out which division each player was in. It shouldn't be hard to figure out for myself (just look it up on the ladder league web site) or if it was handy to you, I could use a list of which playesr belong to which divisions

@arma473 that will be thousends of games

You can get this information from the API the same way the league page itself does https://github.com/FAForever/website/blob/develop/scripts/updateLeagues.js

I could definitely make/modify a javascript along those lines to get the information that I need.

How does one run that script? Is there a particular execution environment that you would use? Do you need a config files and does it need to be in a certain directory? Can I have a copy of the config file? I would appreciate anything you can do to point me in the right direction.

I have no clue how any web technology works, I just know that is where the code is.

@arma473 said in FAF League Month System:

How does one run that script? Is there a particular execution environment that you would use? Do you need a config files and does it need to be in a certain directory? Can I have a copy of the config file? I would appreciate anything you can do to point me in the right direction.

The api is accesible from api.faforever.com you just need to use the query similar to what is used in that page. (e.g api.faforever.com/data/game?filter....). This will return a json object of the data you would need.

@Sheikah Thank you. Can you give an example of a query, like "all ladder matches for a certain day"?

As an example: https://api.faforever.com/data/game?filter=(featuredMod.displayName=in=("Ladder1v1");endTime=ge="2020-12-10T00:00:00Z";endTime=le="2020-12-11T00:00:00Z")

Additionally on the client in the vault search there is a tick box to display the search query which shows you the query that you can use for the search you are doing. Additionally there is documentation for the api at api.faforever.com

Is there a rule against using a computer program to generate and execute the queries and download the resulting data? Of course I wouldn't randomly scrape the database for ridiculous amounts of data. it looks like 1 month worth of ladder data is around 10MB total.

I would say to make sure that you limit your queries in terms of search space to make the server not work as hard as overloading the api would not be good. Although the definitive opinion on this would be @Brutus5000

@Sheikah I should be done pulling the data. It was only 10MB total. It would have put the same strain on the server if I did it entered the queries by hand. Now I just have to parse it (and verify that it's the correct data set). Thank you and also @ThomasHiatt for your help here.

I’m going to do a new system with leagues now. I’m still planning stuff out but now it should work in this general format:

League happens on odd months

League points are given out same as always

Avatars etc will be given out as usual for most of the brackets, however the 1800+ bracket will have an additional aspect added to it.

The top 8 in a league month will instead be invited into a tournament where they all face one another in a sort of round robin format. Their performance in these formats will then give prize money, avatars, as well as invites for LotS based on a point system depending on performance during these tournaments.

More details should follow later.

@FtXCommando I dont understand much, what is the essence of winning in a monthly league and, in principle, the meaning of winning in it, if there are some tournaments every two months for places for the lots? That just free pts, for players who dont can qualify and might get in?

DONT BELIVE BH HE IS LIEING

Top 8 in league by points move on to a round robin tournament next month

These top 8 play one another for position in the tournament

After getting placed, they score a certain level of points based on their placement.

This level of points will be added to their “total” accumulation through the year and the month before LotS the top 10 will be announced. These top 10 go into LotS with 6 more slots being reserved for qualification tournaments or some other form of qualification that I’m still deciding upon.

So in short:
League performance matters for scoring in top 8.
Tournament performance matters for scoring into LotS.

Also even though the adjustment for the league month hasn't been merged yet, games in May will still count retroactively. Hopefully the leaderboard itself will reflect scores by tomorrow.