
Bonjour !
Alors, pour des raisons bien connues, nous devons passer plus de temps à la maison devant l'écran.
Dans cette situation, il est nécessaire de se remémorer des événements d'antan.
Comme il est déjà clair d'après le titre de cet article, nous allons parler de la configuration de Synology NAS en tant que serveur de jeux.
Achtung — l'article contient de nombreuses captures d'écran (les captures d'écran sont cliquables) !
Avant de commencer, voici la liste des outils dont nous aurons besoin :
Synology NAS — ici, je ne vois pas de restrictions, je pense que n'importe quel modèle conviendrait, à condition de ne pas prévoir de tenir un serveur pour 10 000 joueurs.
Docker — aucune compétence particulière n'est requise, il suffit de comprendre le principe de fonctionnement de manière imagée.
LinuxGSM — vous pouvez en apprendre plus sur ce qu'est LinuxGSM sur le site officiel. https://linuxgsm.com.
À l'heure actuelle (avril 2020), 105 serveurs de jeux sont disponibles sur LinuxGSM.
Vous pouvez voir la liste complète ici https://linuxgsm.com/servers.
Steam — un marché de jeux.
Serveur de jeux LinuxGSM s'intègre à SteamCMD, ce qui signifie que le serveur de jeux LinuxGSM ne pourra être utilisé que pour les jeux de Steam.
Installation de Docker sur Synology NAS
À ce stade, c'est simple, accédez au panneau d'administration de Synology, allez ensuite dans « Centre de paquets », trouvez et installez Docker.
Centre de paquets
Démarrez-le et vous verrez quelque chose comme ça (j'ai déjà ce conteneur installé)
Gestion du conteneur
Ensuite, allez à l'onglet « Registre », tapez dans la recherche « gameservermanagers », choisissez l'image « gameservermanagers/linuxgsm-docker » et cliquez sur le bouton « Télécharger ».
gameservermanagers/linuxgsm-docker
Après cela, allez à l'onglet « Image », attendez la fin du téléchargement de l'image et cliquez sur le bouton « Lancer ».
Télécharger l'image
Dans la fenêtre qui s'ouvre, vous devez aller dans « Paramètres avancés », puis dans l'onglet « Réseau » et cocher la case « Utiliser le même réseau que l'hôte Docker ».
Pour les autres paramètres, comme « Nom du conteneur », modifiez-les à votre convenance.
Nom du conteneur — comme vous pouvez le deviner, c'est le nom du conteneur, il sera utile par la suite. Je recommande de le nommer de manière concise, par exemple « test ».
Ensuite, cliquez sur le bouton « Appliquer » ou « Suivant » plusieurs fois jusqu'à la fin de la configuration.
Advanced Settings
Allez à l'onglet « Conteneur » et vous verrez le nouveau conteneur en cours d'exécution (si ce n'est pas le cas, démarrez-le).
Ici, vous pouvez arrêter, démarrer, supprimer et effectuer d'autres actions.
Configuration du conteneur Docker LinuxGSM
Avant de vous connecter à Synology NAS via SSH, vous devez activer l'accès SSH dans le panneau d'administration.
Connexion via SSH
Ensuite, vous devez utiliser l' adresse IP Synology NAS de serveurs pour vous connecter via SSH.
Accédez à un terminal (ou à un autre équivalent, par exemple sous Windows c'est PuTTY) et utilisez la commande suivante :
ssh user_name@IPDans mon cas, cela ressemble à ceci
ssh admin@192.168.0.166L'adresse IP du serveur Synology NAS
Après autorisation, vous devez exécuter la commande pour entrer dans le conteneur « test » (champ « Nom du conteneur » dans les paramètres Docker) en tant qu'utilisateur « root »
sudo docker exec -u 0 -it test bashConnexion à Docker
Avant l'installation de « LinuxGSM », certaines étapes doivent être effectuées.
Nous allons définir un mot de passe pour l'utilisateur « root »
passwdEnsuite, nous mettrons à jour tous les paquets
apt update && apt upgrade && apt autoremoveAttendez la fin du processus...
Mise à jour des paquets
Ensuite, installons les utilitaires nécessaires
apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-fullÉtant donné que réaliser diverses actions en tant que « root » n'est pas la meilleure idée, ajoutons un nouvel utilisateur « test ».
adduser testEt permettons au nouvel utilisateur d'utiliser « sudo »
usermod -aG sudo testPassons à l'utilisateur « test »
su testInstallation et configuration de LinuxGSM
Considérons un exemple de configuration de LinuxGSM avec « Counter-Strike », aussi connu sous le nom de « CS 1.6 » https://linuxgsm.com/lgsm/csserver
Accédez à la page d'instructions pour « Counter-Strike » linuxgsm.com/lgsm/csserver.
Dans l'onglet « Dépendances », copiez le code pour « Ubuntu 64 bits ».
Au moment de la rédaction de cet article, ce code ressemble à ceci :
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 lib32stdc++6 steamcmd
Installation des dépendances
Lors de l'installation, il faut accepter « Steam License » :
Steam License
Allez dans l'onglet « Installer » et copiez le code de la 2e étape (nous sautons la 1ère étape, l'utilisateur « test » existe déjà) :
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
En attente de téléchargement :
Téléchargement
Et lançons l'installation :
./csserver installSi tout s'est bien passé, vous verrez « Install Complete ! »
Install Complete !
Lançons… et voyons l'erreur « Multiple IP addresses found. »
./csserver startMultiple IP addresses found
Ensuite, vous devez indiquer explicitement au serveur quelle IP utiliser.
Dans mon cas, c'est :
192.168.0.166Accédez au dossier dont le chemin a été indiqué dans le message comme « location » :
cd /home/test/lgsm/config-lgsm/csserverEt regardez quels fichiers sont dans ce dossier :
lsListe des fichiers dans le dossier csserver
Copiez le contenu du fichier « _default.cfg » dans le fichier « csserver.cfg » :
cat _default.cfg >> csserver.cfgEt passons en mode d'édition du fichier « csserver.cfg » :
nano csserver.cfgÉdition du fichier csserver.cfg
Cherchez la ligne :
ip="0.0.0.0"Et remplacez l'adresse IP suggérée, dans mon cas c'est « 192.168.0.166 ».
Cela devrait ressembler à ceci :
ip="192.168.0.166"Appuyez sur la combinaison de touches :
Ctr + XEt après la demande de sauvegarde, appuyez sur :
YRevenons au dossier utilisateur «test» :
cd ~Et essayons de nouveau de lancer le serveur. Maintenant, le serveur devrait démarrer sans problème :
./csserver startDémarrage du serveur
Pour voir des informations plus détaillées, utilisons la commande :
./csserver detailsInformations détaillées sur le serveur
Parmi les paramètres importants, on peut noter :
- IP du serveur : 192.168.0.166:27015
- IP Internet : xxx.xx.xxx.xx:27015
- Fichier de configuration : /home/test/serverfiles/cstrike/csserver.cfg
À ce stade, le serveur de jeu est déjà accessible sur le réseau local.
Configuration du transfert d'adresse IP
Jouer en réseau local c'est bien, mais jouer avec des amis via Internet, c'est mieux !
Pour transférer l'adresse IP que le routeur a reçue de votre fournisseur, nous utilisons le mécanisme NAT.
Il est également pertinent de noter que la plupart des fournisseurs utilisent des adresses IP dynamiques pour leurs clients.
Pour un meilleur confort et une stabilité optimale, il est conseillé d'obtenir une adresse IP statique.
Étant donné que j'ai un routeur «TP-Link Archer C60», je donne un exemple de configuration de redirection tel qu'il est mis en œuvre sur mon routeur.
Pour d'autres routeurs, je suppose que la configuration de redirection est organisée de manière similaire.
C'est assez simple : vous devez spécifier la redirection de l'adresse IP externe vers l'adresse IP interne du serveur pour deux ports :
- 27015
- 27005
Dans le panneau d'administration de mon routeur, cela ressemble à ceci
Panneau d'administration du routeur
Et voilà, après avoir sauvegardé les paramètres du routeur, le serveur de jeu sera accessible sur le réseau via l'adresse IP externe pour les ports spécifiés !
Paramètres supplémentaires sur l'exemple de CS 1.6
À titre d'exemple de CS 1.6, j'aimerais donner quelques conseils utiles.
Il y a deux fichiers pour la configuration du serveur
Le premier se trouve ici :
~ /lgsm /config-lgsm /csserver /csserver.cfgLe second se trouve ici :
~ /serverfiles /cstrike /csserver.cfgLe premier fichier contient des paramètres généraux, tels que l'adresse IP, la carte pour le premier chargement du serveur, etc.
Le second fichier contient des paramètres de commandes qui peuvent être exécutées via la console «Counter-Strike», par exemple «rcon_password» ou «sv_password».
Dans le deuxième fichier, je recommande de définir un mot de passe pour se connecter au serveur via CVar «sv_password» et de définir un mot de passe pour gérer le serveur depuis la console via CVar «rcon_password».
La liste de toutes les variables CVar peut être consultée ici http://txdv.github.io/cstrike-cvarlist
Il sera également probablement nécessaire d'installer des cartes supplémentaires, par exemple «fy_pool_day».
Toutes les cartes pour CS 1.6 se trouvent ici :
~\/serverfiles\/cstrike\/mapsNous trouvons la carte souhaitée, la téléchargons directement sur le serveur (si elle est dans une archive, nous l'extrayons), déplaçons le fichier avec l'extension « .bsp » dans le dossier des fichiers « ~\/serverfiles\/cstrike\/maps » et redémarrons le serveur.
~.\/csserver restartAu fait, toutes les commandes disponibles du serveur peuvent être vues comme ceci
~.\/csserver
Conclusion
Je suis satisfait du résultat. Tout fonctionne rapidement et sans lag.
LinuxGSM dispose de nombreuses options supplémentaires, comme l'intégration avec Telegram et Slack pour les notifications, mais certaines fonctionnalités nécessitent encore des améliorations.
Dans l'ensemble, je recommande son utilisation !
Sources
https://linuxgsm.com
https://docs.linuxgsm.com
https://digitalboxweb.wordpress.com/2019/09/02/serveur-counter-strike-go-sur-nas-synology
https://medium.com/@konpat/how-to-host-a-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149
http://txdv.github.io/cstrike-cvarlist
MAJ
Comme l'a remarqué centralhardware tous les NAS Synology ne peuvent pas avoir Docker, voici la liste des appareils qui le peuvent https://www.synology.com/ru-ru/dsm/packages/Docker.
Source : habr.com



