Counter-Strike 2 (CS2) est le successeur officiel de CS:GO, propulsé par le moteur Source 2. Valve distribue des binaires de serveur dédié entièrement gratuits via SteamCMD (App ID 730). Ce tutoriel explique comment héberger un serveur CS2 complet sur un VPS Linux Ubuntu 22.04 : configuration SSH, espace disque NVMe, firewall UFW, daemon systemd et mise à jour sans perte de configuration. Un hébergeur cloud proposant des VPS KVM avec adresses IP dédiées simplifie la mise en ligne du serveur.
Prérequis et ressources serveur
CS2 est plus gourmand que CS:GO : le moteur Source 2 sollicite davantage le processeur CPU et les entrées-sorties disque. Pour provisionner votre serveur cloud ou VPS dédié, respectez ces exigences pour bien gérer un serveur de jeu en production :
- Système d'exploitation : Ubuntu 22.04 LTS ou Debian 12 (glibc 2.31 minimum). Architecture x86_64 obligatoire ; CS2 ne supporte pas ARM.
- Processeur : 2 vCPU à haute fréquence (3 GHz+). CS2 est principalement mono-thread ; la fréquence par cœur prévaut sur le nombre de cœurs.
- RAM : 4 Go minimum pour un serveur 5v5 (10 joueurs). Prévoyez 8 Go si vous installez des scripts et plugins CounterStrikeSharp. Le daemon cs2 consomme ~1,5 Go en charge légère.
- Disque SSD NVMe : 60 Go minimum. L'installation pèse ~35 Go ; les maps Workshop et les logs font grossir cet espace.
- Réseau : une adresse IP publique dédiée, port UDP 27015 accessible. Un slot CS2 à 128-tick consomme environ 80 à 150 Ko/s ; comptez 1 à 2 To de bande passante mensuelle pour un serveur actif.
Les VPS Ubuntu ElypseCloud utilisent KVM avec vCPU dédiés et SSD NVMe. Notre guide pour choisir un hébergement dédié détaille les critères de sélection pour un serveur de jeu compétitif.
Créer un utilisateur dédié
Administrer le daemon CS2 sous un compte Unix sans droits root limite la surface d'attaque. Créez un utilisateur cs2 dédié à l'hébergement du serveur :
sudo adduser --disabled-password --gecos "" cs2
sudo su - cs2Cette pratique d'administration limite les risques : si le daemon est compromis, l'attaquant n'a pas les droits root. Configurez l'authentification SSH par clé avant de désactiver les mots de passe SSH pour sécuriser votre VPS.
cat /etc/os-release | grep VERSION
uname -m # doit afficher x86_64
free -h # vérifier la RAM disponible
df -h / # vérifier l'espace disque NVMeInstaller SteamCMD
SteamCMD est l'outil en ligne de commande de Valve pour télécharger et mettre à jour les serveurs de jeu sur votre VPS Linux. Sur Ubuntu 22.04 ou Debian 12 :
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 steamcmdLa bibliothèque 32 bits lib32gcc-s1 est requise par SteamCMD même sur un VPS serveur 64 bits. Vérifiez l'installation avec steamcmd +quit ; SteamCMD se met à jour automatiquement à chaque lancement.
Télécharger CS2 (App ID 730)
Téléchargez les binaires du serveur CS2 (App ID 730) dans /home/cs2/cs2-server. SteamCMD accepte une connexion anonyme pour cet hébergement de serveur dédié :
steamcmd +force_install_dir /home/cs2/cs2-server \
+login anonymous \
+app_update 730 validate \
+quitLe téléchargement pèse environ 35 Go sur le SSD NVMe. La commande validate vérifie l'intégrité des fichiers. Lorsque SteamCMD affiche Success! App '730' fully installed., le serveur est prêt pour la configuration.
Corriger le symlink steamclient.so
CS2 cherche steamclient.so dans ~/.steam/sdk64/. Créez ce symlink pour éviter l'erreur Failed to load Steam service au démarrage du daemon :
mkdir -p ~/.steam/sdk64
ln -s ~/cs2-server/bin/linuxsteamrt64/steamclient.so \
~/.steam/sdk64/steamclient.soCe lien symbolique pointe vers la bibliothèque SteamAPI fournie dans le répertoire d'installation. Sans lui, le daemon ne peut pas s'authentifier sur les serveurs Steam.
Configurer le serveur (server.cfg)
Créez le fichier de configuration principal game/csgo/cfg/server.cfg pour votre serveur virtuel CS2 :
hostname "Mon serveur CS2"
sv_cheats 0
sv_lan 0
rcon_password "MotDePasseRcon"
sv_password ""
mp_autoteambalance 1
mp_maxrounds 30
mp_timelimit 60Le paramètre sv_lan 0 rend le serveur accessible via Internet depuis l'adresse IP publique de votre VPS. Définissez un rcon_password fort pour l'accès administrateur à distance. La sécurisation initiale du serveur dédié couvre les réglages complémentaires d'administration.
Obtenir un GSLT
Valve impose un Game Server Login Token (GSLT) pour les serveurs CS2 publics. Générez-en un depuis votre compte Steam dans la section "Gestion des serveurs de jeu" (App ID 730). Ce jeton lie votre serveur dédié à votre compte Steam ; conservez-le pour le passer au daemon via +sv_setsteamaccount. Un GSLT révoqué empêche toute connexion publique.
Lancer le serveur CS2
Lancez le daemon CS2 manuellement pour tester la configuration avant de créer le service systemd :
/home/cs2/cs2-server/game/bin/linuxsteamrt64/cs2 \
-dedicated +map de_dust2 +exec server.cfg \
-port 27015 +sv_setsteamaccount VOTRE_GSLT_TOKENConnectez le client CS2 à l'adresse IP publique du serveur sur le port 27015 pour valider que le daemon répond. Vérifiez aussi les ports ouverts depuis le système avec ss -ulnp | grep 27015. Consultez notre tutoriel lister les ports en écoute avec ss pour diagnostiquer les problèmes réseau.
Pare-feu : ouvrir les ports UDP
CS2 utilise le port UDP 27015 pour les connexions joueurs. Si UFW est actif sur votre serveur VPS Linux, ouvrez ces ports :
sudo ufw allow 27015/udp
sudo ufw allow 27020/udp
sudo ufw reload
sudo ufw status verboseLe port 27020 est utilisé par SourceTV (GOTV). Pour un pare-feu plus granulaire avec plusieurs règles d'adresses IP, consultez notre guide nftables pour serveur de jeu.
Service systemd et démarrage automatique
Pour qu'un daemon CS2 redémarre automatiquement après un crash ou un reboot du VPS, créez un service systemd :
sudo nano /etc/systemd/system/cs2-server.service[Unit]
Description=CS2 Dedicated Server
After=network.target
[Service]
User=cs2
WorkingDirectory=/home/cs2/cs2-server/game/bin/linuxsteamrt64
ExecStart=/home/cs2/cs2-server/game/bin/linuxsteamrt64/cs2 \
-dedicated +map de_dust2 +exec server.cfg \
-port 27015 +sv_setsteamaccount VOTRE_GSLT
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable cs2-server
sudo systemctl start cs2-server
sudo systemctl status cs2-serverLa directive Restart=on-failure redémarre le daemon après un crash. Les journaux sont accessibles avec journalctl -u cs2-server -f. Consultez notre guide sur l'analyse des logs avec journalctl pour diagnostiquer les erreurs de démarrage.
Sauvegardes et espace disque
Un backup régulier protège votre configuration de serveur virtuel. Incluez dans votre stratégie de sauvegarde ces éléments :
game/csgo/cfg/: vos fichiers server.cfg et les configurations par mode de jeugame/csgo/addons/: vos scripts et plugins CounterStrikeSharp et Metamod- Les démos (.dem) générées par SourceTV si vous les conservez
Surveillez régulièrement l'espace disque avec df -h. Notre guide sur la surveillance de l'espace disque VPS Linux explique comment configurer des alertes avant saturation.
Mettre à jour CS2
Valve publie régulièrement des mises à jour pour CS2. Pour mettre à jour votre serveur VPS sans perdre votre configuration, arrêtez d'abord le service, puis relancez SteamCMD :
sudo systemctl stop cs2-server
~/steamcmd/steamcmd.sh \
+force_install_dir /home/cs2/cs2-server \
+login anonymous \
+app_update 730 validate \
+quit
sudo systemctl start cs2-serverLa commande app_update 730 validate télécharge uniquement les paquets modifiés et ne touche pas à game/csgo/cfg/. Pour automatiser les mises à jour de sécurité du système Linux de votre hébergement, consultez notre guide automatisation des mises à jour Ubuntu.
Prêt à héberger votre serveur CS2 ? ElypseCloud propose des VPS Linux KVM avec vCPU dédiés, SSD NVMe et réseau 1 Gbps, dimensionnés pour les serveurs de jeu compétitifs.