====== Counter Strike 2 sous Linux : CS2 Linux ====== ===== Introduction ===== - Pourquoi sous Linux uniquement, c'est pas compliqué, j'ai un PC qui devient vieux et Windows ne va plus assurer les mises à jour donc je me tourne vers un os qui va fonctionner pendant encore longtemps. En plus il n'y a pas que des inconvénients à passer sous linux, je suis passé de 100-160FPS dans Day of Defeat Source à 300 FPS quasi constant avec la même machine. Et puis quand on parle de serveurs, c'est quand même mieux sous linux, on a besoin d'une machine moins performante pour faire la même chose. - Pour la petite histoire, je me suis décidé à écrire ce mémo car je me suis un peu cassé les dents avec les histoires de dépendances pour le plugin CounterStrikeSharp, j'ai tout installé sous Ubuntu 25.04, puis j'ai tout refait sous la dernière Debian, je suis revenu sur la dernière ubuntu, j'allais repasser sur ubuntu 24.04 LTS (qui prévois des mises à jours jusqu'en 2029 je crois) et hier un gars m'a donné la solution pour éviter de tout réinstaller. ===== Le choix de l'OS ===== Attention, la debian 13 et ubuntu 25.04 ont une dépendance libc6 2.41 qui ne fonctionne pas de base avec le plugin CounterStrikeSharp. Apparemment ils ont bridé cette librairie qui avait une faille dans les versions antérieur. Plusieurs solutions sont possibles : - Installer une LTS, mais il y a la faille qui n'est pas corrigé. - Perso je reste sur Ubuntu 25.04 mais avec PATCHELF ce qui n'est pas forcément mieux d'après ce que j'ai lu mais il n'y a pas vraiment de solution 100% fiable pour le moment. ===== Installer le serveur ===== ==== La partie linux ==== * Rien de bien compliqué, tu créé ton répertoire (dossier) du serveur dans ton home et tu vas dedans : mkdir cs2server cd cs2server * Tu installes les dépendances, Normalement il suffit d'installer tmux : sudo apt update sudo apt install tmux Rien de compliqué. ==== La partie serveur CS2 ==== Attention avant d'installer LinuxGSM il va te falloir un token!!! * Tu créé ton token : [[https://steamcommunity.com/dev/managegameservers|Site officiel de steam.]] Pas besoin d'avoir peur, tu pourras lancer ton serveur et te connecter au même compte steam en même temps. Tu peux créer jusqu'à 1000 tokens par compte steam. * Tu installes Linux GSM : [[https://linuxgsm.com/servers/cs2server/|LinuxGSM CS2 Server]]curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh cs2server ./cs2server install Et tu suis la procédure... ==== Le plugin Metamod ==== * Tu installes MetaMod, il faut télécharger la [[https://www.sourcemm.net/downloads.php/?branch=master|Dev Builds]], la décompresser et mettre le dossier addons dans : /home/ton_user/cs2server/serverfiles/game/csgo Ton_user est ton pseudo de connexion au serveur linux. * C'est pas fini, metamod ne peut pas fonctionner comme ça, il faut ajouter une ligne au fichier : /home/ton_user/cs2server/serverfiles/game/csgo/gameinfo.gi pour ça il faut l'éditer avec un éditeur texte et après la ligne : Game_LowViolence csgo_lv // Perfect World content overrideajouter la ligne :Game csgo/addons/metamod * Enfin, tu peux démarrer ton serveur et vérifier que metamod fonctionne : ./cs2server start N'ayez pas peur, ca affiche juste que le serveur est lancé, maintenant il faut taper : ./cs2server consolePuis faire "Y", la on est dans la console du serveur, on tape : meta normalement metamod affiche l'aide des commandes. Ça c'est fait, on peut éteindre le serveur en tapant dans la console : quit ==== Le plugin CounterStrikeShark ==== * Attention il faut télécharger le plugin linux avec runtime : [[https://github.com/roflmuffin/CounterStrikeSharp/releases|Git Officiel CounterStrikeShark]], décompresser le fichier et mettre le dossier addons dans : /home/ton_user/cs2server/serverfiles/game/csgoÇa c'est pas compliqué. * Maintenant il y a deux solutions : T'a installé un OS LTS, tu peux passer cette étape T'as fait comme moi, t'as mis la dernière linux, il faut télécharger [[https://github.com/NixOS/patchelf/releases/tag/0.18.0|PATCHELF]], le décomprésser, aller dans son dossier puis dans le répertoire bin et taper : ./patchelf --clear-execstack /home/ton_user/cs2server/serverfiles/game/csgo/addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.soOublies pas de remplacer ton_user par ton pseudo de connexion. * Tu démarres le serveur :./cs2server start ./cs2server console * Dans la console du serveur tu tapes : meta list et il devrait afficher : meta list Listing 1 plugins: [01] CounterStrikeSharp (v1.0.336 @ ee792de) by Roflmuffin * PATCHELF n'est pas à lancer à chaque démarrage du serveur mais gardez le sous la main car à chaque mise à jour de CounterStrikeSharp il faudra recommencer, si vous tapez meta listet que le serveur affiche : meta list Listing 1 plugins: [01] Il faudra répéter l'opération. ===== Les Ports ===== Et oui, il faut ouvrir des ports si vous voulez que vos amis puissent vous rejoindre. Je n'entrerai pas vraiment dans les détails, car ça dépend de votre box, firewall, etc... Sinon c'est pas compliqué, si vous faites l'installation de linuxGSM de base sans rien modifier, il n'y a que deux ports à ouvrir en UDP et TCP le 27015 et 27016. ===== Les Plugins Qui Fonctionnent ===== Attention tous les plugins ne fonctionnent pas forcément, hier première installation de plugin CSS (CounterStrikeSharp) et rien ne fonctionne donc en cours... ==== Plugins Metamod ==== === ServerListPlayersFix (1.0.3) by Poggu === Le serveur de base a un bug, quand vous allez voir sur quel serveur joue un de vos amis, vous n'avez pas la liste de joueurs, ce plugin corrige cela tout simplement, pour l'installation rien de compliqué, on télécharge, on le met dans le dossier "addons" et on redémarre le serveur, il n'y a rien à configurer : [[https://github.com/Source2ZE/ServerListPlayersFix/releases/tag/v1.0.3|Git ServerListPlayersFix]]. Comme c'est un plugin metamod, on va le voir en tapant dans la console serveur : meta listÇa va afficher ca :meta list Listing 2 plugins: [01] CounterStrikeSharp (v1.0.336 @ ee792de) by Roflmuffin [02] ServerListPlayersFix (1.0.3) by Poggu ==== Plugins CounterStrikeSharp ==== === Les commandes CSS === * La commande à connaitre, elle va afficher les plugins CSS installés :css_plugins listCe qui donne ça quand on a mis un plugin : css_plugins list List of all plugins currently loaded by CounterStrikeSharp: 1 plugins loaded. [#1:LOADED]: "Workshop Collection Default Map" (0.4) by Cruze Sets default map after server restart ===== Les Sites Utiles ===== * [[https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers#Download_the_CS2_Dedicated_server|Valve/Steam]] * [[https://www.ghostcap.com/cs2-plugins-list|GHOSTCAP]] * [[https://docs.cssharp.dev/docs/guides/getting-started.html|CounterStrikeSharp]] * [[https://linuxgsm.com/servers/cs2server/|LinuxGSM]] * [[https://github.com/roflmuffin/CounterStrikeSharp/releases|Git CounterStrikeSharp]] === En Cours... === J'ai encore rien testé de bien en même temps, ça fait même pas 24 heures que le plugin fonctionne sur mon serveur...