![]() |
VOOZH | about |
dotnet add package ManiaAPI.NadeoAPI --version 2.8.1
NuGet\Install-Package ManiaAPI.NadeoAPI -Version 2.8.1
<PackageReference Include="ManiaAPI.NadeoAPI" Version="2.8.1" />
<PackageVersion Include="ManiaAPI.NadeoAPI" Version="2.8.1" />Directory.Packages.props
<PackageReference Include="ManiaAPI.NadeoAPI" />Project file
paket add ManiaAPI.NadeoAPI --version 2.8.1
#r "nuget: ManiaAPI.NadeoAPI, 2.8.1"
#:package ManiaAPI.NadeoAPI@2.8.1
#addin nuget:?package=ManiaAPI.NadeoAPI&version=2.8.1Install as a Cake Addin
#tool nuget:?package=ManiaAPI.NadeoAPI&version=2.8.1Install as a Cake Tool
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 DayFor NadeoServices:
For NadeoLiveServices:
For NadeoMeetServices:
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.
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);
For DI, consider using the ManiaAPI.NadeoAPI.Extensions.Hosting package. It also handles the authorization for you without additional startup code.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 2 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.NET library set. |
|
|
ManiaAPI.NadeoAPI.Extensions.Hosting
Extension methods of Nadeo API for ASP.NET Core. Part of the ManiaAPI.NET library set. |
This package is not used by any popular GitHub repositories.