Créer serveur TrackMania Forever avec Xaseco

Page 1 / 2

MAJ le : 4 Mars 2013 à 14:46

Ce tutoriel va vous permettre d'installer un serveur TrackMania dédié avec un gestionnaire de records (Xaseco). Ce serveur pourra aussi bien être hébergé chez vous que sur un VPS (machine virtuelle sur Internet).

Notes :
- Nous avons entièrement refait ce tutoriel car plusieurs personnes avaient des difficultés pour créer leur propre serveur TrackMania et nous avaient contactés pour qu'on puisse les aider.
- Nous avons créé un nouveau tutoriel concernant l'installation de la nouvelle version "2.2" de WAMP car celui-ci pose problème si les bibliothèques C++ 2010 ne sont pas installées au préalable.
Cliquez ici pour voir le tutoriel concernant WAMP 2.2.

  1. Installer le serveur Web
  2. Installer un éditeur de texte avec coloration syntaxique
  3. Installer le serveur dédié officiel de TrackMania
  4. Tester le serveur dédié
  5. Installer et configurer Xaseco
  6. Tester Xaseco
  7. Widgets d'affichage des records et du bouton menu : Fufi Widgets et Fufi Menu
  8. Routage des ports (NAT)
  9. Test du serveur depuis Internet
  10. FIX pour le plugin dedimania lorsque le serveur dédié est en mode LAN

1. Installer le serveur Web (Requis si vous souhaitez utiliser Xaseco).

Pour cela, vous avez 2 solutions :
- la méthode automatique : "[Apache / PHP / MySQL] WAMP - Installation de WAMP 2.2 et de ses Add-ons"
- la méthode manuelle qui est plus professionnelle : "Installation simultanée de PHP 5 et PHP 4 sur un serveur Windows" (une seule version de PHP et d'Apache est suffisante)

Une fois WAMP installé, Xaseco pourra enregistrer les records locaux (Records effectués par les personnes jouant sur votre serveur TrackMania) dans une base de données MySQL.

2. Installer un éditeur de texte avec coloration syntaxique

Pour que la configuration des fichiers du serveur dédié et de Xaseco soit s-plus clair, nous vous conseillons d'installer un éditeur de texte qui supporte la coloration syntaxique.
Dans ce tutoriel, nous utiliseront le programme "Notepad++" qui est assez connu et très simple à utiliser.

3. Installer le serveur dédié officiel de TrackMania

Téléchargez le serveur dédié officiel de TrackMania : TrackmaniaServer_2011-02-21.zip (Nadeo) (Vérifier les MAJ ici).

Créez un dossier "server-tm" à la racine d'une partition. Par exemple : la partition "c". Puis, décompressez le contenu du fichier téléchargé dans le dossier que vous venez de créer.

Vous obtiendrez ceci. Allez maintenant dans le dossier "GameData" puis "Config".

Faites un clic droit sur le fichier "dedicated.cfg" et cliquez sur "Edit with Notepad ++".

Voici le contenu de ce fichier et ce qu'il faut modifier.

<?xml version="1.0" encoding="utf-8" ?>

<dedicated>
    <authorization_levels>
        <level>
            <name>SuperAdmin</name>
            <password>SuperAdmin</password> * Modifiez le mot de passe du SuperAdmin.
        </level>
        <level>
            <name>Admin</name>
            <password>Admin</password> * Modifiez le mot de passe de l'Admin.
        </level>
        <level>
            <name>User</name>
            <password>User</password> * Modifiez le mot de passe du User.
        </level>
    </authorization_levels>
   
     <masterserver_account>
        <login>informatiweb</login> * Indiquez le nom d'utilisateur du compte TrackMania a utiliser pour héberger votre serveur TM. Ce compte peut être un compte TMNF ou TMUF dedicated Server. Voir note 1
        <password>LE_MOT_DE_PASSE</password> * Indiquez le mot de passe associé à ce compte TrackMania.
        <validation_key></validation_key> * Si il s'agit d'un compte TrackMania United (Forever), indiquez les 3 dernières lettres du numéro de série TMUF. Si vous avez TMNF laissez vide.
    </masterserver_account>
   
    <server_options>
        <name>InformatiWeb</name> * Indiquez un nom de serveur qui apparaitra dans la liste des serveurs en ligne et/ou en réseau local.
        <comment>InformatiWeb Serveur</comment> * Indiquez une description pour votre serveur.
        <hide_server>0</hide_server>                    <!-- value is 0 (always shown), 1 (always hidden), 2 (hidden from nations) -->

        <max_players>32</max_players> * Modifiez si vous le souhaitez le nombre maximum de joueurs (pour éviter les ralentissements par exemple).
        <password></password> * Indiquez un mot de passe pour le serveur si vous le souhaitez, sinon laissez vide.
       
        <max_spectators>32</max_spectators> * Modifiez si vous le souhaitez le nombre maximum de spectateurs.
        <password_spectator></password_spectator> * Indiquez un mot de passe pour le mode spectateur ou laissez vide.
       
        <ladder_mode>forced</ladder_mode>                <!-- value between 'inactive', 'forced' (or '0', '1') -->
        <ladder_serverlimit_min>0</ladder_serverlimit_min>        <!-- Those values will be clamped to the limits authorized on http://official.trackmania.com/tmf-ladderserver/ -->
        <ladder_serverlimit_max>50000</ladder_serverlimit_max>       

        <enable_p2p_upload>True</enable_p2p_upload> *Permet le transfert des avatars personnalisés ainsi que des voitures personnalisées. Attention : cela peut faire lagguer le serveur. True = Oui et False = non
        <enable_p2p_download>True</enable_p2p_download> *Permet le transfert des avatars personnalisés ainsi que des voitures personnalisées. Attention : cela peut faire lagguer le serveur. True = Oui et False = non
       
        <callvote_timeout>60000</callvote_timeout>
        <callvote_ratio>0.5</callvote_ratio>                <!-- default ratio. value in [0..1], or -1 to forbid. -->
        <callvote_ratios>
            <voteratio command="Ban" ratio="0.65"/>
            <!-- commands can be "Ban", "Kick", "ChallengeRestart", "NextChallenge", ... -->
        </callvote_ratios>

        <allow_challenge_download>True</allow_challenge_download>
        <autosave_replays>False</autosave_replays>
        <autosave_validation_replays>False</autosave_validation_replays>

        <referee_password></referee_password>
        <referee_validation_mode>0</referee_validation_mode>        <!-- value is 0 (only validate top3 players),  1 (validate all players) -->

        <use_changing_validation_seed>False</use_changing_validation_seed>
    </server_options>
   
    <system_config>
        <connection_uploadrate>512</connection_uploadrate>        <!-- Kbps (kilo bits per second) -->
        <connection_downloadrate>8192</connection_downloadrate>        <!-- Kbps -->

        <force_ip_address></force_ip_address>
        <server_port>2350</server_port> * Si vous hébergez le serveur sur le même pc que celui ou vous jouez avec TMNF ou TMUF, changez le port en 2352.
        <server_p2p_port>3450</server_p2p_port> * Si vous hébergez le serveur sur le même pc que celui ou vous jouez avec TMNF ou TMUF, changez le port en 3452.
        <client_port>0</client_port>
        <bind_ip_address></bind_ip_address>
        <use_nat_upnp></use_nat_upnp>
       
        <p2p_cache_size>600</p2p_cache_size>

        <xmlrpc_port>5000</xmlrpc_port> * Si vous hébergez le serveur sur le même pc que celui ou vous jouez avec TMNF ou TMUF, changez le port en 5002.
        <xmlrpc_allowremote>False</xmlrpc_allowremote>            <!-- If you specify an ip adress here, it'll be the only accepted adress. this will improve security. -->
       
        <blacklist_url></blacklist_url>
        <guestlist_filename></guestlist_filename>
        <blacklist_filename></blacklist_filename>
       
        <packmask>stadium</packmask> * Laissez stadium si vous utilisez TMNF sinon laissez cette valeur vide pour créer un serveur TMUF (ce qui vous permet d'utiliser tous les environnements existants).

        <allow_spectator_relays>False</allow_spectator_relays>

        <!-- <minimum_client_build>2009-10-01</minimum_client_build> -->

        <!-- <disable_coherence_checks>laps</disable_coherence_checks> -->

        <use_proxy>False</use_proxy>
        <proxy_login></proxy_login>
        <proxy_password></proxy_password>
    </system_config>
</dedicated>

Note 1 : Lorsqu'un compte TrackMania est utilisé pour héberger le serveur dédié, ce même compte ne peut pas être utilisé pour jouer avec le jeu. Dans ce cas, vous obtiendrez une erreur "Vous êtes déjà connecté".
Solution pour les comptes TMNF :
Il suffit de lancer le jeu et de créer un nouveau compte, pour pouvoir l'utiliser pour héberger le serveur.

Solution pour les comptes TMUF :
TrackMania a prévu une fonctionnalité pour créer des logins spécialement conçus pour les serveurs dédiés. Pour cela, connectez-vous sur votre page joueur "player.trackmania.com" et cliquez sur "Dedicated servers". Entrez votre numéro de série TMUF pour pouvoir gérer vos logins "Dedicated servers".
Il ne vous reste plus qu'a indiquer un nom d'utilisateur, un mot de passe et le Pays / Ville de votre serveur.
Attention : Vous êtes limité à 10 logins dedicated server.

Une fois le serveur dédié configuré, nous allons maintenant créer un fichier batch qui vous permettra de lancer le serveur dédié avec la configuration et la playlist souhaitée.
Pour cela, allez dans le menu "Fichier" et cliquez sur "Nouveau".

Puis collez ceci à l'intérieur :
TrackManiaServer.exe /dedicated_cfg=dedicated_cfg.txt /game_settings=MatchSettings/Nations/NationsGreen.txt

Cette commande va dire au serveur dédié
- de charger la configuration du serveur dédié "dedicated_cfg.txt" qui se trouve dans le dossier "GameData\Config" ainsi que
- de charger la playlist "NationsGreen.txt" qui se trouve dans le dossier "GameData\Tracks\MatchSettings\Nations".

Note :
- Par défaut, le serveur est lancé en mode Internet. C'est à dire que votre serveur dédié se connecte au serveur officiel de TrackMania et qu'il s'ajoute dans la liste des serveurs en ligne.
Si vous ne souhaitez pas que votre serveur apparaisse en ligne, alors vous devez le lancer en mode réseau local. Pour cela, il suffit d'ajouter "/lan" (sans les "") après "TrackManiaServer.exe".
Les lignes de commandes sont expliquées dans le fichier "CommandLine.html" présent dans le dossier du serveur dédié.

Enregistrez ensuite ce fichier en "lancer serveur tm.bat".

4. Tester le serveur dédié

Nous allons maintenant tester notre serveur dédié pour vérifier que la configuration soit correcte. Au premier lancement, votre pare-feu vous demandera une autorisation. Cliquez sur "Autoriser l'accès".
S’il ne le fait pas, il faudra le configurer manuellement. Pour cela, lisez notre tutoriel "Configurer le pare-feu Windows et celui des solutions Internet Security".

TrackMania vérifie d'abord le réseau pour déclencher cette alerte du pare-feu et ainsi éviter les problèmes de connexions ultérieurs. Cliquez sur "OK".

Si tout se passe bien, votre serveur ressemblé à ceci.
Voici la description des étapes :
- Starting TmForever v2011-02-21 : lancement du programme serveur
- Initializing : Initialisation du programme
- Configuration file : Nom du fichier de configuration qui va être chargé par le serveur. Le fichier à charger peut être modifier dans le fichier ".bat".
- Loading system configuration / system configuration loaded : Chargement de la configuration système / Chargement effectué
- Loading cache : Chargement du cache pour le serveur
- Listening for xml-rpc commands on port 5000 : Le serveur se met en écoute sur le port 5000 pour recevoir les commandes xml-rpc (commandes utilisées par Xaseco et d'autres)
- Loading dedicated server configuration / server configuration loaded : Chargement du fichier de configuration du serveur dédié / Chargement effectué
- Match settings file : Nom du fichier playlist qui sera chargé par le serveur. Le fichier à charger peut etre modifier dans le fichier ".bat".
- Loading match settings / match settings loaded : Chargement de la playlist / Chargement effectué.
- Autostart server on Internet : Par défaut le serveur est lancé en mode Internet. Ceci peut être modifié dans le fichier ".bat" en ajoutant le paramètre /lan
- Connecting to master server : Connexion au serveur Maitre (officiel) de TrackMania.
- Identifying on master server : Le serveur dédié s'identifie sur le serveur maitre avec les identifiants du compte TrackMania configuré dans le fichier de configuration "dedicated_cfg.txt".
- URL (tmtp://#join=pseudo) : URL tmtp pour se connecter à votre serveur dédié.
- Starting server : Démarrage du serveur TrackMania proprement dit.
- Warning. You seem to be on a private network. Unless you've configured your NAT, the others players on internet will not be ables to join in...
Le serveur vous avertit que vous vous trouvez sur un routeur et qu'il faudra donc router les ports nécessaires (2350, 3450 et 5000 par défaut) pour que les personnes sur Internet puissent se connecter à votre serveur.
IMPORTANT : Cet avertissement ne disparait jamais même lorsque les ports sont router correctement. Attendez le point "8) Routage des ports (NAT)" de ce tutoriel pour que votre serveur soit accessible depuis l'extérieur.
- Loading challenge ... / Load succeeds : Chargement du premier circuit de la playlist / Chargement effectué.
- Starting Match : Lancement de la partie.
- Synchronisation : Le serveur synchronise les joueurs pour que ceux-ci partent au même moment. Cette étape correspond au message attendez svp affiché au début de chaque circuit.
- Play : Le serveur envoi le top aux clients et ceux-ci voit le compteur 3, 2, 1, ... GO s'afficher.

Note : Cette description a pour but de vous aider dans le diagnostiques des problèmes que vous pourriez rencontrer avec votre serveur dédié.

Une fois que le serveur est arrivé à l'étape Play, vous pouvez maintenant lancer "TrackMania Nation Forever" ou "TrackMania United Forever" et allez dans le menu "Jeu à plusieurs".

Cliquez ensuite sur "Sur un réseau local".

Et votre serveur dédié devrait apparaitre dans la liste.

Vous pouvez maintenant voir le nom de votre serveur, sa description son mode de jeu, ainsi que la liste des circuits chargés par le serveur.
Cliquez sur "Rejoindre" pour tester votre serveur.

Si votre pare-feu est configuré correctement, vous devriez pouvoir vous connecter à votre serveur TM.
Par défaut, voici l'apparence du serveur dédié. Avouez que l'interface est très simpliste. Nous allons donc installer "XASECO" pour pouvoir gérer les records et 2 plugins qui vous permettrons d'afficher les records en temps réel, ...

5. Installer et configurer Xaseco

Téléchargez XASECO sur le site officiel.

Puis créez un dossier "xaseco" dans le dossier "server-tm" et décompressez le contenu du fichier téléchargé à l'intérieur.

Voilà par défaut, le contenu du dossier "XASECO".

Allez dans le dossier "newinstall" et faites une copie des fichiers de ce dossier.

Retournez ensuite dans le dossier XASECO, et collez les fichiers que vous venez de sélectionner.

Le dossier de XASECO ressemble maintenant à ceci.

Pour éviter les erreurs PHP, vous devez aussi copier les fichiers "jfreu.config.php", "rasp.settings.php" et "votes.config.php" dans le dossier "server-tm\xaseco\includes".

 

Nous allons maintenant configurer XASECO. Pour cela, commencez par faire un clic droit sur le fichier "adminops.xml" et cliquez sur "Edit with Notepad++".

Comme vous pouvez le voir, c'est ce fichier qui va vous permettre de définir des Admin et des Operator. Vous pouvez si vous le souhaitez modifier le nom du affiché à la place de "MasterAdmin", ...

Pour ajouter un Admin, il suffit d'ajouter la ligne suivante après la balise "<admins>" :
<tmlogin>Pseudo_TrackMania</tmlogin> <ipaddress></ipaddress>

Pour ajouter un Opérateur, il suffit d'ajouter la ligne après la balise "<operators>".

Les MasterAdmin doivent être configurés dans le fichier "config.xml" contrairement aux Admin et aux opérateurs.

Passons maintenant au fichier "config.xml".

Au début de ce fichier vous pourrez ajouter un ou plusieurs MasterAdmin mais vous devez au minimum en définir un.

Puis tout en bas de ce même fichier, vous devrez indiquer le mot de passe du "SuperAdmin". Il ne s'agit pas d'un compte TrackMania mais du compte "SuperAdmin" du serveur dédié. Le mot de passe de ce compte se trouve dans le fichier de configuration du serveur dédié "dedicated_cfg.txt".
Note : Modifier le port 5000 si vous l'avez modifié dans le fichier "dedicated_cfg.txt".

Passons maintenant au fichier "dedimania.xml". Ce fichier va vous permettre de configurer votre serveur TM pour que XASECO se connecte au serveur dédimania qui centralise les records de tous les joueurs dans le monde entier.

Pour cela, vous devez vous identifier sur le serveur de dédimania avec le même compte TrackMania que pour le serveur dédié.

Exemple :
<masterserver_account>
<login>informatiweb</login>
<password>LE_MOT_DE_PASSE_DU_COMPTE_TM</password>
<nation>BEL</nation> <!-- Les 3 lettres qui correspondent au pays dans lequel vous êtes -->
</masterserver_account>

Note : Si vous ne savez pas le code à 3 lettres de votre pays, allez sur Wikipedia.

Passons ensuite au fichier "localdatabase.xml" qui permettra à XASECO d'enregistrer les records des joueurs (de votre serveur) dans la base de données MySQL.
Note : Le serveur MySQL est installé automatiquement par WAMP.

Par défaut, les identifiants d'un serveur MySQL sont :
- mysql_server (Hôte) : localhost (ou 127.0.0.1, c'est pareil).
- mysql_login (Nom d'utilisateur) : root
- mysql_password (mot de passe) : (vide)
- mysql_database (base de données dans laquelle les records seront enregistrés) : aseco

La base de données doit être créée manuellement, pour cela nous utiliserons PHPMyAdmin

Ensuite, configurez le fichier batch (.bat) pour indiquer à XASECO où se trouve le dossier de PHP (installé par WAMP) ainsi que ses extensions.

Si vous avez installé WAMP, le chemin ressemblera à ceci :
set INSTPHP=C:\wamp\bin\php\php5.3.13

Note : Depuis la version 5 de PHP, le dossier des extensions a été renommé en "ext". Il faut donc modifier la ligne en orange en :
PATH=%PATH%;%INSTPHP%;%INSTPHP%\ext

Et enfin, pour terminer la configuration de XASECO, nous allons créer la base de données MySQL dont il a besoin. Pour cela, cliquez sur l'icône de WAMP (à coté de l'heure) et cliquez sur "phpMyAdmin".

La page suivante s'ouvre. Cliquez sur "Base de données" dans la barre du haut.

Indiquez ensuite "aseco" dans la case et cliquez sur "Créer". Maintenant que votre base de données (vierge) est créée, XASECO s'occupera du reste (la création de la structure et l'enregistrement des records).