ManiaAPI.NadeoAPI
2.1.0
dotnet add package ManiaAPI.NadeoAPI --version 2.1.0
NuGet\Install-Package ManiaAPI.NadeoAPI -Version 2.1.0
<PackageReference Include="ManiaAPI.NadeoAPI" Version="2.1.0" />
<PackageVersion Include="ManiaAPI.NadeoAPI" Version="2.1.0" />
<PackageReference Include="ManiaAPI.NadeoAPI" />
paket add ManiaAPI.NadeoAPI --version 2.1.0
#r "nuget: ManiaAPI.NadeoAPI, 2.1.0"
#addin nuget:?package=ManiaAPI.NadeoAPI&version=2.1.0
#tool nuget:?package=ManiaAPI.NadeoAPI&version=2.1.0
ManiaAPI.NadeoAPI
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 functionalityNadeoLiveServices
for leaderboards, clubs, and other live contentNadeoMeetServices
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 | Versions 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. |
-
net8.0
- TmEssentials (>= 2.5.0)
-
net9.0
- TmEssentials (>= 2.5.0)
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 |