# TrackMania CommandLine

# Command line options

Dedicated server:

> `/dedicated_cfg=xxx` | Specify a configuration file "dedicated_cfg.txt" to use. (xxx = name of the file in GameData/Config/)
> `/game_settings=xxx` | Specify a match settings file to use. (xxx = absolute file name or relative to GameData/Tracks/)
> --
> `/login=xxx` | Account login to be used to play online.
> `/password=xxx` | Account password
> `/servername=xxx` | Name of the server to create.
> `/serverpassword=xxx` | Makes the server private for players, xxx is the password to use.
> --
> `/lan` | Must be specified to join or create a LAN game (that is, not an internet server)
> --
> `/forceip=xxx(:xx)` | Forces the public ip address to this value. optionally with a port as well.
> `/bindip=xxx(:xx)` | Chooses the ip to bind to, and sets the public ip to this value. (you still can use /forceip to chose a different public ip). This is used when the machine has several network interfaces.
> --
> `/join=xxx` | Joins a server, to make a relay server. (xxx = the server ip adress with optional port, or the server login.)
> `/joinpassword=xxx` | Password to use to join the remote server if the server is private.
> --
> `/loadcache` | Loads the "checksum.txt" instead of recomputing it, to speed up first launch time if P2P is enabled. *DO NOT USE* if you run several servers in the same directory!
> `/nologs` | Disables the creation of "GameLog.txt" and "ConsoleLog.txt" in Logs/ directory.
> `/noautoquit` | Keeps the server running "waiting for rpc commands", even if it is not live (with a map loaded and ready to receive players). The default behaviour is to quit, because this situation is mostly caused by configuration errors.
> --
> `/nodaemon` | (linux) Doesn't detach the process.
> `/verbose_rpc_full` | (Debug option) Display the whole contents of the xml-rpc requests the dedicated server receives.
> `/verbose_rpc` | (Debug option) Displays the xml-rpc requests the dedicated server receives, but only the name of the XmlRpc? command and some parameters.

Note: the command line settings when present override the values from the configuration file.

example: `TrackManiaServer.exe /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/Nations/NationsGreen.txt`

Game client:

> `/login=xxx` | Account login to be used to play online.
> `/password=xxx` | Account password
> `/profile=xxx` | Forces using a specific profile on disk. (to avoid the profile choice dialog)
> `/validation=xxx` | Specifies the account validation key (the last three chracters of the player key) to be able to perform copper transactions.
> `/nickname=xxx` | Sets the player's nickname. (If not specified, the nickname used is the one stored in the online account.)
> `/team=xxx` | Sets the default player team. ("red" or "0" / "blue" or "1")
> --
> `/join=xxx` | Joins a server. (xxx = the server ip adress with optional port, or the server login.)
> `/spectate=xxx` | Same as /join, but join as spectator.
> `/joinasreferee=xxx` | Same as /join, but join as referee. The referee log will be in "My Documents/TmUnited/RefereeLog.txt".
> `/serverpassword=xxx` | Password to use to join the server if the server is private.
> `/silent` | Skips news, etc... to allow joining a server without any user interaction
> --
> `/file=xxx` | Opens a Replay.Gbx or a Challenge.Gbx file. (xxx = full path to the file.)
> `/url=xxx` | Opens a tmtp:// url with the game.
> --
> `/shootvideo=xxx` | Shoots a replay to a video file. (xxx = replay file. aboslute file name or relative to Tracks/Replays/).
> `/validatepath=xxx` | Mass validates all the replays in a directory (xxx = name relative to Tracks/Replays/). The results will be in "My Documents/TmUnited/ValidateLog.txt".
> `/windowless` | Disable creation of the 3D viewport. (useful for batch processing with /validatepath, for instance)
> --
> `/list_benchs=xxx` | Benchmarks a list of replays. (xxx = name of a text file containing the replays file names.)
> `/bench=xxx` | Benchmarks a replay (xxx = replay file name) (Internal: if no filename is specified, performs a quick technical benchmark for the default launcher settings)
> `/out=xxx` | Output filename for the bench results.
> --
> `/computeallshadows` | Computes the lightmaps for all the challenges on disk.
> --
> `/singleinst` | Try to send the command to an already running instance of the program instead of creating a new one.
> `/config=xxx` | Use a specific ".SystemConfig.Gbx" config file.
> `/ini=xxx` | Use a specific ".ini" config file.
> `/userdir=xxx` | Changes the default "My Documents/TmUnited/" location. (either a full path, or just "exe" to use the exe directory.)
> `/useexedir` | Run in the directory where the executable is, instead of the current directory.
> `/noscancache` | Disables the use of the launch time scan cache, forces re-reading of directory entries from the disk.
> `/title` | Changes the window title.

If any of `/login`, `/password`, `/serverpassword` is missing, the game will ask them to the player.

TMTP options:

> tmtp://#addbuddy=login | Allow you to add a buddy in your game from an external link
> tmtp://#addfavourite=serverlogin | Alows you to add a server to your favorites list from an external link
> tmtp://#invitebuddy=login | allows you to invite a buddy to be added to your buddy list
> tmtp://#join=serverlogin | Join a specific server as player
> tmtp://#joinasreferee=serverlogin | Join a specific server as referee
> tmtp://#spectate=serverlogin | logs you into a server as spectator from an external link
> tmtp://#score=scoremeta (generated by the game) | Link is generated in game to send scores that one can challange on another computer
> tmtp://url or tmp://:manialink | Display a page in the manialink browser.

examples:

- Quick link to join a server: `TmForever.exe /login=xxx /join=serverlogin /silent`
- Show a manialink page: `TmForever.exe /login=xxx /url=tmtp://:webisodeen /singleinst`
- Batch validate some replays: `TmForever.exe /login=xxx /validatepath=Downloaded`
- Launch a referee in windowless mode: `TmForever.exe /login=xxx /joinasreferee=serverlogin /serverpassword=refereepassword /windowless`

Launcher:

> `/configmode` | Don't run the game when exiting the launcher. (can be useful with /silent, to create initialize the system config without running the game afterwards)
> `/silent` | Don't show the dialog boxes.
> `/userdir=xxx` | Same as the game.
> `/ini=xxx` | Same as the game.
> `/useexedir` | Same as the game.

Note: All the parameters on the launcher command line are also passed through to the game.