Qui n'a jamais rêver de jouer sur un serveur Half-Life stable et rapide ? Tout les fans de LAN vous le diront: rien ne vaut un serveur dédié, et qui plus est sous Linux, pour ne plus rater ses frags :-)

1) L'archive
Tout d'abord il faut télécharger l'archive contenant le serveur Half-Life. Son nom est généralement hlds_lxxxx.tar.gz ou xxxx est la version. Ne vous inquitez pas si vous ne trouvez pas la bonne version car si la version du client est 1.1.0.4, xxxx sera 3104, donc votre archive sera hlds_l3104.tar.gz...
Le serveur fait environ 80 Mo, alors si vous n'avez pas une bonne connexion ou beaucoup de temps, cela risque d'être difficile de le récuperer.

2) Extraction
Une fois télécharger, il faut extraire les fichiers de l'archive ainsi:
tar xvzf hlds_l3104.tar.gz -C /usr/local/games/
cela placera les fichiers dans /usr/local/games/hlds_l/

3) Configuration
Maintenant, il nous faut configurer le serveur. Vous pouvez éditer le fichier server.cfg afin d'y placer vos paramètres. Les variables et les commandes sont les mêmes que sous Windows.
Le fichier mapcycle.txt contient la liste des maps qui seront cyclés toutes les X minutes. Le temps est défini par la variable timelimit que l'on configure dans le fichier server.cfg, mais vous devriez le savoir puisque vous venez de l'éditer :-) Le fichier motd.txt contient le message affiché lors de la connexion au serveur. J'ai essayé de mettre de l'ASCII ART dans ce fichier, mais ca donne rien de bon, si quelq'un y parvient, qu'il me fasse signe ! :-)

4) Lancez le serveur
Maintenant que tout est configuré, il ne vous reste plus qu'a lancer le serveur en vous placant dans /usr/local/games/hlds_l et a taper: ./hlds_run -game valve -nomaster +sv_lan 1 +maxplayers 32
Explication:

  • -game valve correspond au "mod" que vous lancez. Valve, c'est Half-Life sans mod...
  • "+sv_lan 1" et "-nomaster" définit la variable sv_lan à 1, ce qui permet d'avertir le serveur de ne pas chercher à prévenir les serveurs WON sur Internet de sa présence.
    Ca y est votre serveur est lancé ! Vous pouvez lancez une map avec la commande "map bootcamp", voire le nombre de joueur avec la commande status, en virer avec la commande kick, etc...

    5) Les mods
    Ils existent plein de mods pour Half-Life, comme TFC ou Counter-Strike pour ne citer que les plus célèbres. TFC est installé avec le serveur Half-Life. Pour le lancer, il suffit de le configurer (éditer donc le fichier tfc/server.cfg) et le lancer avec la commande suivante:
    ./hlds_run -game tfc -nomaster +sv_lan 1 +maxplayers 32
    Pour Counter-Strike, la démarche est la même, seulement il vous faudra télécharger la version du mod pour le serveur Linux, soit une archive de 80 Mo environ. Il suffit de l'extraire dans le répertoire du serveur pour obtenir un répertoire /usr/local/games/hlds_l/cstrike/. La configuration du server.cfg peut-être simple comme complexe, car les options de Counter-Strike sont nombreuses. Je vous donne un exemple du mien:

    // Nom du serveur
    hostname "Sophus"
    
    // CS Specific Cvars
    // Kick les user idle
    mp_autokick 1
    // Force les équipes à être équilibrées
    mp_autoteambalance 1
    // Temps avant explosion du C4
    mp_c4timer 30
    // Autorise les lampes
    mp_flashlight 1
    // Bruit de pas
    mp_footsteps 1
    // Force les users à suivre un user lors de sa mort (tres pratique pour eviter la triche en LAN)
    mp_forcechasecam 1
    // Temps ou les user sont figés au début de chaque round
    mp_freezetime 5
    // Autorise le tir sur les coéquipiers
    mp_friendlyfire 1
    // Point de pénalité pour meurtre d'hôtage
    mp_hostagepenalty 2
    // Limite d'équipe
    mp_limitteams 0
    mp_logmessages 1
    // Ratio nécessaire pour les votes
    mp_mapvoteratio 0.5
    // Temps d'un round
    mp_roundtime 5
    mp_timelimit 45
    // Empeche un user qui a tué un coéquipier de jouer pendant un round (si = 1)
    mp_tkpunish 0
    sv_restartround 0
    
    // General HL Cvars
    // Bobo si tombé :-)
    mp_falldamage 1
    // Autorise la pause
    pausable 0
    // Vise tout seul
    sv_aim 0
    //Refuse les cheats... hum
    sv_cheats 0
    
    // Si vous voulez administrer à distance
    //rcon_pasword "password"
    

     

    Copyleft Linux En Rezo