Trackmania Updated May 14, 2026

Trackmania Map Rotation and Match Settings

Configure the Trackmania (TMNF/ManiaPlanet) map playlist and game rules using the MatchSettings XML file. Covers track list format, game mode selection, and time/point limits.

TrackmaniaTMNFManiaPlanetmap rotationMatchSettingsplaylist

Trackmania Map Rotation and Match Settings

The map rotation and game rules are defined in a separate XML file called the match settings file (also called a map list or playlist). This file is specified at server launch via the /game_settings= parameter.


File Location

  • TMNF/TMUF: GameData/Tracks/MatchSettings/
  • ManiaPlanet: UserData/Maps/MatchSettings/

TMNF ships with default match settings in GameData/Tracks/MatchSettings/Nations/:

  • NationsBlue.txt — Easier tracks
  • NationsGreen.txt — Mid-difficulty tracks
  • NationsWhite.txt — Expert tracks

Create your own file in the MatchSettings/ directory for a custom rotation.


TMNF Match Settings Format

<?xml version="1.0" encoding="utf-8" ?>
<playlist>
  <gameinfos>
    <!-- 0=Rounds, 1=TimeAttack, 2=Team, 3=Laps, 4=Stunts -->
    <game_mode>1</game_mode>
    <!-- Chat time between rounds/maps in milliseconds -->
    <chat_time>15000</chat_time>
    <!-- TimeAttack: time limit per track in milliseconds -->
    <timeattack_limit>300000</timeattack_limit>
    <!-- Rounds: points needed to win a map -->
    <rounds_pointslimit>50</rounds_pointslimit>
    <!-- Rounds: point distribution table (top-N places get points) -->
    <rounds_pointsnoroundsifwin>0</rounds_pointsnoroundsifwin>
    <!-- Laps: number of laps per track -->
    <laps_nblaps>3</laps_nblaps>
    <!-- Laps: time limit in milliseconds (0 = no limit) -->
    <laps_timelimit>0</laps_timelimit>
    <!-- Team: points needed to win a map -->
    <team_pointslimit>50</team_pointslimit>
  </gameinfos>
  <filter>
    <!-- 0 = play in order, 1 = shuffle -->
    <random_map_order>0</random_map_order>
    <!-- Skip maps with fewer players than this (0 = never skip) -->
    <min_server_players>0</min_server_players>
  </filter>

  <!-- Track entries — paths are relative to GameData/Tracks/ -->
  <challenge>
    <file>Campaigns\Nadeo\Nations\Race\A01.Challenge.Gbx</file>
  </challenge>
  <challenge>
    <file>Challenges\MyCustomTrack.Challenge.Gbx</file>
  </challenge>
</playlist>

ManiaPlanet / TM2 Match Settings Format

ManiaPlanet uses <map> instead of <challenge>, and paths are relative to UserData/Maps/:

<?xml version="1.0" encoding="utf-8" ?>
<playlist>
  <gameinfos>
    <game_mode>1</game_mode>
    <chat_time>15000</chat_time>
    <timeattack_limit>300000</timeattack_limit>
    <script_name>TimeAttack.Script.txt</script_name>
  </gameinfos>
  <filter>
    <random_map_order>0</random_map_order>
  </filter>
  <map>
    <file>MyCoolTrack.Map.Gbx</file>
  </map>
  <map>
    <file>MatchSettings\MyOtherTrack.Map.Gbx</file>
  </map>
</playlist>

Game Modes

<game_mode> Mode Description
0 Rounds Players accumulate points across multiple attempts; first to point limit wins
1 TimeAttack All players drive simultaneously; best time wins; most popular for community servers
2 Team Blue vs Red teams competing for points
3 Laps Race a set number of laps; fastest wins
4 Stunts Score-based mode rewarding trick jumps and drifts

TimeAttack (mode 1) is the standard for most public servers — it lets players join and race at any time without waiting for a round to finish.


Adding Custom Tracks

  1. Place .Challenge.Gbx files (TMNF) or .Map.Gbx files (ManiaPlanet) in the Tracks/Challenges/ or UserData/Maps/ directory respectively.
  2. Add a <challenge><file>...</file></challenge> (or <map>) entry to your match settings file for each track.
  3. Restart the server, or use your XMLRPC controller to reload the playlist live.

Applying Changes

The match settings file is read at server startup and at each map change. If you use an XMLRPC controller (XASECO, PyPlanet, etc.), you can reload the map list live without restarting the server.