Ceci est une ancienne révision du document !



TrackMania Nations Forever

Jeu créé pour Windows uniquement. Ubisoft se refuse effrontément à porter leurs jeux sous Linux. Préférez une alternative Libre présente dans les dépôts. Vous pouvez toutefois y jouer en utilisant Wine. Trackmania fonctionne un peu moins bien sous Linux que sous Windows en qualité maximum, car toutes les fonctions DirectX ne sont pas implémentées dans wine, mais rien de très important.

Trackmania Nations Forever est un jeu gratuit de course automobile orienté arcade. Très simple, il est d'une excellente jouabilité et très rythmé.

On peut noter que Trackmania United Forever, la version complète et payante du jeu, s'installe exactement de la même manière, seul le nom de l'exécutable change.

Il est possible de jouer seul ou à plusieurs localement mais sa popularité vient de son mode en ligne où des centaines de milliers de joueurs se retrouvent sur différents serveurs hébergeant des milliers de pistes de toutes sortes. Vous pouvez d'ailleurs vous-même installer un serveur Trackmania sur votre ordinateur.

Développé pour Windows®, ce jeu fonctionne sous Linux - et donc Ubuntu - grâce à Wine. Un script PlayOnLinux facilite son installation car il permet d'exécuter toutes les manipulations nécessaires automatiquement. Les deux types d'installation, avec et sans PlayOnLinux, sont expliqués ici. Pour installer le jeu via Steam, voir cette page.

Pour créer un serveur dédié Trackmania, tout est expliqué sur la page: serveur Trackmania.

Version antérieure à la 3.0.8

Il est fortement recommandé de mettre PlayOnLinux à jour.

Après avoir préalablement installé playonlinux, installez playonlinux script creator pour l'edition script playonlinux.

Faites attention car des problèmes ont été détectés avec ce script. La meilleur méthode reste de tout installer manuellement sans PlayOnLinux.

Un script PlayOnLinux a été validé, il est disponible à cette adresse : Script. Il suffit de le lancer comme proposé sur la page d'édition de script playonlinux mais je vous conseille d'attendre car le script n'étant pas très au point, et génère des erreurs comme évoqué ci-dessus. Je suis en train de faire une variante pour l'améliorer et le rendre sans erreur.

Version ultérieure à la 3.0.8 (celle actuellement dans les dépots)

Après avoir installé playonlinux, rendez vous dans le gestionnaire de script en cliquant sur installer, rechercher le script correspondant à Trackmania Nations For ever et suivez les instructions.

Cette section explique l'installation de Trackmania à partir de l'installeur de Nadeo. Les instructions pour installer Trackmania Via Steam sont disponibles sur la page trackmania_nations_forever_steam.

Pré-requis

Avoir installé Wine.Installer Wine en 1 clic.

Avoir téléchargé le jeu. C'est un fichier de 504Mo appelé tmnationsforever_setup.exe et disponible à partir de nombreux sites de téléchargement, par exemple ici, ou encore .

Installation

Double-cliquez sur le fichier tmnationsforever_setup.exe. Wine lancera alors le fichier d'installation. Choisissez la langue de l'assistant d'installation et laissez-vous guider.

Ainsi installé, c'est jouable, mais le son est de trés mauvaise qualité, il vous faudra mettre les effets graphiques au minimum et le joystick ne fonctionnera probablement pas. Suivez les indications ci-dessous si vous souhaitez améliorer tout ça.

Résolution de soucis

Le son

Pour que le son fonctionne correctement, il faut remplacer la librairie wrap_oal.dll présente dans le répertoire d'installation (par défaut ~/.wine/drive_c/Program Files/TmNationsForever) par celle-ci: wrap_oal.dll.zip (n'oubliez pas de la dézipper auparavant).

L'image

Pour pouvoir profiter de ce jeu vous devez, soit jouer avec les options video les plus faibles, soit installer DirectX. Sinon, une erreur apparaîtra, signalant que la version de directX n'est pas à jours.

Vous pouvez aussi simplement copier la dll "d3dx9_30.dll" dans votre répertoire de Trackmania. On peut télécharger cette dll sur dll-files.

Problème de joystick

La version de Wine présente actuellement dans les dépôts Hardy comporte un bug introduit dans une ancienne version de Wine qui rend l'utilisation normale d'un joystick/joypad impossible: la direction "gauche" étant interprétée comme "droite" sous certaines conditions. Ce bug étant corrigé dans la version 1.0rc2, il est conseillé à ceux que le clavier ne suffit pas de mettre à jour Wine via les dépôts de WineHQ.

Boîtes de dialogue transparentes

Lorsque les boîtes de dialogue sont transparentes, allez dans la configuration du Launcher et mettez la qualité des shaders en PC1 ou PC0. Avec Wine 1.1.1 (ou version supérieur) en PC2 les boîtes de dialogue s'affichent correctement. Plus besoin de mettre PC1 ou PC0.

Problèmes d'affichage

Lorsque vous jouez, si vous avez des textures qui manquent (tout est noir) et que le jeu plante souvent en retournant des erreurs "GL_OUT_OF_MEMORY", utilisez Wine 1.1.19 (ou version supérieur) . Voir wine pour installer la toute dernière vesion de wine.

Personnellement je joue avec la dernière version de wine, j'ai mis les options en PC2 et le jeu ne plante jamais. ;-)

Jeu lent

Si le jeu devient lent pendant les téléchargements et lorsque vous jouez en ligne, essayez de désactiver le download (onglet Peer-to-peer) dans les options avancées du Launcher.

Avec la version 1.1.22 de wine, le jeu est un peu plus fluide pendant les téléchargements. Voir wine pour installer la toute dernière version de wine.

Reflet de l'eau

Si l'eau ne reflète pas le ciel, mais une texture grise pas très jolie, ouvrez regedit:

 wine regedit 

Allez dans: HKEY_CURRENT_USER → Software → Wine → Direct3D. (Si le dossier Direct3D n'existe pas, créez le. Pour cela, faites clique droit sur le dossier "Wine" et ensuite: Nouvelle → Clé)

Dans le dossier Direct3D, ajoutez des valeurs chaînes (Nouvelle → Valeur chaîne) ou modifiez celles déjà existantes pour obtenir ceci:

Nom Type Valeur Autre possibilité de valeur
DirectDrawRender REG_SZ OpenGL gdi
Multisampling REG_SZ enabled
OffscreenRenderingMode REG_SZ fbo backbuffer
PixelShaderMode REG_SZ enabled
UseGLSL REG_SZ enabled
VertexShaderMode REG_SZ hardware

Vous n'aurez peut être pas besoin de toutes les ajouter pour que le reflet de l'eau soit correcte, essayez vous-mêmes celles qui sont nécessaires. Vous pouvez utiliser les valeurs de la colonne "Autre possibilité de valeur" si celles de la colonne "Valeur" ne fonctionnent pas. Une liste de toutes options est disponible ici pour les personnes qui désirent faire plus d'essais. Avec ces options et la dernière version de wine, vous pouvez jouer en PC3 mais le jeu est un peu lent, même avec une bonne carte graphique. Le mieux est de rester en PC2.

Activer le Multisampling permet de résoudre des problèmes, dont le bug de reflet, mais vous risquez d'avoir des erreurs GLXBadDrawable qui vous obligeront à redémarrer le serveur X (Ctrl+Alt+Backspace)

Améliorer les performances

Un des moyen d'augmenter la fluidité de Trackmania avec wine est de le lancer dans un nouveau serveur X (voir section: Jouer sous un autre serveur X). Sinon vous pouvez aussi démarrer Trackmania avec "WINEDEBUG=-all". Les erreurs n'apparaîtront plus dans le terminal mais cela peut améliorer un peu les performances. Vous pouvez trouver plus d'infos sur cette petite astuce dans la page wine_trucs_et_astuces dans la section ameliorer_les_performances_dans_les_jeux.

 WINEDEBUG=-all wine TmForeverLauncher.exe 

Cette technique permet souvent de résoudre certains problèmes graphiques, et d'améliorer les performances et la fluidité. Pour cela vous devez créer un script qui lancera Trackmania pour vous :

Tout d'abord ouvrez votre éditeur de texte favoris (par exemple Gedit) et copiez y ceci :

#!/bin/sh

export TM_PATH=~/.wine/drive_c/Program\ Files/TmNationsForever   # Chemin d'installation de Trackmania.
export WINE_PATH=~/.wine   # Chemin du dossier de wine à utiliser.

sudo true || ( exit 1 ) # Valider le mot de passe.
sudo X :3 -ac -terminate &   # Démarre un nouveau serveur X.
sleep 2   # Attend 2 secondes que le serveur X soit prêt.
cd "${TM_PATH}"   # Cible le répertoire de Trackmania (celui défini avant).

DISPLAY=:3 WINEPREFIX=$WINE_PATH WINEDEBUG=-all wine TmForeverLauncher.exe -opengl
# Lance Wine et Trackmania avec le paramètre OpenGL sans afficher les erreurs dans le terminal et en utilisant le dossier de wine défini avant.
Pensez à verifier que les chemins indiqués dans le script correspondent à votre installation !

Puis enregistrez le dans votre dossier personnel avec l'extension ".sh" (ex: trackmania.sh)

Vous devez maintenant rendre votre nouveau script executable. Pour cela, tapez ceci dans un terminal :

chmod +x votre_script.sh

Enfin dernière étape, tapez également ceci dans votre terminal (afin d'avoir le son) :

sudo adduser [votre_nom_d'utilisateur_sans_les_crochets] audio

Voila, c'est terminé, vous pouvez maintenant jouer à Trackmania en utilisant la commande:

sh votre_script.sh

Vous devrez ensuite tapper le mot de passe administrateur [sudo] pour avoir le droit de démarrer un nouveau serveur X.

Pour que cette technique fonctionne vous devez décocher l'option "émuler un bureau virtuel" dans le panneau de configuration de wine (winecfg). Pour revenir à votre bureau sans quitter le jeu tapez Ctrl+Alt+F7, et pour rebasculer vers le jeu tapez Ctrl+Alt+F9.

Je pense que beaucoup de monde a déjà fait cette réflexion: c'est vraiment dommage qu'on ne peut pas jouer à Trackmania sur le même ordinateur en écran partagé! Mais avec linux, c'est possible! :-D

Pour jouer en écran partagé, vous devez absolument posséder un joystick, un pad, ou autre manette de jeu. Sans cela, il vous sera impossible de vous déplacer avec tous les joueurs car le clavier peut en contrôler qu'un seul.

Pour commencer, vous devez créer un deuxième profil dans Trackmania (ou plus, car il vous faut un profil par joueur). Pour cela, vérifiez dans les options du Launcher que l'option Profil est sur: Utiliser plusieurs profils. Démarrez le jeu, cliquez sur: Créer un nouveau profil, puis quittez le jeu.

Trackmania refuse de lancer 2 fois le jeu, si vous le démarrez une deuxième fois, ça vous affichera la fenêtre où le premier est lancé. Pour contourner cela, il faut créer plusieurs prefix wine (il en faut un par joueur). Pour cela:

WINEPREFIX=~/.wine_trackmania regedit 

Cette commande va créer un nouveau prefix wine (appelé wine_trackmania) dans votre dossier personnel et ouvre l'éditeur de registre (regedit) pour ce prefix. Si vous voulez modifier le registre pour ce prefix vous pouvez le faire maintenant, par exemple pour mettre des options dans HKEY_CURRENT_USER → Software → Wine → Direct3D. Pour jouer à 3 joueurs, vous devez créer encore un autre prefix wine mais appelez le par exemple: "wine_trackmania2". La commande sera:

WINEPREFIX=~/.wine_trackmania2 regedit 

Maintenant, nous allons créer un script, pour faciliter le lancement de Trackmania en écran partagé. Pour cela créez un nouveau fichier que vous nommez trackmania_multi.sh, par exemple avec nano:

nano trackmania_multi.sh

Voici ce que vous devez écrire dedans:

#!/bin/sh

IFS="\0" 
TRACKMANIA_EXE="TmForever.exe"    # Le nom de l'exécutable Trackmania
TRACKMANIA_DIR="$HOME/.wine/drive_c/Program Files/TmUnitedForever/"    # Le répertoire de Trackmania
WINEPREFIX_JOUEUR1="$HOME/.wine"    # Le prefix wine à utiliser pour le 1er Trackmania lancé
WINEPREFIX_JOUEUR2="$HOME/.wine_trackmania"    # Le prefix wine à utiliser pour le 2ème Trackmania lancé

# Dé-commentez la ligne suivante (enlever le "#" au début) pour ajouter un 3ème joueur
#WINEPREFIX_JOUEUR3="$HOME/.wine_trackmania2"   

cd "$TRACKMANIA_DIR"    # Va dans le répertoire de Trackmania
# Démarre les bureaux wine avec Trackmania
WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR1 wine explorer /desktop=Joueur1  $TRACKMANIA_EXE $* &
WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR2 wine explorer /desktop=Joueur2  $TRACKMANIA_EXE $* &

# Dé-commentez la ligne suivante (enlever le "#" au début) pour ajouter un 3ème joueur
#WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR3 wine explorer /desktop=Joueur3  $TRACKMANIA_EXE $* &

N'oubliez pas de vérifier le chemin d'installation de Trackmania et le chemin vers les prefix wine. Si vous préférer démarrer le Launcher plutôt que directement le jeu, remplacez le nom de l'exécutable par "TmForeverLauncher.exe". Ensuite, rendez ce script exécutable:

chmod +x trackmania_multi.sh

Maintenant, démarrez normalement le Launcher de Trackmania et changez la résolution du plein écran en 800x600 ou une autre taille pour que deux fenêtres de Trackmania puissent passer sur votre écran. Ajustez les préférences si vous le désirez, puis quittez le Launcher.

Exécutez votre script pour démarrer le jeu en écran partagé. Un des deux joueur doit aller dans la configuration des contrôles pour définir les touches de votre manette de jeu. Vérifiez ensuite que la configuration de l'autre joueur n'utilise pas les touches de cette manette.

Vous pouvez ensuite créer un serveur (local ou internet) avec un des deux jeux. Rejoignez ce serveur avec l'autre jeu (via le réseau local, même si vous avez créé le serveur sur internet). Vous pouvez aussi créer un serveur dédié et le rejoindre via le réseau local.

Si vous voulez rejoindre un serveur via internet vous devez utiliser des logins réseau différents pour chaque joueur.

Le deuxième Trackmania lancé n'utilisera pas le port configuré mais le suivant, car le port configuré est déjà utilisé par le premier Trackmania. En conséquence, si vous créez un serveur accessible depuis internet, créez-le avec le premier jeu lancé ou adaptez votre redirection de ports.
Pour gagnez de la place sur votre écran, demandez à votre gestionnaire de fenêtre de masquer les bordures des fenêtres de Wine.

L'installation d'un serveur (qui est compatible linux) est très plaisant surtout si vous avez créé une team ou un club sur ESWC car il existe une version Linux du Serveur dédié Trackmania. Pour plus d'information visitez la page serveur trackmania.

Commandes

Voici les principale touches dont vous aurez besoin pendant le jeu:

Flèches diriger la voiture
Entrée repartir de la dernière porte
Backspace recommencer depuis le début
Tab regarder le classement
² afficher/effacer les noms des adversaires
Touche 0 du pavé numérique klaxon!
o cacher/voir les autres voitures

Personnalisation du pseudo

Pour ajouter des couleurs à votre pseudo, écrivez $fff suivi de votre pseudo (le premier f pour le rouge, le deuxième pour le vert et le troisième pour le bleu). Les valeurs vont de 0 à f (0123456789abcdef). Voici un aperçu de quelques couleurs disponibles:

Vous pouvez aussi utiliser $i pour italique, $w pour gras, $n pour texte serré et $s pour ombré. Si vous voulez écrire un $, vous devez mettre $$. Pour tout réinitialiser, utilisez $z.

Amusez vous bien ;-)

  • trackmania_nations_forever.1256631434.txt.gz
  • Dernière modification: Le 27/10/2009, 09:17
  • par Tails