Table des matières

, ,

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 
wget files2.trackmaniaforever.com/TrackmaniaServer_2011-02-21.zip 
unzip TrackmaniaServer_2011-02-21.zip
#!/bin/sh

./TrackmaniaServer /dedicated_cfg=dedicated.cfg /game_settings=MatchSettings/Nations/NationsBlue.txt /lan
chmod +x RunTrackmaniaServer.sh
cp ~/TMServeur/GameData/Config/dedicated_cfg.txt ~/TMServeur/GameData/Config/dedicated.cfg
./RunTrackmaniaServer.sh

Configuration du serveur

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

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

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>

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

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>

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>

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.

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

aseco gestionnaire serveur Trackmania

FIXME (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/

Voir aussi


Contributeurs : les contributeurs d'Ubuntu-fr.