Jump to content
×
×
  • Create New...

Crée un serveur Trackmania sous Linux


Recommended Posts

Centre de Téléchargement

Télécharger ( Interne )

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.

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

Sommaire du tutoriel :

Icône du chapitre

 

* Installer le serveur

* Configurer le serveur

 

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

 

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 RunTrackmaniaNations.bat TrackManiaServer

dedicated.cfg ListCallbacks.html Readme_Dedicated.html RunTrackmaniaNations.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.

 

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

 

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 ?

 

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 o_O Mais c'est quoi ce truc ? o_O

 

 

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.

 

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

 

 

 

Descendez jusqu'à ce que vous trouviez , 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 !

Link to comment
  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.