Print Friendly, PDF & Email

Steam ayant définitivement supprimé mi avril la méthode d’installation et de mise à jour HLDSUpdateTool (Half Life Dedicated Server) du serveur Counter-Strike: Source que j’avais détaillé dans le tutorial suivant, je vous livre la nouvelle méthode qui s’appuie sur SteamCMD.

Pour info, je détaille dans l’article suivant la création d’un serveur Garry’s Mod avec SteamCMD sous Linux.

Nous allons voir ensemble toutes les étapes d’installation d’un serveur Counter-Strike: Source sous Linux Ubuntu 13.04

Serveur Counter-Strike: Source sous Linux

Installation et mise à jour de Counter-Strike: Source via le mode console SteamCMD (voir plus bas l’installation et la MAJ de CSS en mode console Linux) :

  • Mettez à jour le système :
    sudo apt-get update
    sudo apt-get upgrade
  • Créez le dossier steamcmd sur votre Bureau :
    mkdir steamcmd
  • Créez le groupe et l’utilisateur steam avec son mot de passe :
    sudo adduser --home /home/votre_login/Bureau/steamcmd --shell /bin/bash steam
  • Changez le propriétaire du dossier steamcmd :
    sudo chown -R steam:steam steamcmd
  • Déconnectez-vous de votre compte et connectez vous avec l’utilisateur steam. Installez SteamCMD Update Tool :
    wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
  • Extraire le contenu :
    tar -xvzf steamcmd_linux.tar.gz
  • Rendre le fichier exécutable :
    chmod +x steamcmd.sh
  • Lancez SteamCMD :
    ./steamcmd.sh
  • Au prompt Steam, loguez-vous anonymement :
    login anonymous
  • Indiquez le répertoire d’installation :
    force_install_dir ./css/
  • Installez et mettez à jour le jeu :
    app_update 232330 validate
  • Une fois que c’est terminé, quittez proprement SteamCMD :
    quit
  • Si ce n’est pas déjà fait, installez Screen qui servira dans le script de lancement à se déconnecter du serveur Linux tout en laissant le serveur Counter-Strike: Source actif : 
    sudo apt-get install screen
Vous pouvez alors lancer le serveur Counter-Strike: Source via un script serveur_css.sh à créer dans le dossier /steamcmd/css/ :

#!/bin/sh
sleep 1
screen -A -m -d -S css ./srcds_run -steam_dir steamcmd/ -steamcmd_script steamcmd/steamcmd.sh -console -game cstrike +map de_dust2 -maxplayers 20 -ip 0.0.0.0 -port 27015 -tickrate 66 -pingboost 2
  • La commande screen permet de conserver le processus actif même après s’être déconnecté du serveur Linux
  • Les options de la ligne de commande du programme srcds de SteamCMD sont expliquées sur le site de Valve
  • Lui donner les droits d’exécution :
    chmod +x serveur_css.sh
  • Le lancer :
    sh serveur_css.sh
  • Votre serveur démarre et vos clients peuvent se connecter ! Pour lister les Screens actifs :
    screen -ls
  • Pour revenir dans le Screen :
    screen -r css
  • Pour quitter le Screen : touches CTRL + A puis D
  • Pour killer le Screen : touches CTRL + A puis K

Les fichiers de configuration du serveur sont les suivants :

  • Copiez le fichier /steamcmd/css/cstrike/cfg/mapcycle_default.txt dans le dossier suivant : /steamcmd/css/cstrike/ et renommez le mapcycle.txt. Ce fichier sert à la rotation des cartes dans le jeu. Si vous ne l’avez pas placé dans le bon répertoire, CSS bouclera indéfiniment sur la carte indiquée dans le script serveur_css.sh
  • motd.txt et motd_text.txt qui se trouvent dans le dossier /steamcmd/css/cstrike/cfg/. Le contenu du premier est affiché comme page d’accueil lors de la connexion sur le serveur. C’est un fichier HTML que vous pouvez compléter
  • bot.cfg qui se trouve dans le dossier /steamcmd/css/cstrike/cfg/. Il permet de configurer les bots (joueurs virtuels). Un exemple de ce fichier est disponible ici
  • server.cfg qui se trouve dans le même répertoire que bot.cfg contient des infos importantes. C’est tout d’abord dans ce fichier que vous définissez les mots de passe rcon (remote console) et du serveur si vous ne souhaitez pas le rendre public. C’est également dans ce document qu’on charge d’autres fichiers de configuration comme bot.cfg. Un exemple de ce fichier est disponible ici

Il existe également des mods que vous pouvez installer sur votre serveur :

Un logiciel sous Windows permet de gérer votre serveur CSS mais aussi les plugins, c’est HLSW. Il suffit de s’enregistrer gratuitement sur le site Web de HLSW pour avoir accès à l’ensemble des fonctionnalités. Ca devient par exemple très facile de kicker un ou plusieurs joueurs en pleine partie 🙂

Installation et MAJ de CSS en mode console Linux

Vous pouvez installer et mettre à jour CSS en mode console SteamCMD comme indiqué plus haut ou passer plus directement par les commandes suivantes depuis la console Linux :

Installation CSS :

  • Reprendre les commandes détaillées en début d’article, la méthode change une fois que vous avez rendu le fichier d’installation exécutable :
    chmod +x steamcmd.sh
  • Installez le jeu :
    ./steamcmd.sh +login anonymous +force_install_dir ./css/ +app_update 232330 validate +quit
  • Installez Screen qui servira dans le script de lancement à se déconnecter du serveur Linux tout en laissant le serveur Counter-Strike: Source actif (voir plus haut pour le script) : 
    sudo apt-get install screen

Mise à jour CSS :

  • Prenez soin au préalable de stopper le serveur CSS via les commandes Screen (pour plus de détail, voir plus haut)
  • Rendez-vous dans le dossier /steamcmd/
  • Mettez à jour le jeu :
    ./steamcmd.sh +login anonymous +force_install_dir ./css/ +app_update 232330 validate +quit

Sécurité – pare-feu

Pensez à sécuriser vos accès Internet via le pare-feu de votre routeur ou de votre Box + le pare-feu Ubuntu en autorisant les port TCP/UDP de destination utilisés par SteamCMD.

Ne pas oublier de rediriger les ports de destination vers le serveur Linux via le menu adéquat de votre routeur ou de votre Box.

Les ports de destination suivants sont utilisés par le client et le serveur SteamCMD :

  • Ports UDP 27000 à 27015 (Game client traffic)
  • Ports UDP 27015 à 27030 (Typically Matchmaking and HLTV)
  • Ports TCP 27014 à 27050 (Steam downloads)
  • Port UDP 4380
  • Port TCP 27015 (SRCDS Rcon port)
Sous Ubuntu 13.04, la commande du pare-feu Ufw est la suivante en mode terminal :

sudo ufw allow 27000:27030/udp
sudo ufw allow 27014:27050/tcp
sudo ufw allow 4380/udp