Trackmania Competition XMLRPC Commands

Trackmania servers expose a GBXRemote XMLRPC interface that controller software (and custom scripts) use to manage matches. This reference covers the most important methods for running competitions — searchable by method name or description.

Authentication

Connect a GBXRemote client to the XMLRPC port (recommend 5001), then call Authenticate before any other method. The credentials are from the authorization_levels section of dedicated_cfg.txt.

# Python — direct GBXRemote connection
import xmlrpc.client
server = xmlrpc.client.ServerProxy('http://localhost:5001/RPC2')
server.Authenticate('Admin', 'YourAdminPassword')

# Or with PyPlanet GbxClient (asyncio)
from pyplanet.utils.gbxclient import GbxClient
import asyncio

async def main():
    client = GbxClient('localhost', 5001)
    await client.connect()
    await client.authenticate('Admin', 'YourAdminPassword')
    await client.execute('ChatSend', 'Hello competition!')

asyncio.run(main())

Server Control

Method Auth Required Description
GetServerInfo User Returns server name, comment, max players, and current player count.
GetSystemInfo User Returns server port, P2P port, XMLRPC port, and IP.
SetServerName SuperAdmin Set the server's display name.
SetServerComment SuperAdmin Set the server description visible in server browser.
SetServerPassword SuperAdmin Set or clear the join password.
SetMaxPlayers SuperAdmin Change the maximum player count at runtime.
SetMaxSpectators SuperAdmin Change the maximum spectator count at runtime.
Quit SuperAdmin Gracefully shut down the dedicated server process.

Map Control

Method Auth Required Description
GetCurrentMapInfo User Returns metadata (name, uid, author) for the currently playing map.
GetMapList User Returns the list of maps in the current playlist.
NextMap Admin Skip to the next map in the playlist immediately.
RestartMap Admin Restart the current map from the beginning.
ChooseNextMap Admin Set a specific map as the next map to play.
AddMap Admin Add a map file to the end of the current playlist.
RemoveMap Admin Remove a map from the playlist by filename.
SetGameSettings SuperAdmin Load a new MatchSettings file and apply it.

Player Management

Method Auth Required Description
GetPlayerList User Returns a list of all currently connected players and spectators.
GetPlayerInfo User Get detailed info for a specific player by login.
Kick Admin Kick a player from the server with an optional reason message.
Ban Admin Temporarily ban a player login from the server.
UnBan Admin Remove a ban for a player login.
BlackList SuperAdmin Permanently blacklist a player login from connecting.
UnBlackList SuperAdmin Remove a player login from the blacklist.
GetBanList Admin Returns the current ban list.
GetBlackList SuperAdmin Returns the current blacklist.
ForceSpectator Admin Force a player into spectator mode (0=player, 1=spectator, 2=pure spectator).

Match Control

Method Auth Required Description
SetCallVoteTimeOut Admin Set how long (ms) players have to vote on a call vote.
SetCallVoteRatio Admin Set the ratio (0.0–1.0) of yes votes needed to pass a call vote.
ForceEndRound Admin Immediately end the current round and advance to the next.
CallVoteCancel Admin Cancel the currently active call vote.
SetCurrentCallVote Admin Programmatically submit a call vote on behalf of a player.
EndMatch Admin End the current match and trigger end-of-match scoring.
SetWarmUp Admin Enable or disable warm-up mode (True/False).

Chat

Method Auth Required Description
ChatSend Admin Broadcast a chat message to all players from the server.
ChatSendToLogin Admin Send a private chat message to a specific player login.
ChatSendServerMessage Admin Send a server-coloured broadcast message to all players.
ChatSendServerMessageToLogin Admin Send a server-coloured private message to a specific player.

About GBXRemote

The GBXRemote protocol is a custom binary-framed XML-RPC protocol used by Trackmania (and ManiaPlanet) dedicated servers. It is not standard HTTP XML-RPC — you need a GBXRemote-aware client library. Libraries exist for Python (xmlrpc.client with PyPlanet's GbxClient), PHP (ManiaControl, EvoSC), C# (GbxRemoteClient.NET), and TypeScript (NextControl). Connect to the port configured as xmlrpc_port in your dedicated_cfg.txt (recommended: 5001).

Private Trackmania hosting

Run your own Trackmania server.

Rent a private Trackmania server on real hardware — full control-panel access, your mods, your configs, your rules. It's your server; run it your way.

Rent a Trackmania server Real hardware · Full control panel · 98% SLA

Don't want to run it yourself? Our managed services & consulting team will set it up and keep it running for you — game servers, Windows, Linux, and cloud, from 10+ years of MSP work.