Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
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 :
Code : Console | 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 :
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 :
Code : Console | 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 :
Code : Console | -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 :
Code : Console
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 :
Code : Console
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 :
Code : Console | wget http://slig.free.fr/TM/dedicated/TmDedicatedServer_2006-05-30.zip |
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.
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 :
Code : Console | 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 :
Code : Console
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 :
Code : Console
Explorons son contenu, avec une fois de plus la commande
ls. Nous obtenons alors :
Code : Console | ClientCommandLine.txt GameData Logs RunTrackmaniaNations.bat TrackManiaServer
dedicated.cfg ListCallbacks.html Readme_Dedicated.html RunTrackmaniaNations.sh TrackManiaServer.exe
Default.SystemConfig.Gbx ListMethods.html RemoteControlExamples |
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.
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 :
Code : Console
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.
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 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.
Code : Console
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 ?
Dépêchons-nous de l'ouvrir avec notre serveur Web ! Rendez-vous à l'adresse :
http://adresse_de_la_machine/TmDedicat [...] ote/basic.php (si vous êtes chez vous, remplacez adresse_de_la_machine par localhost)
OUARRRGH

Mais c'est quoi ce truc ?
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.
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.
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 :
Code : Console | 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.