Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Talk about ManiaLink development in this forum

Moderator: NADEO

User avatar
BigBang1112
Posts: 389
Joined: 20 Jul 2015, 12:44
Location: Czech Republic
Contact:

Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by BigBang1112 »

Image
Image

Welcome to Leaderboards!
Leaderboards is a manialink project focused on simple leaderboard data extraction.

As extracting leaderboard records without user's (extractor's) identity is nearly impossible, the manialink tries to solve this with ingame requests - those from official title packs where you can view or race against world records and such. The project is being developed by BigBang1112.

You may know this manialink name from the past. I made a prototype of Leaderboards back in August, but unfortunately, I was too busy with Challenge to continue. 4 months later though, I'm safe to say that this is THE leaderboards manialink I wanted to code back then.

The manialink is based in a folder environment.

Image

The manialink does everything for you. Just join any title pack, wait about half a minute, and the data is there! Look at all the Top 10s way quicker than in the title pack - you just wait once instead of waiting for every leaderboard.

For each Top 10 you view, you'll also download all of the ghosts in an asynchronous way (all at once) - all 10 ghosts in just a second! That allows not only instant replay saving but also reading record checkpoints.

Image

Just like old Leaderboards, at the top of each map, its world record can be seen right away. No more plain text, now with colors and actually cool font.

Image

The other features include:
  • Many additional fancy statistics about the leaderboards:
    • Players participated
    • Total records driven - for each campaign, each map group, and each map
    • Map worth in skillpoints
    • Percentage of finished players (who drove at least 1 campaign map)
  • Ranked checkpoints - see the track potential
  • Copyable records for easy sharing
  • Saveable replays if you're on the map
  • Replay browser for saving replays
  • Button to quickly find a leaderboard on a map you're currently on
  • Ranking of other zones than World
  • Specific player leaderboard information (aka opponent records)
What's about to come?
  • Saving replays of multiple ghosts at once
  • Customizable format of copy-to-clipboard
  • More checkpoint related stuff
Image

Image

Image

Image

The manialink is also alternatively available under worldrecords manialink code.

I never forget though
Good old leaderboards prototype is currently available under the manialink code leaderboards?old.

Leaderboards manialink is available open-source on GitHub. Contribute!

If you have any issues with the manialink, don't hesitate to post it here, DM me on any platform (I recommend Discord) or join my Discord server and discuss it there.

https://www.youtube.com/watch?v=5SJbqXSrF-Y

MERRY CHRISTMAS EVERYONE :3
Last edited by BigBang1112 on 12 Jun 2020, 08:35, edited 7 times in total.
Creator and competent racer. YouTube Discord
- ENVIMIX (out in open-source)
- Challenge (OUT NOW)
- Leaderboards (OUT NOW)
- Compute Shadows
User avatar
BigBang1112
Posts: 389
Joined: 20 Jul 2015, 12:44
Location: Czech Republic
Contact:

Leaderboard Tracker - History tracking web tool for Leaderboards manialink

Post by BigBang1112 »

Image

I think the most powerful thing about Leaderboards is its ability to send data to the Leaderboard Tracker. Leaderboard Tracker is a small web tool that catches leaderboard data into its own special location - as Maniaplanet doesn't support good permanent storage, this was the best solution I've found.
The leaderboard data can be then accessed by the manialink back throughout the same URL you define in the manialink. This allows history tracking and record comparisons.
To be able to use Leaderboard Tracker, you have to authorize with Leaderboards.

So, let's setup leaderboard history tracking! UPDATED ON 24.12.2019 13:55 due to security flaw.
  1. Download and setup any web server you like. I used XAMPP and it worked just good. Start at least a service that contains PHP server
  2. Download the Leaderboard Tracker tool here on GitHub by clicking on the Clone or download button and clicking Download ZIP
  3. Go to your web server's public folder (htdocs in XAMPP's case)
  4. Extract the downloaded ZIP there
  5. Construct your URL - if you extracted straight in the public folder, then the URL would be http://localhost/leaderboard-tracker-master. If you put the Leaderboard Tracker folder to a folder called tools that is located in the public folder, then the URL would be http://localhost/tools/leaderboard-tracker-master
  6. Paste your constructed URL into the Leaderboard Tracker URL here: Image
If you have a public IP address,
I highly recommend you to enable the secure mode.
  1. Go to the Tracker's settings.inc.php
  2. Set secure_mode to true
  3. Copy the secret key here: Image
  4. Paste the secret key into the secret_key variable value
That should be it. If you're not seeing a warning sign next to the URL, then you successfully managed to set up the Leaderboard Tracker! A new point of time should be tracked each time you visit the manialink.

If I broke any security rules, let me know about them as I'm still not fairly confident about my security knowledge. :D

Leaderboard Tracker, as already mentioned, is also available open-source on GitHub!

Oh hey, are you thinking the same? Automatic report of new world records?..
Not entirely yet, but it's in thought.
Last edited by BigBang1112 on 24 Dec 2019, 13:59, edited 6 times in total.
Creator and competent racer. YouTube Discord
- ENVIMIX (out in open-source)
- Challenge (OUT NOW)
- Leaderboards (OUT NOW)
- Compute Shadows
User avatar
ThaumicTom
Posts: 36
Joined: 22 Jan 2017, 15:34

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by ThaumicTom »

nice
ThaumicTom | TMX | MX | Twitch | Twitter | xd
Specs: Ryzen 7 1800X, Radeon RX Vega 56, Corsair Vengeance LPX 2x8GB DDR4 RAM, Samsung 860 Evo 500GB SSD, be quiet! 600W PSU
User avatar
Harest
Posts: 144
Joined: 26 Mar 2018, 04:21
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by Harest »

I asked myself a few times how we could download the ghosts to analyze them more easily. I don't need to ask myself this question i guess :p. Nice ML, thx o/. I'm always impressed by your UI work also.
User avatar
Miss
Posts: 2155
Joined: 05 Jan 2016, 11:34
Location: The Netherlands
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by Miss »

Wow very nice work!! :thumbsup: :1010
3080 RTX, Ryzen 3700X, 32GB RAM, Windows 11
Forum moderator, opinions are my own. :thx:
Check out Image openplanet, the alternative ManiaPlanet & Turbo scripting platform! (Openplanet subforum)
I also stream and tweet.
User avatar
BigBang1112
Posts: 389
Joined: 20 Jul 2015, 12:44
Location: Czech Republic
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by BigBang1112 »

ThaumicTom wrote: 24 Dec 2019, 02:26nice
Harest wrote: 24 Dec 2019, 07:28 I asked myself a few times how we could download the ghosts to analyze them more easily. I don't need to ask myself this question i guess :p. Nice ML, thx o/. I'm always impressed by your UI work also.
Miss wrote: 24 Dec 2019, 13:29 Wow very nice work!! :thumbsup: :1010
Thank you all :thx:
Creator and competent racer. YouTube Discord
- ENVIMIX (out in open-source)
- Challenge (OUT NOW)
- Leaderboards (OUT NOW)
- Compute Shadows
User avatar
BigBang1112
Posts: 389
Joined: 20 Jul 2015, 12:44
Location: Czech Republic
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by BigBang1112 »

Today I pushed an update 2020-04-11a:

- Added "Go to map" button which directly throws you to the map!
- - Try it out in an official title pack. You won't be disappointed
- Updated Save replay button, which now shows proper replay browser!
- Replaced Copy to clipboard button in the map information to Save replay
- Each leaderboard now loads 100 records instead of 10!
- Map list now shows maps you have locked, and you can't visit those
- Added basic keyboard/pad navigation support (still a bit buggy), proper Escape support
- Added TM2U_Island@adamkooo, TrackMania_2_United@adamkooo, TM2UF@adamkooo, Platform@nadeolive, Nadeo_Envimix@bigbang1112 and Reunited@bigbang1112 to the map group color support
- Added an exit button
- Changes to the Title panel for upcoming features
- Improved some translations
- Fixed scrollbar bug if list contained exactly 13 elements
- Fixed records not showing ghost status when the download failed
- Fixed "Finished by" not updating on map with no records
- Fixed map skillpoint value when the map has no records
- Fixed some unpublished titles not showing title id

https://www.youtube.com/watch?v=0PbJydNlTqI
Creator and competent racer. YouTube Discord
- ENVIMIX (out in open-source)
- Challenge (OUT NOW)
- Leaderboards (OUT NOW)
- Compute Shadows
User avatar
w1lla
Posts: 2396
Joined: 15 Jun 2010, 11:09
Location: Netherlands
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by w1lla »

Really nice manialink

However when not in a title i get the following error:

Code: Select all

ERR [2373, 20] Invalid access to parameter (Null object or elem not found in array) : LoadedTitle>.TitleId
	bigbang1112::Main() [2373, 20]
TM² Info
SM Info
QM Info

OS: Windows 10 x64 Professional
MB: MSI 970A-G46
Processor: AMD FX-6300 3500 mHz
RAM Memory: 16 GB DDR3
Video: SAPPHIRE DUAL-X R9 280X 3GB GDDR5
KB: Logitech G510s
Mouse: Logitech G300s
Mode Creation
ManiaScript Docs
User avatar
BigBang1112
Posts: 389
Joined: 20 Jul 2015, 12:44
Location: Czech Republic
Contact:

Re: Leaderboards - Simple leaderboard data extraction | Manialink by BigBang1112

Post by BigBang1112 »

w1lla wrote: 15 Apr 2020, 13:58 Really nice manialink

However when not in a title i get the following error:

Code: Select all

ERR [2373, 20] Invalid access to parameter (Null object or elem not found in array) : LoadedTitle>.TitleId
	bigbang1112::Main() [2373, 20]
Oh, I see, thanks for the report
Creator and competent racer. YouTube Discord
- ENVIMIX (out in open-source)
- Challenge (OUT NOW)
- Leaderboards (OUT NOW)
- Compute Shadows
Post Reply

Return to “ManiaLink”

Who is online

Users browsing this forum: No registered users and 2 guests