# EvoSC Users Guide

# Download & Installation

<p class="callout warning">EvoSC is currently unstable on windows systems and may not work as intended, or at all. Install at your own risk.</p>

### Requirements

The following are the system requirements you will need to install and run EvoSC.

- PHP version at least 7.4  
    Here are some guides to install PHP 7.4 on common operating systems: 
    - [Install PHP 7.4 on Ubuntu](https://computingforgeeks.com/how-to-install-php-on-ubuntu/)
    - [Install PHP 7.4 on Debian](https://computingforgeeks.com/how-to-install-latest-php-on-debian/)
    - [Install PHP 7.4 on CentOS 7](https://computingforgeeks.com/how-to-install-php-7-4-on-centos-7/)
    - [Install PHP 7.4 on CentOS 8](https://computingforgeeks.com/how-to-install-php-7-4-on-centos-rhel-8/)
    - [Install PHP 7.4 on Fedora](https://computingforgeeks.com/how-to-install-php-74-on-fedora/)
- PHP Modules: `simplexml`, `mbstring`, `gd`, `dom`, `mysql`, `pcntl`, `curl`
- **(Optional)** If you want to setup the music server, you will need a web server like Apache or Nginx. You can most likely find these easily in the package manager for your operating system.
- Git. Again, you can find this in the package manager of your OS.
- MySQL database server (MariaDB for example).
- The ManiaPlanet/Trackmania dedicated server. For a guide on how to setup a dedicated server check out the tutorial for setting up a server on [Windows](https://wiki.trackmania.io/en/dedicated-server/Setup/Windows) or [Linux](https://wiki.trackmania.io/en/dedicated-server/Setup/Linux).

### Preparation

Before starting the preparation, make sure you have all the requirements listed above.

#### MySQL Database

You will need a MySQL database set up for EvoSC. The following is a simple process for setting up your first database to be used with EvoSC. Make sure you remember or note down your database name and user login info as you will need this later in the setup process. This guide assume you are running EvoSC on the same machine as your MySQL server.

- Connect and login to your MySQL server with a user that can create databases.
- Create a database, here we name our database evosc:

```SQL
CREATE DATABASE evosc CHARACTER SET UTF8mb4 collate utf8mb4_unicode_ci;
```

- Create a database user for evosc, here the name of the user is evosc:

```SQL
CREATE USER 'evosc'@'localhost' IDENTIFIED BY 'your password';
```

- Grant the user all access to the new database:

```SQL
GRANT ALL PRIVILEGES ON evosc.* TO 'evosc'@'localhost';
```

#### (Optional) Dedimania

If you are running a ManiaPlanet server, you might want to set up the Dedimania records widget.

1. Go to this page and login with maniaplanet: [http://dedimania.net/tm2stats/?do=register](http://dedimania.net/tm2stats/?do=register)
2. Click the **Register your dedicated servers** button.
3. Follow the instructions to register your server and note down the DedimaniaCode it gives you.

<p class="callout info">By default Dedimania will only register any records in the top 30 only. If you want to raise this ceiling you will have to donate to Dedimania, more information can be found [here](http://dedimania.net/tm2stats/?do=donation). </p>

#### (Optional) Music Server

The music server provides EvoSC with custom music to be played on the server. For this you will need a web server, either Nginx or Apache will suffice (check requirements above).

1. If you want to create a directory in your web files of your web server, this is the time to do it.
2. Go to the directory you made in step1, or just the web root if not.
3. Download the music server [here](https://github.com/EvoTM/EvoSC/blob/master/core/Modules/MusicClient/music-server/music-server.zip) and extract the zip file.
4. Note down the URL pointing to the music server. Use this URL later in the installation process.

### Installation with git

Git is currently the only way to install and update EvoSC, here is how you do it:

1. Open the terminal and go to or create a directory where you want EvoSC to be installed.
2. Clone the repository with git: `git clone <a href="https://github.com/EvoTM/EvoSC.git">https://github.com/EvoTM/EvoSC.git</a>`  
    There are currently two versions of EvoSC. You have the the master or the development branch. The master branch usually contains the most stable version, but the development branch has all the latest changes and features. If you want to use the development branch you can check it out with `git checkout develop`.
3. The previous step will create a new directory `EvoSC`, cd into it: `cd EvoSC`
4. Run the composer setup: `composer i --no-dev`
5. Start EvoSC for the initial installation process: `php esc run`
6. Follow the setup guide which EvoSC provides.

### What's Next

To learn more about how the controller works and how you can customize it, check out [Getting Started](https://wiki.evotm.com/books/evosc/page/getting-started "Getting Started").

# Updating Existing Installations

### Updating with git

To update an existing installation with git do the following:

1. Open a terminal and go to the directory of your EvoSC installation.
2. Enter: `git pull`
3. Update composer: `composer install --no-dev`
4. Restart EvoSC, you can use the in-game command `//restart-evosc` and remember that you might have to reset your interface with `/reset`.

# Getting Started

<p class="callout info">If you have not installed EvoSC already, you can follow [this guide](https://wiki.evotm.com/books/evosc/page/download-installation "Download & Installation").</p>

### Bugs, issues or suggestions

If you found a bug or have a issue with EvoSC, please make a report in the Github issues: [https://github.com/EvoTM/EvoSC/issues](https://github.com/EvoTM/EvoSC/issues)

If you also have a suggestion or improvement to the controller, you can post them there as well. Any other general questions can be asked in our Discord server.

### The directory structure

In the EvoSC installation there are three noteworthy directories:

- **config** - Contains all the configuration files for the controller and its modules.
- **logs** - In this directory the auto-generated logs will be placed. This is the place to look for figuring out issues with the controller.
- **modules** - This is where you can install any third-party modules you may find desirable.

It may happen at times that you would find the **cache** folder interesting as you may need to clear or modify the cache in order to fix some problems.

### Add yourself as master admin

Before you do anything, you may want to add yourself as a master admin so that you have access to all the features in-game. To do this you can run the command:

**NOTE:** For TM2020, your login is NOT your Ubisoft Connect username. To find your login, go to [https://trackmania.io](https://trackmania.io), look up your Ubisoft Account in the "Players" tab and go to your profile. Copy the value listed in the Login field.

```shell
php esc add:admin YourLoginHere
```

If you are already on your server, you will have to rejoin for the rights to take effect.

### The server configuration

You can find the server configuration in the file **config/server.config.json**. This file might be useful to know about to edit some the behavior of the controller and connection to the dedicated server. Here are explanation for some of options:

<table border="1" id="bkmrk-option-description-l" style="border-collapse: collapse; width: 100%; height: 290px;"><tbody><tr style="height: 29px;"><td class="align-center" style="width: 28.7654%; height: 29px;">**Option**</td><td class="align-center" style="width: 71.2346%; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`login`</td><td style="width: 71.2346%; height: 29px;">The login of your dedicated server account.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`ip`</td><td style="width: 71.2346%; height: 29px;">The host/IP address of your dedicated server.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`port`</td><td style="width: 71.2346%; height: 29px;">This is the XMLRPC port of your dedicated server.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`rpc.login`</td><td style="width: 71.2346%; height: 29px;">The super admin username of your dedicated server.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`rpc.password`</td><td style="width: 71.2346%; height: 29px;">The super admin password of your dedicated server.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`default-matchsettings`</td><td style="width: 71.2346%; height: 29px;">This is the file that will be the default MatchSettings file of your server.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`map-cooldown`</td><td style="width: 71.2346%; height: 29px;">This option controls how often a map can be played. The numnber indicates how many maps must be played before a map can be played again.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`afk-timeout`</td><td style="width: 71.2346%; height: 29px;">How long a player must stay afk for them to be forced into spectator mode.</td></tr><tr><td style="width: 28.7654%;">`echoes.join`</td><td style="width: 71.2346%;">If enabled, the controller will show player join messages in the chat.</td></tr><tr style="height: 29px;"><td style="width: 28.7654%; height: 29px;">`echoes.leave`</td><td style="width: 71.2346%; height: 29px;">If enabled, the controller will show message of players leaving the server.</td></tr></tbody></table>

### Customizing the theme

The file **config/theme.config.json** contains options for customizing the colors of your EvoSC installation.

- Under the `chat` option, you can find several colors for modying a message.  
    
    - The `text` option controls the color of messages from players in the chat.
    - The other options controls the colors for informational messages like info or error messages.
- The options under the `hud` part is used for controlling the color of the widgets and windows of the controller. 
    - `accent` - This is the general color of the controller, the header of the widgets and windows will have the color of this option.
    - The `text-*` options controls the colors of the text in the widget and windows.
    - `bg-*` options controls the background colors of the windows and widgets.

All the colors are based on the HTML HEX color format. You can find a color picker that generates these HEX values [here](https://www.google.com/search?q=color+picker).

<p class="callout info">The colors under the chat option uses a slightly different format. The general text formatting of the Trackmania games uses a three digit hex code instead of six. You can find some colors and read more about it [here](https://doc.maniaplanet.com/client/text-formatting).</p>

### Enabling and Disabling modules

The modules are what gives EvoSC it's features and functionality in general. Every module has a configuration file attached to them. You can find these under the **config/** directory.

In a module config file there is always a option called `enabled`. You can enable a module by setting this to `true` and disable it by setting it to `false`.

### Adding maps from Trackmania Exchange

You can find a bunch of maps from the exchange websites, there are two exchange websites in concern for this controller:

For Trackmania 2020 use [https://trackmania.exchange](https://trackmania.exchange)  
For Trackmania 2 use [https://mx.mania-exchange.com](https://mx.mania-exchange.com)

You can easily add maps from TMX/MX with the add command. In order to add a map, find your map on the exchange website and note down the **Track ID**. Then add the map with the command:

```
//add track-id
```

Where **track-id** is the numeric id you noted down.

# EvoSC Competition Guide

A guide that shows you how to use EvoSC in competitions.

# Useful Commands

<table border="1" id="bkmrk-command-example-desc" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; width: 100%; height: 641px;"><tbody><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">**Command**</td><td style="width: 33.3333%; height: 29px;">**Example**</td><td style="width: 33.3333%; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`/help`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Displays list of commands.</td></tr><tr style="height: 45px;"><td style="width: 33.3333%; height: 45px;">`//setpw <password>`</td><td style="width: 33.3333%; height: 45px;">`//setpw myawesomepassword`</td><td style="width: 33.3333%; height: 45px;">Sets the entry password for the server. Leave empty to clear.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`/reset`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Resets the interface if it broke.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//mute <player>`</td><td style="width: 33.3333%; height: 29px;">`//mute player`</td><td style="width: 33.3333%; height: 29px;">Mute player.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//unmute <player>`</td><td style="width: 33.3333%; height: 29px;">`//unmute player`</td><td style="width: 33.3333%; height: 29px;">Unmute player.</td></tr><tr style="height: 45px;"><td style="width: 33.3333%; height: 45px;">`//asay <text>`</td><td style="width: 33.3333%; height: 45px;">`//asay Hello everyone!`</td><td style="width: 33.3333%; height: 45px;">Displays a big message in the center of the screen. Leave empty to clear. This command can be very useful to gain players attention.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//mode <mode>`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Change the game instantly mode.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//ban <player>`</td><td style="width: 33.3333%; height: 29px;">`//ban player`</td><td style="width: 33.3333%; height: 29px;">Ban and blacklist a player.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//kick <player>`</td><td style="width: 33.3333%; height: 29px;">`//kick player`</td><td style="width: 33.3333%; height: 29px;">Kick a player from the server.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//addtime <minutes>`</td><td style="width: 33.3333%; height: 29px;">`//addtime 10`</td><td style="width: 33.3333%; height: 29px;">Add time to the time attack timer, negative time to remove.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`/maps`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Open the map list.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`/jukebox`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Open the jukebox.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//vote <text>`</td><td style="width: 33.3333%; height: 29px;">`//vote Do you like pizza?`</td><td style="width: 33.3333%; height: 29px;">Start a vote with a custom text.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//skip`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Skip to the next map instantly.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//res`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Queue the current map for replay.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//add <mx-id>`</td><td style="width: 33.3333%; height: 29px;">`//add 3425`</td><td style="width: 33.3333%; height: 29px;">Add a track from Trackmania Exchange.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//addpack <pack-id>`</td><td style="width: 33.3333%; height: 29px;">`//addpack 325`</td><td style="width: 33.3333%; height: 29px;">Add all tracks from a map pack from Trackmania Exchange.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//addpoints <points>`</td><td style="width: 33.3333%; height: 29px;">`//addpoints 50`</td><td style="width: 33.3333%; height: 29px;">Add points to the points limit, negative number to remove.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//msm`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Open the match settings manager where you can load match configurations.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//shuffle`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Randomize the current map list order.</td></tr></tbody></table>

# Maps

## Commands

<table border="1" id="bkmrk-%2Fmaps-%C2%A0-open-the-map" style="border-collapse: collapse; width: 100%; height: 199px;"><tbody><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">**Command**</td><td style="width: 33.3333%; height: 29px;">**Example**</td><td style="width: 33.3333%; height: 29px;">**Description**</td></tr><tr style="height: 30px;"><td style="width: 33.3333%; height: 30px;">`/maps`</td><td style="width: 33.3333%; height: 30px;"> </td><td style="width: 33.3333%; height: 30px;">Open the map list.</td></tr><tr style="height: 35px;"><td style="width: 33.3333%; height: 35px;">`/jukebox`</td><td style="width: 33.3333%; height: 35px;"> </td><td style="width: 33.3333%; height: 35px;">Open the jukebox.

</td></tr><tr style="height: 30px;"><td style="width: 33.3333%; height: 30px;">`//add <tmx id>`</td><td style="width: 33.3333%; height: 30px;">`//add 2352`</td><td style="width: 33.3333%; height: 30px;">Add a track from Trackmania Exchange.</td></tr><tr style="height: 45px;"><td style="width: 33.3333%; height: 45px;">`//addpack <pack id>`</td><td style="width: 33.3333%; height: 45px;">`//addpack 352`</td><td style="width: 33.3333%; height: 45px;">Add all tracks from a map pack from Trackmania Exchange.</td></tr><tr style="height: 30px;"><td style="width: 33.3333%; height: 30px;">`//shuffle`</td><td style="width: 33.3333%; height: 30px;"> </td><td style="width: 33.3333%; height: 30px;">Randomize the map order.</td></tr></tbody></table>

## Map List

[![maplist.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/maplist.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/maplist.png)

To open the map list there are two options. You can type **/list** or click the **Maps button** in the current map widget near the *top left of the screen*:

[![Trackmania_130121_145946_363.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/Trackmania_130121_145946_363.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/Trackmania_130121_145946_363.png)

# Admin Controls

EvoSC provides several ways for you as an admin to manage players and the match during competitions.

## Commands

<table border="1" id="bkmrk-command-example-desc" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; width: 100%; height: 319px;"><tbody><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">**Command**</td><td style="width: 33.3333%; height: 29px;">**Example**</td><td style="width: 33.3333%; height: 29px;">**Description**</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//mute <player>`</td><td style="width: 33.3333%; height: 29px;">`//mute playername`</td><td style="width: 33.3333%; height: 29px;">Mute player.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//unmute <player>`</td><td style="width: 33.3333%; height: 29px;">`//unmute playername`</td><td style="width: 33.3333%; height: 29px;">Unmute player.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//ban <player>`</td><td style="width: 33.3333%; height: 29px;">`//ban playername`</td><td style="width: 33.3333%; height: 29px;">Ban and blacklist a player.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//kick <player>`</td><td style="width: 33.3333%; height: 29px;">`//kick playername`</td><td style="width: 33.3333%; height: 29px;">Kick a player from the server.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//addtime <minutes>`</td><td style="width: 33.3333%; height: 29px;">`//addtime 10`</td><td style="width: 33.3333%; height: 29px;">Add time to the time attack timer, negative time to remove.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//addpoints <points>`</td><td style="width: 33.3333%; height: 29px;">`//addpoints 50`</td><td style="width: 33.3333%; height: 29px;">Add points to the points limit, negative number to remove.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//skip`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Skip to the next map instantly.</td></tr><tr style="height: 29px;"><td style="width: 33.3333%; height: 29px;">`//res`</td><td style="width: 33.3333%; height: 29px;"> </td><td style="width: 33.3333%; height: 29px;">Queue the current map for replay.</td></tr></tbody></table>

## Interface

### Scoreboard

The scoreboard has various admin controls for easy access:

[![M8xscoreboard.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/M8xscoreboard.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/M8xscoreboard.png)

The scoreboard offers flow control of the game as well as buttons for moderating players (move your mouse over the player item). Depending on the current game mode running, the flow controls like Force end of round may or may not show.

<table border="1" id="bkmrk-flow-control-%C2%A0-force" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 19.5062%;">**Flow Control**</td><td style="width: 80.4938%;"> </td></tr><tr><td style="width: 19.5062%;">Force end of round</td><td style="width: 80.4938%;">This instantly ends the current round and skips to the next one.</td></tr><tr><td style="width: 19.5062%;">Reset Match</td><td style="width: 80.4938%;">Reset all points and times gathered by the players and start the whole match from fresh again.</td></tr><tr><td style="width: 19.5062%;">Skip Map</td><td style="width: 80.4938%;">Skips instantly to the next map.</td></tr><tr><td style="width: 19.5062%;">**Player Control**</td><td style="width: 80.4938%;"> </td></tr><tr><td style="width: 19.5062%;">Mute</td><td style="width: 80.4938%;">Mute/Unmute the player, which prevents them from sending messages in the chat.</td></tr><tr><td style="width: 19.5062%;">Ban</td><td style="width: 80.4938%;">Ban and add the player to the blacklist.</td></tr><tr><td style="width: 19.5062%;">Kick</td><td style="width: 80.4938%;">Disconnect the player.</td></tr><tr><td style="width: 19.5062%;">Warn

</td><td style="width: 80.4938%;">Sends the player a warning.</td></tr><tr><td style="width: 19.5062%;">Force Spec</td><td style="width: 80.4938%;">Forcefully put the player in spectator mode.</td></tr></tbody></table>

### Warmup

During warmup admins have the option to instantly skip it at any time by clicking the **Skip WarmUp** button in the warmup widget:

[![chrome_020121_150306_240.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/chrome_020121_150306_240.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/chrome_020121_150306_240.png)

### Teams

During team mode, EvoSC offer admins a bunch of control over teams and the flow of the match. This is provided by the team controls widget as shown in this image:

[![teams_control.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/teams_control.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/teams_control.png)

<table border="1" id="bkmrk-team-controls-%C2%A0--1%2C-" style="border-collapse: collapse; width: 100%; height: 319px;"><tbody><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">**Team Controls**</td><td style="width: 76.2963%; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">-1, +1</td><td style="width: 76.2963%; height: 29px;">Add or remove points from the teams. The color indicates which team it is for.</td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Setup Teams</td><td style="width: 76.2963%; height: 29px;">Configure team information like color and names.</td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Balance Teams</td><td style="width: 76.2963%; height: 29px;">Automatically balance teams that are uneven in size.</td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">**Game Settings**</td><td style="width: 76.2963%; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Horns</td><td style="width: 76.2963%; height: 29px;">Toggle the ability for players to use their horns.</td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">**Game Flow**</td><td style="width: 76.2963%; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Start Match</td><td style="width: 76.2963%; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Stop Match</td><td style="width: 76.2963%; height: 29px;"> </td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Reset Match</td><td style="width: 76.2963%; height: 29px;">Reset all points and times gathered by the players and start the whole match from fresh again.</td></tr><tr style="height: 29px;"><td style="width: 23.7037%; height: 29px;">Skip Map</td><td style="width: 76.2963%; height: 29px;">Skips instantly to the next map.</td></tr></tbody></table>

##### Switch player to another team

To switch the team of a player, call **//switchplayer** or click "Switch player team" on the scoreboard. A window will open that allows you to switch players to another team.

[![image-1610737014493.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/image-1610737014493.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/image-1610737014493.png)

# Match Settings

Match settings is the core configuration for all game modes and matches in Trackmania. This is where you configure how the match will play out.

## Match Settings Manager

The server's match settings is a tool that allows you to create, edit and load different match settings profiles. There are two ways to open it, you can either type **//msm** or click this button in the scoreboard:

[![screenshot2.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/screenshot2.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/screenshot2.png)

This window is then shown:

[![msm.png](https://wiki.evotm.com/uploads/images/gallery/2021-01/scaled-1680-/msm.png)](https://wiki.evotm.com/uploads/images/gallery/2021-01/msm.png)

As an admin you most likely don't have to worry about creating and editing the match settings profiles, but what might interest you is loading them. The button with the arrow pointing up will load the profile and automatically configure the server. The process for loading match settings is as following:

1. Click the load button on the profile you want to load.
2. Reset the match or skip to the next map to let the changes take effect.

### Quickly changing modes

You can quickly change between time attack, rounds, cup mode etc. by just typing **//mode** and select the mode you want to load. Then reset the match or skip to the next map.