Installer un serveur dédié Steam sous Linux

closeCet article a été publié il y a 16 ans 11 mois 16 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Pour ceux qui ont un serveur avec un minimum de bande passante montante (upload), voici comment monter votre propre serveur Steam, pour jouer à Counter-Strike, Counter-Strike Source, Day Of Defeat etc.

D’abord, utilisez un compte utilisateur Linux dédié, c’est plus sûr. Disons qu’il s’appelle « steam », pour l’exemple ci-dessous.
Pas besoin d’avoir acheté le jeu, d’avoir une license, un compte Steam etc, car la création de serveur dédié est gratuite (comme pour tous les jeux en général).

La mise en place d’un serveur steam se passe en quelques étapes :

  • Installation de l’outil de serveur dédié
  • Mise à jour du coeur de Steam
  • Installation des composants des jeux de la plateforme Steam que vous voulez (CSS, DoD etc)
  • Lancement du bazar dans un « screen »
  • Installation de l’outil de serveur dédié
    Téléchargez-le et lancez-le comme suit :

    steam@monnusk:~$ wget http://www.steampowered.com/download/hldsupdatetool.bin
    steam@monnusk:~$ chmod +x hldsupdatetool.bin
    steam@monnusk:~$ ./hldsupdatetool.bin
    blablabalba
    ...
    Enter 'yes' to accept this agreement, 'no' to decline: yes
    extracting steam.tar.Z...done

    Mise à jour du coeur de Steam
    La commande est :

    steam@monnusk:~$ ./steam -command update -game valve -dir .
    Checking bootstrapper version ...
    Getting version 18 of Steam HLDS Update Tool
    Downloading. . . . . . . . . . . .
    Steam Linux Client updated, please retry the command

    Dans l’exemple ci-dessus en gras, le client s’est d’abord mit lui-même à jour. On relance la même commande, et cette fois c’est bien le noyau Steam qui se met à jour :

    steam@monnusk:~/steam$ ./steam -command update -game valve -dir .
    Checking bootstrapper version ...
    Updating Installation
    No installation record found at .
    Checking/Installing 'Linux Server Engine' version 35
    Downloading: .\core_i386.so
    Downloading: .\engine_amd.so
    Downloading: .\engine_amd64.so
    Downloading: .\engine_i486.so
    Downloading: .\engine_i686.so
    Downloading: .\filesystem_stdio_amd64.so
    Downloading: .\filesystem_stdio_i386.so
    Downloading: .\hlds_amd
    Downloading: .\hlds_amd64
    Downloading: .\hlds_i486
    Downloading: .\hlds_i686
    Downloading: .\hlds_run
    Downloading: .\hltv
    Downloading: .\libSteamValidateUserIDTickets_amd64.so
    Downloading: .\libSteamValidateUserIDTickets_i386.so
    Downloading: .\linuxreadme.txt
    Downloading: .\proxy_i386.so
    Downloading: .\steam_api_i486.so
    Downloading: .\steamclient_i486.so
    Downloading: .\tier0_s_i486.so
    Downloading: .\vstdlib_s_i486.so
    
    No installation record found at .
    Checking/Installing 'Half-Life Base Content' version 8
    Downloading: .\valve\cl_dlls\client.dll
    Downloading: .\valve\dlls\hl.dll
    et ça continue...
    Downloading: .\valve\violence.cfg
    Downloading: .\valve\xeno.wad
    
    HLDS installation up to date

    Installation des jeux souhaités
    Pour installer Day Of Defeat :

    steam@monnusk:~/steam$ ./steam -command update -game dod -dir .

    Pour installer Counter-Strike Source :

    steam@monnusk:~/steam$ ./steam -command update -game "counter-strike source" -dir css

    Attention à la partie en gras. CSS doit être dans un répertoire à part. Ne me demandez pas pourquoi ?

    Lancement d’un jeu
    Je vous recommande de vous créer des scripts pour le lancement de chacun de vos jeux ; et de lancer tout ça dans des « screen » afin de pouvoir reprendre les sessions plus tard.
    Pour DoD, le script ressemblera à ça :

    #!/bin/sh
    
    cd steam/
    ./hlds_run -console -game dod +ip vo.t.re.ip -port 27015 +map dod_anzio +maxplayers 21 -autoupdate -tickrate 100

    Pour CSS, plutôt à ça, il y a une vague nuance :

    #!/bin/sh
    
    cd steam/css/
    ./srcds_run -console -game cstrike +ip vo.t.re.ip -port 27015 +map de_dust +maxplayers 21 -autoupdate -tickrate 100

    Il faut évidemment ouvrir les ports réseaux TCP et UDP que vous spécifiez. Et si vous voulez faire tourner plusieurs jeux en même temps, il faudra utiliser des ports différents.

    Voilou, bon frags.

    7 comments

    1. Je ne comprends pas :s quand je lance le serveur j’ai cette erreur

      AppFramework : Unable to load module bin/engine_i686.so!
      Unable to load interface VEngineCvar003 from bin/engine_i686.so

      Vous avez une idée ?

    2. salut

      j’ai un petit probleme concernant le telechargement de dods
      comment je pourrais y remedier ?

      je vous remercie d’avance

    3. Essaie de remettre a jour ton jeu dod, ou supprime le totalement et réinstalle le …

      Ca m’est arrivé plusieurs fois.

      bien joué a toi michauko pour ce tuto, pour information maintenant est extensible a tout les mods Source officiels steam.

      Comme : Age of chivalry, DIPRIP, Zombie Panic, etc etc.

    4. c’est valable pour faire un serveur de call of duty modern warfare 2 , j’ai acheté le jeux , et je ne sais pas si je peux faire un serveur dedié avec …..

      1. Aucune idée, je n’ai pas joué depuis bien longtemps. Mais je suppose que c’est comme d’habitude.
        Et notamment un truc : pas la peine d’acheter un jeu de ce genre pour monter un serveur dédié, ça a toujours été un package à part. Au pire il faut recopier un bout d’arborescence du CD (les maps etc)
        bonne chance

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.