- Published on
UnitedLadder v1.4.0
We are back once more with an update that many actually wanted since the very inception of UnitedLadder itself, albeit in a slightly different way, I suppose.
Changelog
New Stuff
- Added SP history on the player lookup pages, which is available by clicking another button (the chart) next to the player's skill points value.
- Every step of the chart includes the date, amount of SP and the player's nickname at that point (more about nickname history later).
- Below it, a table with SP differences is available. Due to sometimes big gaps (missing data), the SP gains/losses may make little sense, but it is what it is.
- All historic data (mid 2008 to early 2024) was obtained from more than 8 000 archive snapshots of the now-defunct TM-Ladder. More than 150 000 player records were collected, however only about 56 000 were actually imported. This is due to the fact that only the current first 50 pages of the SP leaderboard (so about 5 000 players) were considered for the data insertion. I doubt it is of much use to provide statistical data for players outside of this range. Additionally, all cheaters' SP history is also available, for no real purpose, just because it is funny.
- Miscellaneous data points were sent privately, thanks to the people participating. Further updates to historical data are still possible, but you will need to contact me on Discord for more information.
- This data is stored every time you open the leaderboards or perform a lookup.
- Data gathered from the leaderboards is temporary (lasting about 30 days). Data from the lookup is cleared out whenever needed. In theory, it is permanent, - but you should not expect it to be such, mostly due to the lack of infinite disk space (hey, feel free to donate to increase the server disk size xdd). If you really want something archived forever, better do it yourself. Keep in mind that archive.org does not have the ability to save UL pages, as all dynamic content is.. well.. dynamic. Archiving the API response might be a better idea in that case.
- Added daily SP deltas to solo leaderboards. Available on hover of the SP value (or tap on mobile). The difference itself depends on the leaderboard snapshot that was cached the day before (snapshots are retrievable for a day till cache reset).
- Actually, you can also archive those snapshots for yourself, if you really need them for some reason. There is a /snapshot endpoint specifically for that reason.
- Added approximate SP counts on the track leaderboard pages. Also available on hover. Thanks for that goes to BigBang1112, for providing us an easy way to see and use this data within the TMWRR API.
- One caveat is that it is not possible (or rather, viable) to calculate skill points correctly for tied records. It is possible to do in the global leaderboard, as both the global rank and the position are known, but for regional leaderboards that will unfortunately break, as evidently TOP 1 in, say, Ecuador, is not the global TOP 1. Even ignoring that, if the tied records go beyond a single page, the calculations become unreliable once more, especially further down the leaderboards.
- Thus, the global rank is used for these calculations, and what is returned by Nadeo differs from what you would expect - when a record is tied, the player's (actual) SP is calculated according to the last position of that tie, but in the data returned by Nadeo, the rank is instead the first position of the tie. Unlucky!
- The pagination on the track pages is now fixed as well (only for the global "World" zone). It is possible to go to the last page directly, even though there is not much going on there.
- One caveat is that it is not possible (or rather, viable) to calculate skill points correctly for tied records. It is possible to do in the global leaderboard, as both the global rank and the position are known, but for regional leaderboards that will unfortunately break, as evidently TOP 1 in, say, Ecuador, is not the global TOP 1. Even ignoring that, if the tied records go beyond a single page, the calculations become unreliable once more, especially further down the leaderboards.
- Added the ability to download ghosts (and replays in Puzzle), and to also watch them via 3D GBX Tools from within the track leaderboard pages.
I still don't understand CORS btw (CS student btw)- Some ghost files are simply not available. I cannot tell you why that is, likely due to their age and the fact they are not available for download from any normally accessible leaderboard in-game. I suggest always trying to download the ghost before trying to view it to ensure that it is, in fact, present. Thanks, Nadeo.
- Keep in mind that ghost files are NOT usable replay files (similarly to ghost files from trackmania.io), you cannot watch or play against them, but you can extract the input data contained within using e.g. GBX I/O.
- Due to issues with rendering Puzzle replays, they cannot be viewed.
- Added player nickname history. Available on nickname click on the player lookup pages.
- Only unique nicknames appear in the selection. The date next to the nickname indicates the earliest time the player was seen using it (for historic data, this is instead the first date at which it appeared in the archive).
- Once any available nickname is clicked, it replaces the currently displayed one, allowing you to copy it in the same way as you would normally.
- Added additional metadata to the track leaderboards. Track UID is displayed underneath the track name (if available), author, environment, game mode, record count and DNF count are right below.
- This is not available for "My Campaign" tracks, and it is unlikely to come any time soon, if ever.
- Added tooltips to buttons on the lookup page, in case you were confused as to what those icons meant.
- Added a very forgiving ratelimit to the API. Unless you are doing 2 billion requests a second, you will never hit it.
- Added some legal crap so that the EU cannot sue us. It is very much a "copypasta" of sorts, so you can likely ignore it. All you need to know is that the usage data is sent to Google for analytics, and that all actions regarding the API are logged, but not stored permanently.
- On that note, the little disclaimer at the bottom of the page was also refreshed (shamelessly taken from TurboLadder xdd).
- Added the API documentation. It is available at the /docs endpoint. It is kinda rough, but gets the job done. Will be updated to be not terrible at a later date, likely when I overhaul the API again.
- Updated the about page to be less about the people behind the site and more about the site itself.
- It now includes a more or less complete history of UL itself, and mentions all the people who have contributed in one way or another.
- A list of related websites is also there now, if you feel like something was missed, file a request and it will be evaluated.
- Updated all the news pages to be more in line with the rest of the site. They were abandoned for quite a bit, but realistically I doubt many people visit them all too often. I also doubt anybody ever found the easter egg that I left in every single page!
Bug Fixes
- Fixed several "funny" logins being unavailable for lookup. Now it will go through as long as the TMF masterserver reports that the login actually exists.
- Fixed the points display bugs specific to Platform and Stunts gamemodes (such as formatted DNFs). Beware though, "My Campaign" maps in those gamemodes will always be broken, and that will not be fixed.
- Fixed the time display breaking on times over 24 hours, which was a bug that carried over to UL from Trakman code. Lovely!
- Fixed some minor styling errors.
Coming Soon™
You may be wondering what else could be done now, here is a non-extensive list:
- History for LP. There are more snapshots for this data than SP on the TM-Ladder archive, though it will not be of much use, as most people that top the LP leaderboard are not all too much interested in SP.
- LP deltas on the leaderboards directly. This was not implemented because according to statistics, barely anybody uses the multiplayer leaderboards. It is very niche, hence why it is low priority.
- Graph comparisons in the SP (and later LP) history modals. A concept for this exists (rather, it existed, and I have shown it to several people), but it is quite buggy (and laggy, for some reason). With a consistent dataset it should work much better, so if really needed, it could be implemented elsewhere away from UL using the API.
- TMX stuff for the track leaderboards is a questionable feature and genuinely I am not a big fan of this at all, as the TMX API is awful (so is the site, which is hosted on a Raspberry Pi as it seems). I simply do not want to work with it, nor do I ever want to work with anything TMX related.
- Linking one's account to their profile could be done via Discord, though I am not willing to do this, and I am actively against it.
All of this can also be read on the UL Trello.
Enjoy, and till the next one.