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.

Pour installer le serveur dédié Trackmania

  • Créer un dossier pour le serveur Trackmania et se placer dedans. Dans un terminal, faites les commandes suivantes :
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
  • Pour pouvoir lancer le serveur facilement, créez un script nommé RunTrackmaniaServer.sh.
  • 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
  • Pour démarrer le serveur, on utilise la commande suivante:
./RunTrackmaniaServer.sh

Script ''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''

  • 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>
Les règles alternatives sont une autre manière de compter les points.

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 &apos; )

	<challenge>
		<file>Campaigns\Nations\White\A15-Speed.Challenge.Gbx</file>
	</challenge>
</playlist>

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.

La première personne qui se connecte à votre serveur et qui tape une commande devient automatiquement administrateur. Pour ajouter d'autres administrateurs, il faut utiliser /admin addlogin [nom_du_login].

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! ;-)

FIXME (Cette section n'est pas finie !)

Dépendances

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/
  • serveur_trackmania.txt
  • Dernière modification: Le 07/02/2013, 13:22
  • (modification externe)