ManiaAPI.NadeoAPI 2.1.0

dotnet add package ManiaAPI.NadeoAPI --version 2.1.0
                    
NuGet\Install-Package ManiaAPI.NadeoAPI -Version 2.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ManiaAPI.NadeoAPI" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ManiaAPI.NadeoAPI" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="ManiaAPI.NadeoAPI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ManiaAPI.NadeoAPI --version 2.1.0
                    
#r "nuget: ManiaAPI.NadeoAPI, 2.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=ManiaAPI.NadeoAPI&version=2.1.0
                    
Install ManiaAPI.NadeoAPI as a Cake Addin
#tool nuget:?package=ManiaAPI.NadeoAPI&version=2.1.0
                    
Install ManiaAPI.NadeoAPI as a Cake Tool

ManiaAPI.NadeoAPI

NuGet

Wraps the official Nadeo API used in the latest Trackmania (2020). This API requires authentication.

After initial authentication, the connectivity is managed by the library, so you don't have to worry about refreshing the token.

The game provides 3 domains, and they are split into 3 separate services:

  • NadeoServices for the core functionality
  • NadeoLiveServices for leaderboards, clubs, and other live content
  • NadeoMeetServices for getting the current Cup of the Day

Features

For NadeoServices:

  • Get map records
  • Get account records
  • Get player zones
  • Get API routes
  • Get all available zones
  • Get player club tags
  • Get map info

For NadeoLiveServices:

  • Edit club campaigns
  • Edit club activities
  • Get map info
  • Get map leaderboards
  • Get map medal records
  • Get seasonal campaigns
  • Get weekly shorts
  • Get TOTDs
  • Get club campaigns
  • Get club info
  • Get club members
  • Get club activities
  • Get club rooms
  • Get player season rankings
  • Get active advertisements
  • Join daily channel (COTD)

For NadeoMeetServices:

  • Get the current Cup of the Day

Setup for a single service

using ManiaAPI.NadeoAPI;

var ns = new NadeoServices();

await ns.AuthorizeAsync("mylogin", "mypassword", AuthorizationMethod.UbisoftAccount);

// Ready to use
var zones = await ns.GetZonesAsync();

You can also use a dedicated server. Just be aware it has some limitations.

await ns.AuthorizeAsync("my_dedicated_server", "ls>97jO>e3>>D/Ce", AuthorizationMethod.DedicatedServer);

For other services, just replace NadeoServices with NadeoLiveServices or NadeoMeetServices.

Setup for multiple services

using ManiaAPI.NadeoAPI;

var login = "mylogin";
var password = "mypassword";

var ns = new NadeoServices();
await ns.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);

var nls = new NadeoLiveServices();
await nls.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);

// Ready to use combined

// With NadeoLiveServices
var weeklyCampaigns = await nls.GetSeasonalCampaignsAsync(1);
var campaignMap = weeklyCampaigns.CampaignList.First().Playlist.First();
var mapInfo = await nls.GetMapInfoAsync(campaignMap.MapUid);
var mapLeaderboard = await nls.GetTopLeaderboardAsync(campaignMap.MapUid);

// With NadeoServices
var records = await ns.GetMapRecordsAsync(mapLeaderboard.Top.Top.Select(x => x.AccountId), mapInfo.MapId);

or with DI, using an injected HttpClient:

using ManiaAPI.NadeoAPI;

builder.Services.AddHttpClient<NadeoServices>();
builder.Services.AddHttpClient<NadeoLiveServices>();
builder.Services.AddHttpClient<NadeoMeetServices>();

// Do the setup
var login = "mylogin";
var password = "mypassword";

var ns = provider.GetRequiredService<NadeoServices>();
var nls = provider.GetRequiredService<NadeoLiveServices>();
var nms = provider.GetRequiredService<NadeoMeetServices>();

await ns.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
await nls.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
await nms.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ManiaAPI.NadeoAPI:

Package Downloads
ManiaAPI.NadeoAPI.Extensions.Gbx

Extension methods of Nadeo API for GBX.NET features. Part of the ManiaAPI library set.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.1.0 450 3/24/2025
2.0.0 149 3/23/2025
2.0.0-beta3 231 12/21/2024
2.0.0-beta2 121 7/12/2024
2.0.0-beta1 100 7/7/2024
2.0.0-alpha8 159 3/1/2024
2.0.0-alpha6 254 2/9/2024
2.0.0-alpha5 133 1/19/2024
2.0.0-alpha4 148 12/23/2023
2.0.0-alpha2 152 11/1/2023
2.0.0-alpha15 93 6/24/2024
2.0.0-alpha14 102 6/24/2024
2.0.0-alpha13 191 6/19/2024
2.0.0-alpha12 102 6/19/2024
2.0.0-alpha11 108 6/19/2024
2.0.0-alpha10 111 6/19/2024
1.0.11 154 7/6/2024
1.0.9 379 5/7/2023
1.0.8 430 8/30/2022
1.0.5 476 5/7/2022
1.0.4 411 5/7/2022
1.0.3 414 5/7/2022
1.0.2 449 4/12/2022
1.0.1 419 4/9/2022
1.0.0 434 4/8/2022