EvoSC# (spoken: EvoSC Sharp) is a server controller for Trackmania 2020 dedicated servers.
It has been written from the ground up to be modular, performant and easy to use.
It is currently still in development, so expect braking changes to happen at any time.
The goal of this server controller is to replicate the functionality of the existing EvoSC and expand on it.
In general, we want to make it more user-friendly, more robust and generally also implement functionality that users have long wished for but we weren't able to implement in the older version due to Technical Debt.
For a roadmap of planned features and what we're currently working on, have a look at the Project board.
- WE WILL NOT BE RESPONSIBLE FOR ANY DAMAGE OR DATA LOST DUE TO USAGE OF THIS SOFTWARE.
- DO NOT USE IN A PRODUCTION SCENARIO, THE SOFTWARE IS STILL HEAVILY IN DEVELOPMENT.
- DO NOT ASK FOR ASSISTANCE IN USING THE SOFTWARE IN ITS UNFINISHED STATE.
To setup a development environment for EvoSC#, we recommend having Docker installed and using the following Docker Compose template. It sets up a TM2020 dedicated server for you as well as all the required other services.
version: "3.8"
services:
trackmania:
image: evoesports/trackmania
ports:
- 2350:2350/udp
- 2350:2350/tcp
- "5001:5000/tcp" # Be careful opening XMLRPC! Only if you really need to.
environment:
MASTER_LOGIN: "CHANGEME :)" # Create server credentials at https://www.trackmania.com/player/dedicated-servers
MASTER_PASSWORD: "CHANGEME :)" # Create server credentials at https://www.trackmania.com/player/dedicated-servers
XMLRPC_ALLOWREMOTE: "True"
volumes:
- UserData:/server/UserData
db:
image: postgres
restart: always
ports:
- "5432:5432"
volumes:
- PostgresData:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=evosc
#- POSTGRES_USER=CHANGEME :) for a production server please change those values!
#- POSTGRES_DB=CHANGEME :)
pgadmin:
image: dpage/pgadmin4
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
PGADMIN_DEFAULT_EMAIL: PLEASE@CHANGE.ME
PGADMIN_DEFAULT_PASSWORD: CHANGEME
ports:
- "8081:80"
volumes:
UserData: null
PostgresData: null
We also have a documentation of the current code base available at https://evosc.io/.