GbxRemote.Net 5.0.0

dotnet add package GbxRemote.Net --version 5.0.0
NuGet\Install-Package GbxRemote.Net -Version 5.0.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="GbxRemote.Net" Version="5.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GbxRemote.Net --version 5.0.0
#r "nuget: GbxRemote.Net, 5.0.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.
// Install GbxRemote.Net as a Cake Addin
#addin nuget:?package=GbxRemote.Net&version=5.0.0

// Install GbxRemote.Net as a Cake Tool
#tool nuget:?package=GbxRemote.Net&version=5.0.0

GbxRemote.NET <div align="center">

Nuget GitHub Discord

</div>

Version 2 Released! It includes some breaking changes, you can find the changelist here.

A library for interacting with the XML-RPC protocol of TrackMania servers and similar titles built with .NET 5. It is built using the task async pattern (TAP). It comes with pre-made methods for all the documented XML-RPC methods provided by the trackmania server and allows you to easily hook into and react on callbacks. Interacting with ModeScript is also simplified through special features.

Quickstart

Install the library from Nuget: dotnet add package GbxRemote.Net

Make sure you have an updated version of the Trackmania Server installed and running.

The following basic program connects to the server host 127.0.0.1 and the port 5000 (default XMLRPC port). It retrieves a list of players currently on the server and prints them out to the console.

using System;
using GbxRemoteNet;

// create client instance
GbxRemoteClient client = new("127.0.0.1", 5000);

// connect and login
if (!await client.LoginAsync("SuperAdmin", "SuperAdmin"))
{
    Console.WriteLine("Failed to login.");
    return;
}

Console.WriteLine("Connected and authenticated!");

// get player list
var players = await client.GetPlayerListAsync();

// print player logins and nicknames to the console
foreach (var player in players)
{
    var info = await client.GetDetailedPlayerInfoAsync(player.Login);
    Console.WriteLine($"Login: {player.Login}, NickName: {player.NickName}");
}

// disconnect and clean up
await client.DisconnectAsync();

To learn more about the usage of this library, head over to the main documentation.

Documentation

The full documentation with API reference can be found here.

Support

We give limited support for this library via our Discord server - if you have any questions on how to use this, please check out the User Guide below and the source code documentation first and foremost. If you're still stuck afterwards, feel free to ask in the #support channel on our Discord server. Please do not message any of the maintainers privately about getting support for this library.

Contributing

If you have any questions, issues, bugs or suggestions, don't hesitate create open an Issue! You can also join our Discord for questions.

You may also help with development by creating a pull request, but please create a new branch first.

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. 
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 GbxRemote.Net:

Package Downloads
GbxRemoteNet.Addons.Hosting

Hosting extensions for GbxRemote.NET

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.0.0 243 12/12/2023
4.1.0 522 7/12/2023
4.0.1 237 5/29/2023
4.0.0 221 3/30/2023
3.0.3 296 12/19/2022
3.0.2 578 12/6/2022
3.0.1 313 12/3/2022
3.0.0 359 11/9/2022
2.0.1 402 10/10/2022
2.0.0 474 10/3/2022
1.1.10 459 7/30/2022
1.1.9 548 7/12/2022
1.1.8 406 7/12/2022
1.1.7 537 7/9/2022
1.1.6 677 5/5/2022
1.1.4 414 4/10/2022
1.1.3 345 8/9/2021
1.1.2 378 8/6/2021
1.1.1 320 8/4/2021
1.1.1-beta 245 4/10/2021
1.1.0-beta 235 4/10/2021
1.0.1-beta 198 4/5/2021

This is the second BETA version of the client.