Créer un serveur CS 1.5 (WON2) en 2020 avec Docker

29 avr. 2020

Il y a 7 ans de cela, j’avais aidé la communauté de CS 1.5 WON2 avec un package permettant de créer un serveur à la fois pour Windows, et Linux. Il incluait des configurations simples et rapides pour pouvoir faire un serveur en moins de 10 minutes.

Malheureusement, avec les dernières mises à jour de Linux, créer un serveur HLDS WON2 devient une tache TRÈS ARDUE, pour deux raisons :

  • Installer un programme 32 bits sur une architecture 64 bits, ça prend de la place inutile en plus de devoir reconfigurer (légèrement) votre machine.
  • la dernière version de glibc empêche le programme de démarrer, et la, c’est beaucoup plus problématique.

Quelles sont nos solutions alors ?

Pour un serveur sous la dernière version de Debian, une solution serait de faire un schroot avec un debootstrap d’une version i386 de Debian jessie, mais vous allez trop vous casser la tête, et vous allez perdre un temps fou pour pas grand chose. C’est une sensation horrible, vous savez.

Fort heureusement, des alternatives populaires existent, grâce à Docker, et ses images/conteneurs. C’est clairement pas la solution la plus agréable pour customiser votre serveur, mais ça marche comme un environnement sécurité et malléable, et c’est aussi rapide que de compter jusqu’à 5 : vous lancez une commande, Docker s’occupe de tout, et ça vous permet d’avoir rapidement ce que vous avez besoin sans trop vous casser la tête.

En fait, quand j’ai pensé à Docker, ça me fait repenser à un projet similaire ; j’avais trouvé une image sur GitHub permettant de faire un serveur WON2 assez rapidement avec AMXX et PodBot, mais la personnalisation du serveur était assez complexe pour être exploitable rapidement. De plus, mon VPS sous Debian 10 ne marchait tout simplement pas avec. Enfin, il manquait un patch de sécurité concernant un exploit. Tout un programme en quelque sorte… Mais selon moi, ça reste un bon début. Il faudrait donc l’étoffer légèrement.

Mais comment (hein hein!) ?

Résultat, j’ai du tout recréer de zéro, en m’inspirant de quelques parties de son code (bin’ oui, inutile de réinventer la roue…). De plus, j’ai rajouté quelques optimisations ici et la, histoire de pas être trop complexe.

Dans un but de simplicité, j’ai décidé de ne pas rajouter de contenu additionnel. Que du vanilla à 100%. Mais je pense que je ferai un fork avec des configs pré-faites, un jour peut-être…

Installation

Pour utiliser mon package, vous avez 2 méthodes : soit vous pouvez lancer un docker run avec ch0ww/hlds-won2 comme image, ce qui est bien pour lancer un serveur très rapidement, mais qui n’est pas franchement pratique pour le customiser, ou vous pouvez recompiler l’image par vous-même, ce qui vous permettrait de la personnaliser à votre guise. Bref, il est temps de choisir ! ;P

Mots clés

Ch0wW

🌍 Entrez dans mon monde! Je poste du contenu en rapport avec les jeux retro, l'informatique, le modding et la réparation d'appareils... N'hésitez pas à me contacter pour toute question ou demande!