Skip to content
EvoSC is a modern servercontroller for Trackmania² running on PHP/7.2 or newer.
Branch: master
Clone or download
brakerb Merge pull request #8 from EvoTM/develop
0.66.4 Add music server installation guide to readme
Latest commit 8c9a33f May 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Migrations 0.63.0 Fix loading and adding maps, remove map checksum Apr 17, 2019
config/default 0.66.1 Save speedo and roundtime settings May 11, 2019
.gitignore 0.56.0 Refactor all chat messages Mar 5, 2019 Create Jun 5, 2018 0.66.4 Add music server installation guide to readme May 11, 2019
composer.json 0.64.4 Remove twig template engine Apr 27, 2019
composer.lock 0.64.4 Remove twig template engine Apr 27, 2019
esc 0.64.4 Remove twig template engine Apr 27, 2019


Status GitHub Discord Patreon

A server controller for Trackmania² based on PHP 7.2 with Maniaplanet 4.1 support.

⚠ WARNING: The controller is not ready to run stable on a live server in its current state.


  • PHP 7.2+
  • MySql or MariaDB Server

Installation (git)

  • Composer
  1. Clone project git clone
  2. Go into the directory and run composer install
  3. Copy contents from config/default to config and fill out the required fields
  4. Run php esc migrate to create the database tables.
  5. Run EvoSC
⚠ If the cache and log folder aren't created automatically, you need to create them and restart the controller.

Music server installation

Download the music-server and extract it to your webserver with the ogg-files. Copy the music.config.json from the music-client-module directory to your config directory and set url to the URL of your webserver.


Get all available commands php esc list

Action Description
Run EvoSC In terminal type php esc run (-v|-vv|-vvv)
Import data from UASECO In terminal type php esc import:uaseco {host} {database} {user} {password} optionally add {table_prefix}
Fix player scores and ranking Run php esc fix:scores to re-calculate all scores and fix the player ranks.
Creating a database migration Run php esc make:migration <MigrationClassName>. The migration is saved to to /Migrations. Copy it to your module if necessary.

Basic Documentation


Each module must contain a base class in the esc\Modules namespace and a module.json containing:

  "name": "",
  "description": "",
  "author": "",
  "version": 1.0

Modules can contain Templates, Classes, Models and Database-Migrations. The constructor of the base class is called on controller start, after all controllers have beeb started. Configs are in json format and are located at the base directory of your module. Name it as your-config-file.config.json, it will automatically be loaded on controller-start.

You can’t perform that action at this time.