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.
Warning
EvoSC# is pre-release software. It is not recommended to be used in production environments yet.
Please continue only if you know what you're doing.
Refer to our example docker-compose.yml file. An (incomplete) list of available environment variables can be found here.
Warning
The setup below is strictly meant for development purposes and does not reflect best practices on how to use EvoSC# in a production setting.
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:
TM_MASTERSERVER_LOGIN: "CHANGEME :)" # Create server credentials at https://www.trackmania.com/player/dedicated-servers
TM_MASTERSERVER_PASSWORD: "CHANGEME :)" # Create server credentials at https://www.trackmania.com/player/dedicated-servers
TM_SYSTEM_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/.