Serveur Trackmania sous GNU/Linux
Nous allons voir comment installer et faire fonctionner un serveur dédié pour Trackmania sous GNU/Linux (voir Trackmania Nations Forever). Nous verrons aussi l'utilisation de Fast 3.
Téléchargement et installation du serveur Trackmania
Pour installer le serveur dédié Trackmania
cd ~ mkdir TMServeur cd TMServeur
- Télécharger le fichier compressé du serveur et le décompresser dans le répertoire.
wget files2.trackmaniaforever.com/TrackmaniaServer_2011-02-21.zip unzip TrackmaniaServer_2011-02-21.zip
- Voici un exemple. Pour plus d'options, il est vivement recommandé de voir la section Configuration du serveur.
#!/bin/sh ./TrackmaniaServer /dedicated_cfg=dedicated.cfg /game_settings=MatchSettings/Nations/NationsBlue.txt /lan
- Rendre le script exécutable
chmod +x RunTrackmaniaServer.sh
- Copier le fichier de configuration original.
cp ~/TMServeur/GameData/Config/dedicated_cfg.txt ~/TMServeur/GameData/Config/dedicated.cfg
- Il faut impérativement modifier le fichier
dedicated.cfg
(voir section Configuration du serveur).
- Pour démarrer le serveur, on utilise la commande suivante:
./RunTrackmaniaServer.sh
Configuration du serveur
Script ''RunTrackmaniaServer.sh''
- Éditer votre fichier
RunTrackmaniaServer.sh
;
Explication des options essentielles
/dedicated_cfg=dedicated.cfg
Spécifie quel est le fichier de configuration. (Il doit être dans ~/TMServeur/GameData/Config/)
/game_settings=MatchSettings/Nations/NationsBlue.txt
Spécifie le fichier des options du jeu. (Regardez dans ~/TMServeur/GameData/Tracks/MatchSettings/ pour en trouver d'autres. Vous pouvez aussi en créer des vous-même et les placer dans ~/TMServeur/GameData/Tracks/MatchSettings/.)
Options très utiles
/nodaemon (pour que le processus ne soit pas détaché, cela évite de devoir tuer le serveur avec la commande kill
, un simple Ctrl+C
est suffisant)
/internet (pour que le serveur soit sur internet et pas seulement en LAN)
/lan (À l'inverse, pour que le serveur soit uniquement en LAN)
Autres options
Une liste complète des options se trouve dans ~/TMServeur/Readme_Dedicated.html. En voici une ou deux:
/login=xxx (définit votre login
Trackmania, remplace la valeur qui se trouve dans dedicated.cfg
)
/password=xxx (définit votre password
Trackmania qui va avec votre login
, remplace la valeur de dedicated.cfg
)
/servername=xxx (nom de votre serveur, remplace la valeur de dedicated.cfg
)
Fichier de configuration ''dedicated.cfg''
- Éditer le fichier ~/TMServeur/GameData/Config/dedicated.cfg ;
- On commence par modifier les mots de passe. Vous pouvez mettre ce que vous voulez.
<authorization_levels> <level> <name>SuperAdmin</name> <password>toto</password> </level> <level> <name>Admin</name> <password>tata</password> </level> <level> <name>User</name> <password>asdf</password> </level> </authorization_levels>
- Pour Trackmania Nations Forever:
Le compte masterserver est un compte Trackmania Nations classique, je vous conseille d'utiliser deux comptes différents : un pour le serveur et un pour jouer.
<masterserver_account> <login>votre_login_serveur</login> <password>xxxxxx</password> <nation>FRA</nation> </masterserver_account>
- Pour Trackmania United Forever:
- Il faut créer un deuxième login TMU uniquement pour votre serveur, pour cela, allez sur https://official.trackmania.com/tmf-dedicated/ . On vous demande un login et un password, entrez celui que vous utilisez pour jouer en ligne. Ensuite, vous devez entrez votre clé TMU (celle qui devrait être dans la boîte du jeu). Remplissez les cases Server login, Server password et choisissez votre région. Cliquez sur Save this Server pour créer votre nouveau login.
- Vous pouvez maintenant remplir les options du fichier de configuration avec votre login pour serveur dédié et le mot de passe qui va avec, ainsi que votre clé TMU.
<masterserver_account> <login>votre_nouveau_login_tmu</login> <password>xxxxxx</password> <validation_key>XXXX-XXXX-XXXX-XXXX-XXX</validation_key> </masterserver_account>
- On arrive aux paramètres de base du serveur.
Dans <name> vous pouvez changer le nom de votre serveur. Vous pouvez utiliser des couleurs avec les balises ($f00). Plus d'infos ici. Vous pouvez aussi Changer le message de bienvenue (celui qui s'affiche lorsqu'on clique sur votre serveur), le nombre de joueur max et de spectateurs max, le mot de passe joueur et spectateur, choisir si votre serveur sera au ladder ou pas. (inactive = non et forced = forcé).
<server_options> <name>$f00Serveur</name> <comment>bienvenue</comment> <max_players>50</max_players> <password></password> <max_spectators>2</max_spectators> <password_spectator></password_spectator> <ladder_mode>normal</ladder_mode> // value between 'inactive', 'normal' and 'forced' (or '0', '1', '2') <enable_p2p_upload>True</enable_p2p_upload> <enable_p2p_download>True</enable_p2p_download> <callvote_timeout>60000</callvote_timeout> <callvote_ratio>0.5</callvote_ratio> <allow_challenge_download>True</allow_challenge_download> </server_options>
- Et voilà les options de connexion.
Il faut changer <connection_downloadrate> et <connection_uploadrate> en fonction de votre connexion internet. Ensuite, on peut éventuellement changer le port pour les requête XML, personnellement je n'y ai pas touché. Par contre, mettez <xmlrpc_allowremote> sur True (par défaut False). J'ai aussi changé les ports du serveur (<server_port> et <server_p2p_port>) et je les ai ouvert sur mon routeur. Définissez le packmask (par exemple: nations) ou laissez simplement vide pour jouer n'importe quel type de circuit.
<system_config> <connection_uploadrate>512</connection_uploadrate> <!-- Kb/s --> <connection_downloadrate>8192</connection_downloadrate> <!-- Kb/s --> <force_ip_address></force_ip_address> <server_port>2352</server_port> <server_p2p_port>3452</server_p2p_port> <client_port>0</client_port> <xmlrpc_port>5000</xmlrpc_port> <xmlrpc_allowremote>True</xmlrpc_allowremote> // if you specify an ip adress here, it'll be the only accepted adress. this will improve security. <bind_ip_address></bind_ip_address> <force_ip_address></force_ip_address> <use_proxy>False</use_proxy> <proxy_login></proxy_login> <proxy_password></proxy_password> <blacklist_url></blacklist_url> <packmask></packmask> </system_config>
Votre serveur est enfin opérationnel. Démarrez-le avec le script RunTrackmaniaServer.sh
.
Fichiers ''MatchSettings''
Méthode simple
Pour créer facilement un fichier MatchSettings
personnalisé, démarrez Trackmania. Dans le menu, allez dans "Jeu à Plusieurs", puis dans "Sur un réseau local". Créez un serveur à l'aide du bouton en bas à gauche, choisissez les paramètres du serveur, tel que le mode de jeu, le nombre de joueurs max, la limite de point, etc. Cliquez sur "Lancer". Ensuite, cliquez en bas à gaucher sur "Mes Circuits" ou sur "Circuits téléchargés" puis choisissez les circuits que vous voulez ajouter. Pour finir, cliquez en bas à gauche sur "Sauver réglages" et indiquez le nom du fichier MatchSettings
personnalisé.
Votre fichier MatchSettings
sera alors enregistré dans "~/TrackMania/Tracks/MatchSettings/". Je vous conseille de créer un lien symbolique pour accéder aux fichiers MatchSettings de votre jeu depuis le serveur. Pour cela:
ln -s ~/TrackMania/Tracks/MatchSettings ~/TMServeur/GameData/Tracks/MatchSettings/Trackmania
Pour démarrer le serveur avec votre fichier MatchSettings
personnalisé, modifiez le lanceur et indiquez: /game_settings=MatchSettings/Trackmania/votre-fichier-matchsettings.txt
Méthode "à la main"
Ouvrir un fichier MatchSettings
existant, par exemple:
nano ~/TMServeur/GameData/Tracks/MatchSettings/Nations/NationsWhite.txt
Le mode de jeu est défini par une valeur de 0 à 5. Voici les différents modes: 0 = Par Tours, 1 = Contre la montre, 2 = Équipe, 3 = Boucle, 4 = Stunts, 5 = Coupe.
<gameinfos> <game_mode>0</game_mode>
La durée d'affichage du chat et des scores à la fin d'une course. Le temps est en millisecondes (10000 = 10 secondes).
<chat_time>10000</chat_time>
Temps maximum de jeu après l'arrivée du premier joueur
<finishtimeout>1</finishtimeout>
Nombre de tours d'échauffement à effectuer avant chaque course.
<allwarmupduration>1</allwarmupduration>
Pour désactiver ou activer les respawn:
0 = Respawn activé.
1 = Impossibilité de faire enter
pour revenir au dernier checkpoint
pendant la course.
<disablerespawn>0</disablerespawn>
Oblige l'affichage des voitures adverses: 0 = Possibilité pour les adversaires d'utiliser la toucher "o" pour masquer les autres joueurs. 1 = Forcer l'affichage des adversaires.
<forceshowallopponents>0</forceshowallopponents>
Options spécifiques au mode Par Tours
: Limite de points, Régles alternatives, forcedlaps et Limite de points si Régles alternative est activé.
<rounds_pointslimit>30</rounds_pointslimit> <rounds_usenewrules>0</rounds_usenewrules> <rounds_forcedlaps>0</rounds_forcedlaps> <rounds_pointslimitnewrules>5</rounds_pointslimitnewrules>
Options spécifiques au mode Équipe
: Limite de points, Maximum de points d'une équipe, Régles alternatives et Limite de points si Régles alternatives est activé
<team_pointslimit>50</team_pointslimit> <team_maxpoints>6</team_maxpoints> <team_usenewrules>0</team_usenewrules> <team_pointslimitnewrules>5</team_pointslimitnewrules>
Options spécifiques aux modes Contre la montre
et Stunts
: Limite de temps (en millisecondes) et Démarrage synchronisé.
<timeattack_limit>180000</timeattack_limit> <timeattack_synchstartperiod>0</timeattack_synchstartperiod>
Options spécifiques au mode Boucle
: Nombre de tours et Limite de temps (en millisecondes).
<laps_nblaps>5</laps_nblaps> <laps_timelimit>300000</laps_timelimit>
Options spécifiques au mode Coupe
: Limite de points, Rounds par circuit, Nombre de gagnants et Durée de la phase d'échauffement.
<cup_pointslimit>100</cup_pointslimit> <cup_roundsperchallenge>5</cup_roundsperchallenge> <cup_nbwinners>3</cup_nbwinners> <cup_warmupduration>2</cup_warmupduration> </gameinfos>
Options spécifiques au mode hotseat (partie à plusieurs joueurs sur le même ordi): Mode de Jeu (valeur de 0 à 5), Limite de temps (en millisecondes) et rounds_count.
<hotseat> <game_mode>0</game_mode> <time_limit>300000</time_limit> <rounds_count>5</rounds_count> </hotseat>
Filtres:
Le fichier MatchSettings
est-il utilisable pour le mode: à plusieurs sur un réseau local, Jeu en sur internet, Solo, Hotseat? (0 = non, 1 = oui)
<random_map_order> permet de jouer les courses dans un ordre aléatoire.
<filter> <is_lan>1</is_lan> <is_internet>1</is_internet> <is_solo>0</is_solo> <is_hotseat>0</is_hotseat> <sort_index>7</sort_index> <random_map_order>0</random_map_order> <force_default_gamemode>0</force_default_gamemode> </filter>
Circuits à jouer, vous pouvez en ajouter plusieurs, l'option <ident> n'est pas obligatoire. Si vous avez des caractères spéciaux dans le nom de fichier, cette page peut vous aider: http://w3schools.com/tags/ref_entities.asp (par exemple, un apostrophe devra s'écrire '
)
<challenge> <file>Campaigns\Nations\White\A15-Speed.Challenge.Gbx</file> </challenge> </playlist>
Utilisation de Fast 3
Pour ajouter d'autres améliorations à votre serveur, rendez-vous ici. Nous allons voir en détail comment utiliser Fast 3.
Dépendances
Il vous faut php5. Installez le paquet php5-cli.
Installation
Allez dans le dossier du serveur Trackmania.
cd ~/TMServeur
Téléchargez et décompressez Fast 3.
wget http://slig.free.fr/fast3.2/fast3.2.2c-winphp5.zip unzip fast3.2.2c-winphp5.zip
Utilisation
(Le lisez-moi est ici)
Pour démarrer Fast 3, tapez la commande:
php5 fast.php GameData/Config/dedicated.cfg
Une fois que Fast 3 est lancé, vous pouvez contrôler votre serveur directement depuis le jeu. Lancez Trackmania et connectez-vous à votre serveur. Faites espace (comme pour parler) et tappez votre commande: /help (pour afficher la liste des commandes). La liste complète est ici.
Le serveur se connecte à Dedimania pour récupérer les records, allez faire un tour sur le site.
Voilà, Fast 3 est opérationnel, amusez-vous bien sur votre nouveau serveur!
aseco gestionnaire serveur Trackmania
(Cette section n'est pas finie !)
Dépendances
Pour pouvoir installer aseco il vous faut mysql, apache et php5.
Installez les paquets apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql phpmyadmin php5 php5-gd php5-cli php5-cgi.
Installation
Dans un terminal, faites les commandes suivantes :
cd /usr/games/tmnf wget http://surfnet.dl.sourceforge.net/sourceforge/aseco/asecotmf_216.zip unzip asecotmf_216.zip cp newinstall/* /usr/games/tmnf/