-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Trakman is a Trackmania Forever based server controller written in TypeScript/JavaScript.
The point of this project is not to "replace" any other server controller that was developed for the game in its 15+ years of existence, but to provide a faster, modern alternative that is easier to set up and get running.
The development initially started as somewhat of a joke, but as we started bringing it up more often, we figured it might not be a bad idea to try it out and see where it gets us.
We started off thinking that we are only going to rewrite/optimize most of XASECO, which is the most used and known server controller at the time. However, that did not turn out to be the case, as XASECO (fka ASECO/RASP) was conceived nearly 12 years ago, and by today's standards it is considered ancient by many.
Trakman is different from any other Trackmania Forever server controller purely based upon the overall looks, ease of use, and its many features.
One of the main differences is the overall look of the UI system, which was developed completely from scratch, using custom images (this approach has certain drawbacks), and without implementing the basic manialink styles.
We have made making and configuring widgets much easier, as they are now not solely dependent on XML code, but rather more on built-in controller utilities. Modifying the appearance and placement of existing widgets, as well as adding simple elements to the interface, can be accomplished easily with very basic (or lack thereof) programming knowledge (see the UI configuration and development page).
A more obvious change is the language that the controller is written in - TypeScript, which is faster, more straightforward to setup, develop with, and run than PHP.
It is no longer necessary to search through multiple XML configs and/or hardcoded values inside several source code files to find the right options, since all of the configuration options needed to launch the controller are stored in the .env
file, with component configs having clear naming and being right beside the source files they modify.
Trakman provides a wide range of utilities specifically designed to simplify the process of plugin development. If you wish to make your own plugins, we advise you to look at the plugin development tutorial.