How to Set Up a Trackmania Dedicated Server (2026)
Servers

Trackmania Dedicated Server Setup Guide 2026

Set up a Trackmania dedicated server on Windows, Linux, or Docker, configure ports, maps, security, and troubleshoot connection issues confidently.

Trackmania Dedicated Server Setup Guide 2026

Launching a Trackmania server is only the beginning. The real challenge is keeping it reachable, secure, and ready for every map, mode, and event your community wants to run.

A Trackmania dedicated server hosts races without requiring your game client to stay open. Online hosting needs a separate server login, current server files, a dedicated_cfg.txt configuration, MatchSettings, and reachable TCP and UDP ports.

You can run the server on Windows, Linux, or Docker, depending on your preferred level of control and uptime.

Optional controllers add records, voting, chat commands, statistics, and administration through a private XML-RPC connection. Club Access is required only when creating or binding the server to a Club room.

This guide walks through account creation, installation, configuration, ports, maps, controllers, security, and troubleshooting in the safest order.

By the end, you will understand how the setup works and avoid mistakes that make a server invisible or unreachable.

Quick Facts About Trackmania Dedicated Servers

Before you start the setup, check these basics first. Most Trackmania dedicated server issues come from the wrong server file, missing server account, blocked ports, exposed XML-RPC access, or mixed-up Trackmania versions.

ItemDetail
Main FocusTrackmania 2020 / modern Trackmania
Supported HostingWindows, Linux, and Docker
Server FileTrackmaniaServer_Latest.zip
Main Config FileCopy dedicated_cfg.default.txt and rename it to dedicated_cfg.txt
Config PathUserData/Config/dedicated_cfg.txt
MatchSettings PathUserData/Maps/MatchSettings/
MatchSettings Launch PathUse /game_settings=MatchSettings/example.txt when starting the server
Default Game Port2350 TCP/UDP
Default XML-RPC Port5000 TCP
Trackmania Server AccountRequired for online dedicated servers; Club Access is a separate requirement for creating or binding a Club room
Server Account PasswordSave it during creation because you cannot view it again later
Same-PC Port RuleUse 2351 and 5001 if the game and server run on the same PC
Same-PC Auto-BumpManually use 2351 for the game port and 5001 for XML-RPC if the game client and dedicated server run on the same PC
Join MethodsLocal network, join link, or Club room
Console SupportSelf-hosted dedicated servers are not available for PlayStation or Xbox players
Server ControllersEvoSC, PyPlanet, and ManiaControl
XML-RPC RuleNever port-forward XML-RPC to the public internet

A Trackmania dedicated server needs the right server files, server account, config file, MatchSettings file, and game ports to work online.

Trackmania Dedicated Server Requirements

A Trackmania dedicated server does not need high-end hardware for a small room, but it does need the right account, files, ports, and network access. Prepare these items before you edit the config file or start the server.

Basic Requirements

You need these items for a working Trackmania 2020 dedicated server:

  • Trackmania account: Use your normal Trackmania account to create and manage server access.
  • Trackmania dedicated server account: Online dedicated servers need a separate server login. Do not use your normal player login as the server login.
  • Club Access: You need Club Access when you want to create or bind an online Club room to your dedicated server.
  • Saved server password: Save the dedicated server password when you create it. You cannot view it again later.
  • Trackmania dedicated server download: Use the latest modern Trackmania server files. Do not use old Trackmania Nations Forever files for Trackmania 2020.
  • Windows, Linux, or Docker host: Run the server on Windows, Linux, or a Docker-based setup.
  • Correct game ports: Use 2350 TCP/UDP for the default game server port. Use 2351 TCP/UDP if the game and server run on the same machine.
  • Private XML-RPC port: XML-RPC uses 5000 TCP by default. Use 5001 TCP for same-machine setups when needed. Never expose XML-RPC to the public internet.
  • Firewall and router access: You need access to the OS firewall, router, or hosting firewall so players can reach the game port.

A Trackmania dedicated server free setup can work for LAN testing, small friend groups, or home hosting. Public hosting still needs a server account, reachable ports, and a network that accepts inbound traffic.

Advanced Requirements

You need these items for a stable public server, event room, or community setup:

  • Public IPv4: Use a public IPv4 address if outside players need to join directly. A home connection behind CGNAT can block public access even when your local firewall looks correct.
  • Backup plan: Back up UserData, config files, MatchSettings, maps, controller files, and controller databases before updates.
  • Controller setup: Use EvoSC, PyPlanet, or ManiaControl when you need records, votes, map queues, admin tools, chat commands, or player stats.
  • Database for controller tools: Major Trackmania controller stacks need a database to store records, player data, rankings, map votes, and server activity.
  • Club access for Club room binding: Use Club access when you want to bind your dedicated server to a Club room.
  • PC-player limitation: A self-hosted dedicated server can run on Windows, Linux, or Docker, but players can join that server only from PC clients. PlayStation and Xbox players need supported in-game room options instead.
  • Dedicated infrastructure for always-on hosting: Use dedicated server infrastructure when you need stable public access, custom ports, multiple instances, full file control, logs, backups, and controller/database stacks.

How To Create A Trackmania Dedicated Server Account

  • Create the dedicated server account before editing dedicated_cfg.txt.
  • Use a clean server login name.
  • Avoid spaces in the server login.
  • Use simple Latin letters, numbers, dots, underscores, or hyphens where possible.
  • Save the generated server login and password as soon as you create them.
  • The generated password cannot be viewed again later.
  • Add the dedicated server login and password inside dedicated_cfg.txt.
  • The server uses these details when it starts and connects online.
  • Place the generated password inside the <password> field.
  • Wrap the password in CDATA to avoid XML parsing issues with special characters.
  • If you lose the generated password, create a new server login and update dedicated_cfg.txt.
  • Never share the server password in:
    • Screenshots
    • GitHub repos
    • Discord messages
    • Public config examples
    • Support threads
  • Common mistake: Do not use your normal Ubisoft account password as the Trackmania server account password.
  • Use only the password generated for the dedicated server account.

How To Download Trackmania Dedicated Server Files

  • Modern Trackmania uses TrackmaniaServer_Latest.zip for dedicated server files.
  • Download the latest server package from the Trackmania dedicated server download location before starting the setup.
  • A modern Trackmania dedicated server download is not a normal SteamCMD server install.
  • Do not use SteamCMD as the main install method for the Trackmania 2020 dedicated server.
  • Extract the server files into a clean folder.
  • Use a simple folder name.
  • Avoid spaces and unusual characters in the server folder name.
  • Keep folder names short, clear, and easy to reference in commands.
  • Do not mix Trackmania 2020 files with older server files.
  • A Trackmania Nations Forever dedicated server download is for TMNF, not Trackmania 2020.
  • Old TMNF, Trackmania United Forever, and Trackmania 2 Stadium files use different tools, paths, configs, and workflows.
  • Keep the UserData folder safe during updates.
  • Back up UserData before replacing server files.
  • UserData can contain:
    • Server config files
    • Maps
    • MatchSettings
    • Logs
    • Local server data
  • Do not assume controller databases live inside UserData.
  • Controller data may live in a separate database, Docker volume, mounted directory, or external database service.
  • Back up controller storage separately from UserData.
  • After updating the server files, restart the server and test:
    • Config file
    • Server account login
    • Game ports
    • MatchSettings
    • Custom maps
    • Controller connection
    • Club room binding

How To Set Up A Trackmania Dedicated Server On Windows

Use Windows when you want a direct file-based setup with simple access to configs, logs, and batch files. Keep the server folder clean from the start, because most setup errors come from mixed files, wrong paths, or missing config copies.

Step 1: Download And Extract Server Files

  • Download the latest TrackmaniaServer_Latest.zip.
  • Create a clean folder for the server.
  • Use a simple path, such as:
    C:\trackmania-server\
  • Avoid spaces and unusual characters in the folder name.
  • Do not extract the zip into a folder that already contains old Trackmania server files.
  • Do not mix Trackmania 2020 files with Trackmania Nations Forever, Trackmania United Forever, or Trackmania 2 Stadium files.
  • Run TrackmaniaServer.exe once after extraction.
  • The first run may show errors because the server has no config yet.
  • This first run can still create needed folders such as UserData, Config, and Logs.

Step 2: Create dedicated_cfg.txt

  • Open this folder:
    UserData\Config\
  • Find this file:
    dedicated_cfg.default.txt
  • Copy it in the same folder.
  • Rename the copy to:
    dedicated_cfg.txt
  • Keep dedicated_cfg.default.txt untouched as a clean reference.
  • Edit only dedicated_cfg.txt.

Step 3: Add Server Account Details

  • Open dedicated_cfg.txt.
  • Find the masterserver_account section.
  • Add your dedicated server login inside <login>.
  • Add your generated dedicated server password inside <password>.
  • Wrap the password in CDATA to prevent XML errors when the password contains special characters.

Example:

<masterserver_account>
<login>yourserverlogin</login>
<password><![CDATA[yourGeneratedPassword]]></password></masterserver_account>

  • Do not add your normal Ubisoft password here.
  • Do not share this config file publicly unless you remove the password first.

Step 4: Set Name, Comment, And Ports

  • Find the server name and comment fields in dedicated_cfg.txt.
  • Add a clear server name.
  • Add a short comment if you want players to understand the room purpose.

Example:<name>RedSwitches Trackmania Server</name>
<comment>Time Attack practice room</comment>

  • Check the game server port.
  • Use this default game port for a normal single-server setup: <server_port>2350</server_port>
  • Use this default XML-RPC port for controllers: <xmlrpc_port>5000</xmlrpc_port>
  • Use 2351 and 5001 when the game client and server run on the same PC.
  • Use a new port pair for each extra server instance.
  • Forward the game port only when players need public access.
  • Never port-forward XML-RPC to the public internet.

Step 5: Create A Launch Batch File

  • Create a new file in the main server folder.
  • Name it:
    start-trackmania.bat
  • Add this code:
    @echo offcd
    /d "%~dp0"
    TrackmaniaServer.exe /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/example.txt
    if %errorlevel% neq 0 pause
  • /dedicated_cfg=dedicated_cfg.txt tells the server which config file to load.
  • /game_settings=MatchSettings/example.txt tells the server which MatchSettings file to load.
  • The MatchSettings path is relative to:
    UserData\Maps\
  • Replace example.txt with your real MatchSettings file when you create a custom playlist.

Step 6: Start And Test The Server

  • Double-click start-trackmania.bat.
  • Check the console output for these signs:
    • Config file loaded
    • Dedicated server account connected
    • MatchSettings loaded
    • Server started
    • Join link generated
  • Check the Logs folder when the server fails.
  • Fix these common first-run errors:
    • Wrong server login
    • Lost or wrong-generated password
    • Password not wrapped in CDATA
    • Missing dedicated_cfg.txt
    • Wrong MatchSettings file name
    • Wrong /game_settings= path
    • Port already used by the game client
    • Windows Firewall blocking 2350 TCP/UDP
    • XML-RPC exposed by mistake

How To Set Up A Trackmania Dedicated Server On Linux

Use Linux for always-on hosting, cleaner process control, easier remote access, and better restart handling. Run the server under its own user so one game process does not get broad system access.

Step 1: Create A Non-Root User

  • Create a dedicated Linux user for the server.
    sudo useradd -m -r -s /bin/bash trackmania
  • Use this account to own and run the server files.
  • Do not run the Trackmania server as root.
  • A non-root user limits damage if the server process, controller, or config gets exposed.

Step 2: Download And Extract Server Files

  • Switch to the server user.
    sudo -iu trackmania
  • Create a clean server folder.
    mkdir -p ~/server cd ~/server
  • Download the latest server zip.
    wget http://files.v04.maniaplanet.com/server/TrackmaniaServer_Latest.zip -O TrackmaniaServer_Latest.zip
  • Extract it inside the clean folder.
    unzip TrackmaniaServer_Latest.zip
  • Do not unzip it directly into the home folder.
  • Set safe execute permission on the server binary.
    chmod 755 TrackmaniaServer
  • Run the server once to create required folders.
    ./TrackmaniaServer
  • The first run can fail because the config is not ready yet.
  • That failure is normal during first setup.

Step 3: Configure dedicated_cfg.txt

  • Go to the config folder.
    cd ~/server/UserData/Config
  • Copy the default config.
    cp dedicated_cfg.default.txt dedicated_cfg.txt
  • Edit the new config file.
    nano dedicated_cfg.txt
  • Add the dedicated server login and generated password. <masterserver_account>
    <login>yourserverlogin</login>
    <password><![CDATA[yourGeneratedPassword]]></password> </masterserver_account>
  • Set the server name and comment.
    <name>RedSwitches Trackmania Server</name>
    <comment>Linux-hosted Time Attack room</comment>
  • Set the game port.
    <server_port>2350</server_port>
  • Set the XML-RPC port.
    <xmlrpc_port>5000</xmlrpc_port>
  • Change the XML-RPC authorization passwords for SuperAdmin, Admin, and User.
  • Keep XML-RPC private and block public access to port 5000.
  • Review bandwidth fields such as connection_uploadrate and connection_downloadrate before hosting larger rooms.
  • Use conservative values first, then adjust after real player testing.

Step 4: Add MatchSettings

  • Keep MatchSettings files in:
    ~/server/UserData/Maps/MatchSettings/
  • Use the existing example file for a first test.
  • Create a custom file later when you add your own maps and mode settings.
  • The launch command points to MatchSettings with a path relative to: UserData/Maps/
  • This path format is correct:
    /game_settings=MatchSettings/example.txt
  • This path format can break because it repeats the full local folder path: /game_settings=UserData/Maps/MatchSettings/example.txt

Step 5: Test With A Manual Launch Command

  • Return to the server folder.
    cd ~/server
  • Start the server manually.
    ./TrackmaniaServer /nodaemon /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/example.txt
  • Use /nodaemon during testing so you can see console errors.
  • Check for these startup signs:
    • Dedicated config loaded
    • Master server connection succeeds
    • MatchSettings file loads
    • XML-RPC starts on the expected port
    • Join link appears
    • Server waits for players or starts the room
  • Stop the test after it works.
    Ctrl+C
  • Exit the trackmania user’s shell before running the following administrative commands.
    exit

Step 6: Create A systemd Service

  • Create a service file as root.
    sudo nano /etc/systemd/system/trackmania.service
  • Add this service file:
    [Unit] Description=Trackmania Dedicated Server
    After=network-online.target
    Wants=network-online.target
    [Service] Type=simple
    User=trackmania
    Group=trackmania
    WorkingDirectory=/home/trackmania/server ExecStart=/home/trackmania/server/TrackmaniaServer /nodaemon h /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/example.txt Restart=on-failure
    RestartSec=10
    NoNewPrivileges=true
    [Install]
    WantedBy=multi-user.target
  • Reload systemd.
    sudo systemctl daemon-reload
  • Start the server.
    sudo systemctl start trackmania
  • Enable startup on boot.
    sudo systemctl enable trackmania
  • Check service status.
    sudo systemctl status trackmania
  • Read live logs.
    sudo journalctl -u trackmania -f
  • Use journalctl and the server Logs folder together when debugging.

Step 7: Add Backup And Update Workflow

  • Stop the service before major updates.
    sudo systemctl stop trackmania
  • Create the backup directory if it does not already exist.
    sudo mkdir -p /var/backups
  • Back up UserData.
    sudo tar -czf /var/backups/trackmania-userdata-$(date +%F).tar.gz -C /home/trackmania/server UserData
  • Back up custom MatchSettings.
    sudo tar -czf /var/backups/trackmania-matchsettings-$(date +%F).tar.gz -C /home/trackmania/server/UserData/Maps MatchSettings
  • Back up custom maps if you store them under UserData/Maps.
  • Back up controller databases separately.
  • Do not assume controller data lives inside UserData.
  • Controller data may live in:
    • MariaDB
    • MySQL
    • SQLite
    • Docker volumes
    • Mounted controller folders
    • External database servers
  • Replace server binaries carefully during updates.
  • Keep your current UserData folder unless the update guide tells you to change it.
  • Start the service after the update. sudo systemctl start trackmania
  • If the update fails, stop the service, restore the previous server files and UserData backup, then start the service and review the logs before reopening the server to players.
  • Test the server after every update:
    • Server login
    • MatchSettings
    • Ports
    • Maps
    • Controller connection
    • Club room binding

How To Run A Trackmania Dedicated Server With Docker

Use Docker when you want repeatable deployment, clear volumes, easier rebuilds, and a cleaner controller/database stack. Docker works best when you understand port mapping, persistent storage, and public IP handling.

Docker Compose Items To Include

Your Docker Compose file should include these parts:

  • Trackmania server image
  • Container name
  • Persistent UserData volume
  • Persistent map or MatchSettings mount
  • 2350 TCP mapping
  • 2350 UDP mapping
  • Server login variable
  • Server password variable
  • TM_SYSTEM_FORCE_IP_ADDRESS when the server must advertise a specific public address
  • Restart policy
  • Separate the database service when using a major controller
  • Separate controller service when using EvoSC or PyPlanet

Example:

services:

trackmania:

image: evoesports/trackmania:latest

container_name: trackmania-server

restart: unless-stopped

ports:

- "2350:2350/tcp"

- "2350:2350/udp"

environment:

TM_MASTERSERVER_LOGIN: "yourserverlogin"

TM_MASTERSERVER_PASSWORD: "yourGeneratedPassword"

TM_GAME_SETTINGS: "maplist.txt"

TM_SYSTEM_FORCE_IP_ADDRESS: "YOUR_PUBLIC_IPV4:2350"

TM_SERVER_NAME: "RedSwitches Trackmania Server"

TM_SERVER_MAX_PLAYERS: "32"

TM_SERVER_MAX_SPECTATORS: "32"

volumes:

- trackmania_userdata:/server/UserData

- ./Maps:/server/UserData/Maps

volumes:

trackmania_userdata: {}

  • Replace YOUR_PUBLIC_IPV4 with the server’s reachable public IPv4 when TM_SYSTEM_FORCE_IP_ADDRESS is required by your network configuration.
  • For LAN-only hosting, set TM_SYSTEM_FORCE_IP_ADDRESS to the host’s LAN IP and mapped game port if the container would otherwise advertise its private Docker address.
  • Leave TM_SYSTEM_FORCE_IP_ADDRESS unset when the container can detect and advertise the correct reachable address automatically.
  • Keep the XML-RPC port closed from the public internet.
  • Do not publish 5000:5000 unless you place it behind a trusted private network, VPN, or strict firewall allowlist.

Docker With Controller And Database Stack

  • Add a controller only after the base server works.
  • Use EvoSC or PyPlanet when you need:
    • Local records
    • Map voting
    • Jukebox
    • Admin commands
    • Chat tools
    • Player stats
  • Major controller stacks need a database.
  • Use MariaDB or another supported database based on your controller’s docs.
  • Store database files in a named volume.
  • Back up the database volume apart from UserData.
  • Keep controller config and module folders in their own volumes.
  • Set the controller to connect to the Trackmania container over the internal Docker network.
  • Do not expose XML-RPC publicly just to let the controller connect.

Docker Mistakes To Avoid

  • Do not map only TCP.
  • Trackmania player traffic needs UDP too.
  • Do not forget this mapping:ports:- "2350:2350/tcp"- "2350:2350/udp"
  • Do not configure an incorrect public IP in TM_SYSTEM_FORCE_IP_ADDRESS.
  • Do not use a container-only private IP as the public join address; outside players need an address and port reachable from the internet.
  • Do not store UserData only inside the container.
  • A non-persistent UserData setup can lose config files, maps, and MatchSettings when the container gets removed.
  • Do not expose XML-RPC to the internet.
  • Do not assume ARM64 works with every Trackmania Docker setup.
  • Use an x86_64 host unless your chosen image clearly supports ARM64.
  • Do not start with a controller stack before the base server works.
  • Fix the core server first, then add database and controller services.
  • Do not place controller data only inside short-lived containers.
  • Put controller config, modules, cache, and database storage into volumes.
  • Do not ignore container logs.
  • Use these commands during testing:
    docker compose up
    docker compose up -d
    docker compose logs -f
    docker compose stop
  • Check the logs for:
    • Master server login errors
    • Wrong generated password
    • Missing MatchSettings
    • Wrong map path
    • Private network warning
    • Incorrect TM_SYSTEM_FORCE_IP_ADDRESS
    • Controller XML-RPC connection failure
    • Missing database service

The fastest safe path is simple: start the base Trackmania server first, confirm players can join, then add controllers, databases, backups, and Club room binding.

Trackmania Dedicated Server Ports And Firewall Rules

Trackmania needs the game server port open so players can join. XML-RPC should stay private because controllers and admin tools use it to control the server.

PortProtocolPurposePublic Or Private
2350TCP/UDPMain server trafficPublic if hosting online
2351+TCP/UDPExtra instance or same-PC setupPublic if used
5000TCPXML-RPC controller and admin channelPrivate
5001+TCPXML-RPC for extra instancesPrivate

Open 2350 TCP/UDP when you host one public Trackmania dedicated server.

  • Use 2351 TCP/UDP, 2352 TCP/UDP, and higher ports for extra server instances.
  • Use 2351 if the Trackmania game client and the dedicated server run on the same machine.
  • Open both TCP and UDP for the game server port. UDP-only checks can miss part of the traffic path.
  • Keep XML-RPC closed to the public internet.
  • Do not port-forward 5000 TCP or 5001 TCP to the open internet.
  • Allow XML-RPC only from localhost, a private network, a VPN, or a strict firewall allowlist.
  • Check every firewall layer:
    • Windows Defender Firewall
    • Linux firewall
    • Router port forwarding
    • Hosting provider firewall
    • Docker port mapping
    • Controller network rules
  • Use unique game and XML-RPC ports for each server instance.
  • Do not run two servers on the same game port.
  • Do not run two controllers on the same XML-RPC port.
  • Forward the game port to the correct local server IP.
  • Use a static LAN IP or DHCP reservation for home hosting.
  • Check for CGNAT if players outside your network cannot join.
  • CGNAT means your router does not receive a real public IPv4 address.
  • Conventional IPv4 port forwarding usually will not work behind CGNAT unless your ISP provides a public IPv4 address or another supported inbound-access method.
  • A UDP port checker may show false results because UDP does not always reply like TCP.
  • Test with a real external player instead of trusting only a web-based port checker.
  • The best test is simple: ask someone outside your network to join the server from a PC client.

Joining A Trackmania Dedicated Server

You can join Trackmania servers through a local network, a join link, or a Club room. For public modern Trackmania 2020 servers, Club room binding gives players the clearest path.

Join On Local Network

  • Use local joining when the server and player PC use the same LAN.
  • Open Trackmania on the player PC.
  • Go to Play > Local > Local network.
  • Select the server when it appears.
  • Local joining works without public port forwarding.
  • Local joining does not prove that outside players can join.
  • Test remote access separately if you want a public server.
  • Start the dedicated server.
  • Watch the server console after startup.
  • Look for a join link that contains the server identifier.
  • Copy the join part from the link.
  • Open Trackmania.
  • Go to the Join Link option in the game settings.
  • Paste the join value and press Enter.
  • Use join links for direct testing, private rooms, or quick access.
  • If the join link fails, check the game port, firewall, public IP, and server account.

Join Through A Club Room

  • Use a Club room when you want players to find your server more easily.
  • Start the dedicated server first.
  • Bind the dedicated server login to a Club room.
  • Open the Club area in Trackmania.
  • Select the room from the Club activity list.
  • Test the room from a PC client.
  • A Club room is the most practical way to present modern Trackmania servers to a community.
  • A Trackmania dedicated server list can mean several things:
    • Local network server list
    • Club room list
    • Join links shared by communities
    • Older legacy server lists
    • Public community directories

Binding A Dedicated Server To A Trackmania Club Room

Club binding connects your running dedicated server to a visible Club activity. This makes the server easier to find than a raw join link.

Follow this flow:

  • Start the Trackmania dedicated server.
  • Confirm the server login works.
  • Confirm the server has loaded the correct MatchSettings file.
  • Open Trackmania from a PC client.
  • Open the Club area.
  • Select the Club you manage.
  • Go to the Administration area.
  • Add a new Club Activity.
  • Choose Room.
  • Select Use Dedicated Server.
  • Enter the room name.
  • Select the dedicated server login from the list.
  • Create the room.
  • Open the room from the Club activity list.
  • Test the room from a PC client.
  • Ask another PC player to test the room from outside your network.

Use these checks if the room does not work:

ProblemWhat To Check
Server login does not appearCheck the dedicated server account and Club access
The room opens, but does not connectCheck game port, public IP, and firewall
The server shows the wrong map listCheck the MatchSettings file loaded at startup
The controller does not workCheck XML-RPC port, password, and private network path
The console player cannot find the roomSelf-hosted dedicated server rooms can only be joined from PC clients

Self-hosted dedicated server rooms can run on Windows, Linux, or Docker, but players can join them only from PC. PlayStation and Xbox players need supported cross-platform room options, such as selected tracks or campaign-based rooms.

Trackmania Server Status Checks

Trackmania server status can mean many different things. A server can run locally while still failing online, or appear online while the controller cannot connect.

Use this table to isolate the issue.

CheckWhat To Verify
ProcessIs TrackmaniaServer running?
LogsAre there login, port, or MatchSettings errors?
Local JoinCan a local PC see the server?
Remote JoinCan an outside player join?
PortsIs 2350 TCP/UDP open and forwarded?
XML-RPCIs the controller connected through a private path?
Club RoomIs the correct server account selected?
VersionAre server files current?

Check these areas in order:

  • Game service status: Confirm the game can connect online.
  • Server process status: Check that the dedicated server process is still running.
  • Log status: Read the latest log file for account, config, port, or MatchSettings errors.
  • Local reachability: Join from another PC on the same network.
  • Internet reachability: Ask an outside player to test the join link or Club room.
  • Port status: Confirm 2350 TCP/UDP points to the server.
  • XML-RPC status: Confirm the controller can reach XML-RPC without exposing it publicly.
  • Club room visibility: Confirm the Club room uses the correct dedicated server login.
  • Version match: Update server files if players see a version mismatch.

A good Trackmania server status check should test the process, logs, ports, remote join path, Club room, and controller separately.

Trackmania MatchSettings Explained

MatchSettings tell the dedicated server what to run. They define the game mode, map playlist, map order, and mode settings.

  • MatchSettings files live in:
    UserData/Maps/MatchSettings/
  • The server loads MatchSettings at startup with: /game_settings=MatchSettings/example.txt
  • The /game_settings= path should be relative to:
    UserData/Maps/
  • Editing the wrong MatchSettings file will not change the live server.
  • Updating the file does not help if the launch command points to a different file.
  • Use one clear MatchSettings file per server instance.
  • Keep file names simple.
  • Avoid spaces and unusual characters in MatchSettings file names.

What MatchSettings Should Include

A MatchSettings file should define the game mode and map playlist, plus only the mode-specific settings required by the selected script:

  • script_name for the game mode
  • Map list
  • Relative map paths
  • Start index
  • Time-limit settings when supported by the selected mode
  • Rounds settings when using a rounds-based mode
  • Laps settings when using a lap-based mode
  • Points or win-condition settings required by the selected mode
  • Optional warmup settings supported by the selected mode
  • Map rotation behavior
  • Mode-specific script settings

Example Time Attack MatchSettings file:

<?xml version="1.0" encoding="utf-8" ?>

<playlist>

<gameinfos>

<game_mode>0</game_mode>

<script_name>Trackmania/TM_TimeAttack_Online</script_name>

</gameinfos>

<mode_script_settings>

<setting name="S_TimeLimit" type="integer" value="300"/>

<setting name="S_WarmUpNb" type="integer" value="0"/>

</mode_script_settings>

<startindex>0</startindex>

<map>

<file>MyMaps/training-01.Map.Gbx</file>

</map>

<map>

<file>MyMaps/training-02.Map.Gbx</file>

</map>

</playlist>

In this example, the map files must exist under: UserData/Maps/MyMaps/

Common Trackmania Game Modes

Game ModeWhat It DoesGood For
Time AttackPlayers chase the best time within a time limitPractice, public rooms, casual racing
RoundsPlayers earn points each round based on finish orderCompetitive lobbies
CupPlayers earn points to become finalists, then a finalist must win a round to take the matchFinals, tournaments, events
KnockoutPlayers get eliminated through roundsParty rooms and elimination events
LapsPlayers race over lap-based mapsLonger races and circuits
TeamsPlayers score as teams instead of only as individualsTeam events and community matches

Start with Time Attack if you are new. Move to Rounds, Cup, Knockout, Laps, or Teams when you understand MatchSettings and server testing.

Adding Custom Maps To A Trackmania Dedicated Server

Custom maps work when the server can find the .Map.Gbx files and the MatchSettings file points to the correct relative paths.

  • Add custom .Map.Gbx files under:
    UserData/Maps/
  • Create a clear folder for your maps.
    Example: UserData/Maps/MyMaps/
  • Add each map to your MatchSettings file.
    Example:
<map>
		<file>MyMaps/training-01.Map.Gbx</file>
	</map>
	<map>
		 <file>MyMaps/training-02.Map.Gbx</file>
	</map>
  • Keep map paths relative to:
    UserData/Maps/
  • Match the file name exactly.
  • Check uppercase and lowercase characters on Linux.
  • Avoid special characters in map file names when possible.
  • Save the MatchSettings file in:
    UserData/Maps/MatchSettings/
  • Start the server with the correct MatchSettings file.
    Example: /game_settings=MatchSettings/my-room.txt
  • Restart the server after manual MatchSettings edits.
  • Use a controller if you want easier map queues, voting, jukebox features, or admin map commands
Method Best ForLimitation
Manual MatchSettings editing Small private servers Slow and easy to break with wrong paths
Controller map queue Active communitiesNeeds a controller and a database setup
Club selected tracks Simple rooms Gives less server-side control
  • The safest first test uses two custom maps, one simple MatchSettings file, and one clean server restart. Add controller features only after the base map rotation works.

Trackmania Server Controllers: EvoSC, EvoSC#, PyPlanet, ManiaControl, And Legacy Tools

A Trackmania server controller adds features that the base dedicated server does not handle alone. Controllers connect through XML-RPC and can manage records, chat commands, admin tools, jukebox queues, map voting, player statistics, live rankings, moderation, and server tasks.

Start with the base dedicated server first. Add a controller only when your server needs records, votes, map queues, admin commands, or player activity tracking.

ControllerBest ForNotes
EvoSC#Modern Trackmania 2020 communitiesA C#/.NET controller built for Trackmania 2020 dedicated servers. It is still in development, so check current release notes before writing setup steps.
EvoSCTM² and older TM2020 controller setupsA PHP-based controller for Trackmania² and Trackmania 2020. Do not treat it as the same project as EvoSC#.
PyPlanetRecords, jukebox, MX links, admin toolsA Python-based controller with strong community features. It needs database and config knowledge.
ManiaControlManiaPlanet-era server controlA ManiaPlanet server controller. Use it mainly when your setup matches the ManiaPlanet workflow.
TrakmanTrackmania Forever server controlA controller for Trackmania Forever servers; do not use it as a Trackmania 2020 controller recommendation.
XASECOTrackmania Forever and older setupsLegacy controller for older Trackmania versions.
UASECOTrackmania 2 / ManiaPlanetLegacy context for ManiaPlanet mode script servers.

Major controller stacks need database storage or persistent state for records, rankings, player data, map activity, and server history. Back up controller storage apart from UserData, especially when you use Docker volumes, mounted folders, or an external database.

Use a controller when your Trackmania server becomes a real community space. Skip it for a first local test, a short private session, or a simple room with a few maps.

XML-RPC Security For Trackmania Dedicated Servers

XML-RPC is the server control interface. Controllers use it to send commands, read server state, manage maps, show records, and run admin features.

XML-RPC is not the game server port. The default XML-RPC port is 5000 TCP, while the default game server port is 2350 TCP/UDP.

Keep XML-RPC private. Public XML-RPC access can expose admin control, controller access, or sensitive server actions.

Use this checklist:

  • Change the default SuperAdmin, Admin, and User passwords.
  • Use strong XML-RPC passwords that differ from the server account password.
  • Keep XML-RPC on localhost, a private network, or an internal Docker network.
  • Do not forward 5000 TCP to the public internet.
  • Use a VPN or strict firewall allowlist if you need remote admin access.
  • Do not publish XML-RPC credentials in screenshots, GitHub repos, Discord messages, or support threads.
  • Rotate XML-RPC passwords if they were exposed.
  • Restrict controller database access to the controller host or private network.
  • Keep database users limited to the permissions the controller needs.
  • Block public access to database ports.
  • Store controller config files outside public web folders.
  • Review Docker Compose files before sharing them.

Performance Tuning For Trackmania Dedicated Servers

Trackmania server performance depends on player count, spectator count, upload rate, download rate, CPU load, packet handling, controller load, database load, latency, and server location. Larger rooms need more careful network and controller testing than small private rooms.

Do not promise fixed gains from one setting. Test changes with real players, then compare logs, join quality, map changes, controller delay, and player feedback.

SettingWhere It BelongsMeaningWhen To Change
max_playersdedicated_cfg.txtPlayer slotsLarger rooms
max_spectatorsdedicated_cfg.txtSpectator slotsEvents or streams
connection_uploadratededicated_cfg.txtServer upload limitMore players or spectators
connection_downloadratededicated_cfg.txtServer download handlingBusy servers
workerthreadcountdedicated_cfg.txtCPU worker threadsLarger servers after testing
packetassembly_multithreaddedicated_cfg.txtPacket preparationHigher network load
disable_replay_recordingdedicated_cfg.txtIn-memory replay recordingLarge rooms experiencing memory pressure, after testing
clientinputs_maxlatencydedicated_cfg.txtHigh-ping input toleranceGlobal player groups
S_TrustClientSimuMatchSettings / mode script settingsClient simulation trustAdvanced mode tuning
S_UseCrudeExtrapolationMatchSettings / mode script settingsOpponent prediction behaviorAdvanced mode tuning

Use these practical rules:

  • Keep player slots realistic for your upload speed and CPU.
  • Treat spectators as extra load, not free capacity.
  • Place the server close to most players when possible.
  • Keep controllers and databases on the same server or private network when latency matters.
  • Watch controller logs during map changes, votes, and peak player activity.
  • Change one setting at a time.
  • Save a working config before tuning.
  • Revert changes that make joins, map changes, or controller actions slower.
  • Tune MatchSettings separately from dedicated_cfg.txt.
  • Do not place mode script settings inside the wrong file.

Trackmania Dedicated Server Not Showing Or Friends Cannot Join

This issue usually comes from account, port, NAT, Club binding, Docker, or version problems. Treat it as a network and config checklist, not a single error.

ProblemLikely CauseWhat To Check
Works locally but friends cannot joinNAT, firewall, or CGNATWAN IP, router forwarding, OS firewall, hosting firewall
Server not visible in ClubServer not bound correctlyClub room settings and dedicated server login
Join link failsServer unreachableGame port, public IP, server process, server account
Controller cannot connectXML-RPC issueXML-RPC port, password, private network path
Docker server unreachablePort or IP mapping issueCompose file, UDP mapping, TM_SYSTEM_FORCE_IP_ADDRESS
Server breaks after updateFile mismatch or overwritten dataBackup, update process, preserved UserData

Check these causes in order:

  • Wrong dedicated server account.
  • Lost or wrong generated server password.
  • Server password not wrapped correctly in dedicated_cfg.txt.
  • Blocked 2350 TCP/UDP.
  • UDP not forwarded.
  • Windows or Linux firewall blocking the server.
  • Router forwarding to the wrong local IP.
  • Hosting firewall blocking inbound traffic.
  • CGNAT on a home internet connection.
  • Wrong public IP in server config or Docker variables.
  • Wrong TM_SYSTEM_FORCE_IP_ADDRESS in Docker.
  • Game client and server fighting over the same default ports on the same PC.
  • Multiple server instances using the same game port.
  • Multiple controllers using the same XML-RPC port.
  • Club room not bound to the correct dedicated server login.
  • Console player trying to join a PC-only self-hosted dedicated server room.
  • Outdated server files after a Trackmania update.
  • MatchSettings file missing or loaded from the wrong path.
  • Custom map path mismatch.

Use real external testing when possible. A server can work on LAN while still failing for players outside your network.

A Trackmania server status check should test four things separately: the server process, the game port, the Club room, and the controller connection.

Trackmania Nations Forever, United Forever, And Trackmania 2 Server Notes

Modern Trackmania 2020 setup should not be mixed with older Trackmania server guides. Legacy versions use different files, paths, controllers, and community tools.

Trackmania Nations Forever uses older setup paths and older controller stacks. Trackmania United and United Forever belong to an older game family.

Trackmania 2 Stadium belongs to the ManiaPlanet era. XASECO and UASECO remain useful for legacy context, but they are not the clean starting point for a modern Trackmania 2020 dedicated server.

Confirm your exact game version before downloading files or copying config examples.

QueryUsually Refers ToGuidance
trackmania nations forever dedicated serverTMNF legacy serverUse TMNF-specific server files and legacy setup guides
trackmania united dedicated serverOlder United serverDo not mix its files with Trackmania 2020
trackmania united forever dedicated serverTMUF legacy serverUse legacy resources for that game version
trackmania 2 stadium dedicated serverManiaPlanet-era serverSome concepts overlap, but files and tools differ
trackmania stadium dedicated serverAmbiguous queryConfirm the exact game before setup

Best Trackmania Dedicated Server Setup Options Compared

Choose the setup model based on your goal: quick testing, simple Club hosting, full server control, repeatable Docker deployment, or always-on community hosting.

Setup OptionBest ForUse It WhenControl LevelPublic HostingMain Limitation
Local PC ServerTesting and small friend groupsYou want to test configs, maps, MatchSettings, and LAN play before going publicMediumPossible, but weak on many home networksHome upload, CGNAT, uptime, and home IP exposure
Club Room With Selected TracksSimple rooms without full server controlYou want players to find the room inside Trackmania without managing server files, ports, or XML-RPCLowYes, through supported room optionsLess control over files, controllers, and server behavior
Windows Dedicated ServerDirect setup and easy file accessYou want to edit files in File Explorer, run a .bat file, and manage logs without Linux commandsHighYesNeeds manual care for uptime, firewall rules, and multi-instance ports
Linux Dedicated ServerStable always-on hostingYou want systemd, SSH access, cleaner logs, scheduled backups, and better service controlHighYesRequires Linux server skills and careful file permissions
Docker Dedicated ServerRepeatable deployment and controller/database stacksYou want persistent volumes, clean port mapping, rebuildable containers, and controller services beside the serverHighYesNeeds correct UDP mapping, volumes, public IP handling, and private XML-RPC networking
Dedicated InfrastructurePublic communities, events, persistent rooms, and multiple server instancesYou need public IPv4, full port control, uptime planning, backups, logs, and a location close to playersVery HighYesCosts more and still needs correct config, ports, MatchSettings, and server account details

Build a Reliable Trackmania Server With RedSwitches

A reliable Trackmania dedicated server needs more than the correct server files. It also requires a valid server account, working MatchSettings, reachable TCP and UDP ports, private XML-RPC access, regular backups, and infrastructure that stays available when players are ready to race.

RedSwitches dedicated servers provide a practical foundation for Windows, Linux, and Docker deployments. You retain control over the operating system, ports, server files, controllers, databases, logs, and backup workflow.

This makes it easier to run persistent rooms, manage multiple instances, and avoid home-network limitations such as CGNAT, unstable uptime, and restricted port access.

Communities that share maps, replays, screenshots, or event media can also use separate CDN-ready infrastructure without adding unnecessary delivery load to the game server.

Start with a clean configuration, test every layer, and scale as your community grows. RedSwitches gives you the control and reliable infrastructure needed to keep every race ready to start.

Frequently Asked Questions

Common questions about trackmania dedicated server setup guide 2026.

Does Trackmania have dedicated servers?
Yes. Modern Trackmania supports dedicated servers for PC players, custom rooms, maps, playlists, game modes, events, and controller-powered community setups. Older games like Trackmania Nations Forever, Trackmania United Forever, and Trackmania 2 Stadium also have dedicated server workflows, but they use different files, tools, and setup paths.
How do I download the Trackmania dedicated server?
Download the latest modern Trackmania dedicated server package, usually provided as TrackmaniaServer_Latest.zip or a dated Trackmania server zip. Do not use a Trackmania Nations Forever dedicated server download for Trackmania 2020, because TMNF uses older files, paths, and tools.
What is a Trackmania dedicated server account?
A Trackmania dedicated server account is the login your server uses to authenticate online. It is not your normal Ubisoft/player password. Add the dedicated server login and generated password inside dedicated_cfg.txt, and save the generated password when you create it because you may not be able to view it again later.
Do I need a Trackmania server account?
Yes, you need a Trackmania server account for an online dedicated server. Local testing and LAN checks can help during setup, but a public internet server needs the dedicated server login inside the config file.
What ports does a Trackmania dedicated server use?
A Trackmania dedicated server uses 2350 TCP/UDP as the default game server port. XML-RPC uses 5000 TCP by default for controllers and admin tools. Open the game port when hosting online, but keep XML-RPC private and never expose it to the public internet. Use 2351 for the game port and 5001 for XML-RPC when the game client and dedicated server share a PC, or assign another unique port pair to each additional instance.
Can console players join a self-hosted Trackmania dedicated server?
No. Self-hosted Trackmania dedicated server rooms are available to PC players. PlayStation and Xbox players must use supported cross-platform in-game room options instead.
Can I host a Trackmania dedicated server for free?
You can run the server software on your own compatible PC or Linux host without buying separate server software. Online hosting still requires a dedicated server login, reachable networking, electricity, and suitable hardware, while creating or binding a Club room requires Club Access.
Why is my Trackmania dedicated server not showing?
First confirm that the server process is running and the dedicated login and MatchSettings loaded successfully. Then test 2350 TCP/UDP from outside the local network, verify router and firewall rules, check for CGNAT, and confirm that the correct server login is bound to the Club room.
Written by

Hafsa Qadeer

Technical Writer

Hafsa Qadeer is a Technical Content Writer at RedSwitches and a journalist with a background in molecular biology and oncology. She brings research precision to technical writing and SEO strategy, turning complex topics in infrastructure, biotech, and AI into content that informs and engages.

Related Articles

Power Your Next Project With Bare Metal

10 min delivery, zero setup fees, and 24/7/365 human engineers across 20+ global locations.