Tutoriel - (Linux) Un Serveur TrackMania Nations

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Version en ligne (../../../www.siteduzero.

com/informatique/tutoriels/linux-un-serveur-
trackmania-nations)

Tutoriel : [Linux] Un serveur


TrackMania Nations
Table des matières
[Linux] Un serveur TrackMania Nations
Installer le serveur
Configurer le serveur

[Linux] Un serveur TrackMania Nations


Bonjour,
ayant eu quelques di!icultés pour installer mon serveur TrackMania Nations la toute première
fois, je vais vous apprendre à l'installer et à le configurer.

Les commandes utilisées dans ce tutoriel sont détaillées pour une meilleure
compréhension de celles-ci.

Installer le serveur

Cette partie va uniquement être faite avec la console. Ne faites les opérations graphiquement
seulement si vous êtes certains que ce soit l'équivalent console !

Pour les personnes qui ne sont pas connectées avec l'utilisateur root, rajoutez sudo devant
chaque commande ; ou utilisez la commande sudo su une fois.

Créer un nouvel utilisateur


Pour installer ce fameux serveur, nous allons tout d'abord créer un nouvel utilisateur. Pour ce faire,
nous allons utiliser la commande useradd.
Ouvrez votre console. Que voulons-nous :

Créer un utilisateur

Lui attribuer un espace personnel

Lui attribuer un mot de passe


:
Explorons cette commande. Pour ce faire, tapez tout simplement useradd. (vous pouvez également
utiliser man useradd si vous voulez de plus amples informations)
Voici ce que vous obtenez habituellement :

Usage: useradd [options] LOGIN

Options:
-b, --base-dir BASE_DIR base directory for the new user account
home directory
-c, --comment COMMENT set the GECOS field for the new user account
-d, --home-dir HOME_DIR home directory for the new user account
-D, --defaults print or save modified default useradd
configuration
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP for the new user account
-G, --groups GROUPS list of supplementary groups for the new
user account
-h, --help display this help message and exit
-k, --skel SKEL_DIR specify an alternative skel directory
-K, --key KEY=VALUE overrides /etc/login.defs defaults
-m, --create-home create home directory for the new user
account
-o, --non-unique allow create user with duplicate
(non-unique) UID
-p, --password PASSWORD use encrypted password for the new user
account
-r, --system create a system account
-s, --shell SHELL the login shell for the new user account
-u, --uid UID force use the UID for the new user account

Rappelons-nous, nous voulons un utilisateur, nous voulons lui attribuer un mot de passe et un
répertoire personnel.
Intéressons-nous alors à ces trois options suivantes :

--create-home

--password

Que font-elles ? Si nous traduisons leur description, nous obtenons :


--create-home créée le répertoire d'accueil pour le compte du nouvel utilisateur.
--password utilise un mot de passe encrypté pour le compte du nouvel utilisateur.

Et, qu'avons-nous ? Exactement ce que nous recherchions, un répertoire personnel pour celui-ci et un
mot de passe.

Nous obtenons alors la commande finale :


:
useradd -m -p mot_de_passe tmn

Vous remarquerez que je n'ai pas utilisé les grandes options telles que --create-home, mais
que je les ai substituées par leur équivalent; ainsi, toutes les longues options se remplacent la
plupart du temps par une lettre.

Voilà, notre utilisateur est créé !

Télécharger le serveur

Changer de répertoire
Pour ce faire, nous allons utiliser la commande wget.
Explorons à nouveau cette commande, cette fois-ci, nous n'allons pas taper wget seul, mais wget --
help. (Essayez wget seul pour voir)
Normalement, vous obtenez plusieurs longues lignes que je ne copierai pas ici vu leur longueur. Ici,
une seule option est susceptible de nous intéresser qui est : -output-document (-O). Je cite :

-O, --output-document=FICHIER écrire les documents dans le FICHIER.

Cette commande va définir l'emplacement de téléchargement du fichier voulu.


Mais allant utiliser cet emplacement par après, nous allons tout de suite nous y rediriger.
Pour cela, utilisons la commande cd, qui n'a rien de particulièrement intéressant à nous montrer
c'est pourquoi nous n'allons pas l'explorer. Une seule chose à savoir, cd signifie Change Directory,
soit changer de répertoire.

Exécutons-nous alors :

cd /home/tmn/www

Il y a maintenant deux possibilités, soit vous avez correctement changé de répertoire, dans ce cas là,
passez directement à "Télécharger le serveur" ; sinon, si une erreur apparaît (habituellement -bash:
cd: /home/tmn/www: Aucun fichier ou répertoire de ce type), tapez :

mkdir /home/tmn/www

Je n'exposerai pas le fonctionnement de cette fonction dans la mesure où vous ne devriez pas en
avoir besoin dans l'immédiat.

Télécharger le serveur
Pour télécharger le serveur, nous allons utiliser la commande wget, Web Get, littéralement, obtenir
du Web.
Téléchargeons alors notre fichier :
:
wget http://slig.free.fr/TM/dedicated/TmDedicatedServer_2006-05-30.zip

Le téléchargement s'e!ectue, et vous pourrez à nouveau lancer des commandes lorsque le préfixe de
commande réapparaîtra.

Extraire le tout
Comme vous avez pu le constater, le fichier téléchargé est un fichier compressé en zip. Pour l'extraire,
nous avons besoin de la commande unzip.

Seules les archives en zip peuvent être extraites par la commande unzip, il existe d'autres
commandes pour les autres types d'archives.

Encore une fois, nous n'allons pas nous attarder sur cette commande, n'ayant rien de particulier à
nous annoncer. (Si vous voulez tout de même en apprendre plus, tapez unzip).
Extrayons enfin notre fichier :

unzip TmDedicatedServer_2006-05-30.zip

Pour ne pas faire d'erreur, nous allons voir quel dossier a été créé à la suite de cette extraction. Pour
cela, utilisons la commande ls. (que je n'ai, une fois de plus, pas besoin de détailler ici)
Tapez ls, vous obtenez normalement :

TmDedicatedServer

Dirigeons-nous vers ce répertoire. Je vous le rappelle, pour changer de répertoire, il faut utiliser la
commande cd vue plus haut. Donc :

cd TmDedicatedServer/

Explorons son contenu, avec une fois de plus la commande ls. Nous obtenons alors :

ClientCommandLine.txt GameData Logs RunTrackm


aniaNations.bat TrackManiaServer
dedicated.cfg ListCallbacks.html Readme_Dedicated.html RunTrackm
aniaNations.sh TrackManiaServer.exe
Default.SystemConfig.Gbx ListMethods.html RemoteControlExamples

Configurer le serveur

Installer un serveur web


:
Pourquoi un serveur web me demanderez-vous ?
Certains fichiers de configuration sont codés en PHP. C'est-à-dire, que notre serveur devra pouvoir
interpréter le PHP.
Un tuto très pratique a déjà été créé, c'est pourquoi je vous invite à vous y rendre : PHP sous Linux :
XAMPP (http://www.siteduzero.com/tuto-3-19837-1-php-sous-linux-xampp.html).

Pour modifier un fichier, il faut utiliser une commande telle que vi.

Utiliser la commande vi
Pour utiliser la commande vi, vous devez savoir plusieurs petites choses.
Ouvrir un fichier pour l'éditer :

vi nom_du_fichier

Pour écrire dans ce fichier, vous devez appuyer sur la touche Inser (ou une équivalente) de votre
clavier.

Pour arrêter d'écrire, vous devez appuyer sur la touche Echap (ou une équivalente) de votre clavier.
Pour quitter l'éditeur sans enregistrer, vous devez taper (après avoir appuyé sur Echap) :q et appuyer
sur la touche Entrée (ou une équivalente) de votre clavier.
Pour quitter l'éditeur en enregistrant les modifications e!ectuées sur le fichier, vous devez taper
(après avoir appuyé sur Echap) :wq et appuyer sur la touche Entrée (ou une équivalente) de votre
clavier.

N'oubliez pas de choisir /home/tmn/www comme répertoire racine de votre serveur.

Configurer le serveur via le fichier PHP


Vous rappelez-vous du dernier ls que nous avons e!ectué ? Nous avions un dossier
RemoteControlExamples (Ce qui signifie, exemples de contrôle à distance).
Ouvrons le ! (cd RemoteControlExamples/ et ls) Habituellement, vous devriez avoir trois dossiers : c,
GameController.Net et PhpRemote.
Je vous épargne d'explorer les deux premiers, ils nous seront inutiles. Mais intéressons-nous au
troisième ; ne vous ai-je pas fait installer un serveur Web ? et là nous avons un dossier PhpRemote... y
aurait-t-il des fichiers PHP à l'intérieur ? Pourquoi ne pas l'explorer ?
Eh bien, une fois de plus, explorons le dossier.

cd PhpRemote/
ls

Vous avez, si tout s'est bien passé ces trois fichiers : basic.php, GbxRemote.inc.php et
ListMethods.php . Ici, je vous l'accorde, c'est bien di!icile de savoir lequel est le bon, mais n'avez-
vous pas une attirance particulière vers basic.php ?
:
Dépêchons-nous de l'ouvrir avec notre serveur Web ! Rendez-vous à l'adresse :
http://adresse_de_la_machine/TmDedicat [...] ote/basic.php
(http://adresse_de_la_machine/TmDedicatedServer/RemoteControlExamples/PhpRemote/basic.php)
(si vous êtes chez vous, remplacez adresse_de_la_machine par localhost)

OUARRRGH o_O Mais c'est quoi ce truc ? o_O

Cette page vous o!re déjà un grand contrôle sur votre serveur, lorsqu'il est lancé, mais aussi éteint.
En premier lieu, je vous conseille très vivement de changer le mot de passe d'Admin et de
SuperAdmin, ce sont eux qui pourront tout faire sur votre serveur.
Pour changer leur mot de passe, vous devez remplir le champ Set new password :, et choisir dans le
menu déroulant à quel utilisateur vous souhaitez changer le mot de passe.
Cliquez enfin sur ChangeAuthPassword.

Mais, je ne me suis pas authentifié, tout le monde peut le faire alors, non ?

Oui et non, lorsque vous arrivez sur cette page, le script essaie de vous connecter avec SuperAdmin
en nom d'utilisateur et SuperAdmin en mot de passe, ce qui est juste jusqu'au moment où vous avez
changé le mot de passe, et il faut que vous soyez connectés pour e!ectuer des modifications.
Maintenant que vous avez changé les mots de passe, identifiez-vous. Pour cela, choisissez
l'utilisateur avec lequel vous souhaitez vous connecter dans Permission level :, entrez votre mot de
passe dans Password : et cliquez sur Authenticate.
Voilà, si vous êtes connectés en tant que SuperAdmin, vous avez tous les droits, et nous allons
maintenant utiliser les plus simples.
Commençons par rajouter en premier lieu nos circuits. Il vous faudra alors, dans un premier temps,
mettre vos circuits dans un dossier Challenges/.
Prenons pas exemple que j'y ai mis deux circuits :

circuit1.Gbx

circuit2.Gbx

Je vais entrer dans le champ : Challenges/circuit1.Gbx, je cliquerai ensuite sur AddChallenge, et je


réitérerai l'opération pour mon deuxième circuit, et ainsi de suite jusqu'à ce que j'aie donné toute ma
liste de circuits (amusez-vous bien :-° ).

Si vous voulez en supprimer, cherchez le circuit que vous voulez supprimer et cliquez sur
RemoveChallenge. Si vous voulez changer l'ordre des circuits, cliquez sur ChooseNextChallenge.

Cliquer sur ChooseNextChallenge signifie que vous aurez choisi le circuit cliqué comme
prochain circuit à jouer !

Voilà nous avons nos circuits, continuons.


Changeons maintenant les informations de jeu, dans la partie Game infos:.
Je ne pourrai pas très vous expliquer cette partie dans la mesure où je n'ai pas eu besoin de la
modifier.
:
Voici les champs que vous devrez remplir/laisser/changer :
Mode: Définit le type de jeu (TimeAttack par défaut)
ChatTime: Définit le temps de parole après qu'un circuit soit terminé en millisecondes (10 000 par
défaut soit 10 secondes)
TimeAttackLimit: Définit le temps de jeu par circuit en millisecondes (300 000 par défaut soit 300
secondes soit 5 minutes)

Je ne pourrai pas vous renseigner sur les autres champs.

Cliquez ensuite sur SetGameInfos.


Changeons à présent les options de notre serveur dans la partie Server options:.
Encore une fois, je ne pourrai vous renseigner sur l'utilité de tous les champs, mais voici ceux pour
lesquels je saurai vous renseigner :
Name: Le nom de votre serveur.
Comment: La description de votre serveur.
Password: Le mot de passe que vous voulez attribuer à votre serveur si vous souhaitez lui en attribuer
un.
PasswordForSpectator: Le mot de passe que vous voulez demander aux spectateurs si vous souhaitez
leur en demander un.
MaxPlayer: Le nombre maximum de joueurs autorisés à entrer en jeu.
MaxSpectator: Le nombre maximum de spectateur autorisés à venir voir vos joueurs.
VehicleNetQuality: La qualité des véhicules (je vous conseille de laisser à Fast pour une meilleur
performance de jeu).
CallVoteTimeOut: Le temps de vote en millisecondes (60 000 par défaut soit 60 secondes soit 1
minute)
CallVoteRatio: La ration de vote pour que le vote soit accepté (0.5 par défaut, soit 50% des votes, soit
la moitié des votes).
AllowChallengeDownload: Autorise ou non les joueurs à télécharger les circuits présents sur votre
serveur.
Cliquez ensuite sur SetServerOptions.

C'est bon ? Votre serveur est prêt ? Lançons-le !


Pour cela, allez dans la partie Server Status:. Le statut est normalement en Waiting.

Il y a, pour lancer le serveur, deux champs à remplir :


Master Server Login: Le nom d'utilisateur avec lequel le serveur va se connecter (doit exister sur
TMN).
Master Server Password: Le mot de passe de l'utilisateur avec lequel le serveur va se connecter.

Si vous entrez vos identifiants, vous devrez créer un nouveau compte dans le but de pouvoir
vous connecter à votre serveur.

Cliquez enfin sur StartServerInternet. Le statut qui était auparavant Waiting devrait à présent être
Launching.
Cliquez sur Refresh, et le statut devrait à présent être Running - Play, si c'est le cas, votre serveur est
en route, sinon, vérifiez votre configuration !
:
Dernière ligne droite
Vérifions enfin que votre serveur soit accessible de l'extérieur !
Pour cela, rendez-vous ici (http://slig.free.fr/TM/dedicated/tm_srv_tst.php).
Entrez l'adresse IP du serveur, le port du serveur (par défaut 2350) et dans le menu déroulant,
modifiez TMS/TMO par TMN.
Cliquez sur Start test !
Si tout se passe correctement, vous devriez avoir : TMN server xx.xx.xx.xx is responding on TCP port
2350 !
Sinon, nous allons modifier un fichier qui se trouve à la racine de votre serveur : dedicated.cfg.
Pour cela, exécutez cette commande :

vi /home/tmn/www/TmDedicatedServer/dedicated.cfg

Descendez jusqu'à ce que vous trouviez <force_ip_address></force_ip_address>, entrez l'adresse IP


de votre serveur entre balises (voir l'utilisation de la commande vi).
Sortez de l'éditeur (avec :wq, voir à nouveau l'utilisation de la commande vi), et relancez votre
serveur !
Pour cela, dans votre fichier PHP, partie Server Status:, cliquez sur ServerStop, StartServerInternet et
Refresh.
Refaites le test, tout devrait à présent fonctionner.
Et voilà, bon jeu !
Si vous avez des questions, des remarques ou des suggestions, n'hésitez pas !
:

Vous aimerez peut-être aussi