Bonjour, ayant eu quelques difficultés pour installer mon serveur TrackMania Nations la toute première fois, je vais vous apprendre à l'installer et à le configurer.
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
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 :
Le téléchargement s'effectue, 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.
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 :
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.
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 effectué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.
Configurer le serveur via le fichier PHP
Vous rappelez-vous du dernier ls que nous avons effectué ? 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 difficile de savoir lequel est le bon, mais n'avez-vous pas une attirance particulière vers basic.php ?
Cette page vous offre 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 effectuer 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.
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)
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.
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. 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 !