Archiving All Trackmania Team-based Competitions (Addendum)


In the previous post, which explains the reasons and methods for archiving all Trackmania Competition data ever created, I've explained how to do this for competitions, where the type of competition revolves around single players. These are the most common nowadays, but what to do for team-based competitions? This post should answer that.

The differences to the player-based method

What stays the same:

  • The Events Table

The only differences:

  • In the Results Table, we define a team name instead of the PlayerLogin
  • We add another table, which is key to know, which player played for which team in which event

Sounds simple... I hope. Anyway, here's the complete guide for the results:

The modified Results Table

As previously stated, only the PlayerLogin is replaced by the TeamName. You can choose, if you want to enter the team's abbreviation or the full name. We'll have to re-map this later manually anyway.

The columns needed are as follows:

EventID         <int>       A number that is used to assign the results to the event (event table)
Position            <int>       A number that represents the player's position in this event
TeamName        <string>        The team name or abbreviation (must be the same in the team player table)
Prize           <decimal(2)>    Optional - If a prize was given away, enter its value (e.g. "2000" for 2000 planets)

The Team Player Table

This table is a new addition. It is needed to assign players to their respective teams and events they played in. The columns look as follows:

EventID         <int>       A number that is used to assign the player to the event (event table)
TeamName        <int>       The player's team name or abbreviation (must be the same in the results table)
PlayerLogin     <string>        The ingame login of the player - used to connect the results to one player's profile

Note: If a team always played with the same players at all events, this table is still needed to be assigned to each EventID!

This should be all. If further questions arise, leave a comment or contact me via Discord (Ozon#0359).