Transformer un Synology NAS en serveur de jeu

Transformer un Synology NAS en serveur de jeu

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 paquetsTransformer un Synology NAS en serveur de jeu
Démarrez-le et vous verrez quelque chose comme ça (j'ai déjà ce conteneur installé)

Gestion du conteneurTransformer un Synology NAS en serveur de jeu
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-dockerTransformer un Synology NAS en serveur de jeu
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'imageTransformer un Synology NAS en serveur de jeu
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 SettingsTransformer un Synology NAS en serveur de jeu
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.

Lancer un conteneurTransformer un Synology NAS en serveur de jeu

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 SSHTransformer un Synology NAS en serveur de jeu
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@IP

Dans mon cas, cela ressemble à ceci

ssh admin@192.168.0.166

L'adresse IP du serveur Synology NASTransformer un Synology NAS en serveur de jeu
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 bash

Connexion à DockerTransformer un Synology NAS en serveur de jeu
Avant l'installation de « LinuxGSM », certaines étapes doivent être effectuées.

Nous allons définir un mot de passe pour l'utilisateur « root »

passwd

Ensuite, nous mettrons à jour tous les paquets

apt update && apt upgrade && apt autoremove

Attendez la fin du processus...

Mise à jour des paquetsTransformer un Synology NAS en serveur de jeu
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 test

Et permettons au nouvel utilisateur d'utiliser « sudo »

usermod -aG sudo test

Passons à l'utilisateur « test »

su test

Installation des utilitairesTransformer un Synology NAS en serveur de jeu

Installation 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épendancesTransformer un Synology NAS en serveur de jeu
Lors de l'installation, il faut accepter « Steam License » :

Steam LicenseTransformer un Synology NAS en serveur de jeu
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à) :

InstallerTransformer un Synology NAS en serveur de jeu

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver

En attente de téléchargement :

TéléchargementTransformer un Synology NAS en serveur de jeu
Et lançons l'installation :

./csserver install

Si tout s'est bien passé, vous verrez « Install Complete ! »

Install Complete !Transformer un Synology NAS en serveur de jeu
Lançons… et voyons l'erreur « Multiple IP addresses found. »

./csserver start

Multiple IP addresses foundTransformer un Synology NAS en serveur de jeu
Ensuite, vous devez indiquer explicitement au serveur quelle IP utiliser.

Dans mon cas, c'est :

192.168.0.166

Accédez au dossier dont le chemin a été indiqué dans le message comme « location » :

cd /home/test/lgsm/config-lgsm/csserver

Et regardez quels fichiers sont dans ce dossier :

ls

Liste des fichiers dans le dossier csserverTransformer un Synology NAS en serveur de jeu
Copiez le contenu du fichier « _default.cfg » dans le fichier « csserver.cfg » :

cat _default.cfg >> csserver.cfg

Et passons en mode d'édition du fichier « csserver.cfg » :

nano csserver.cfg

Édition du fichier csserver.cfgTransformer un Synology NAS en serveur de jeu
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 + X

Et après la demande de sauvegarde, appuyez sur :

Y

Revenons au dossier utilisateur «test» :

cd ~

Et essayons de nouveau de lancer le serveur. Maintenant, le serveur devrait démarrer sans problème :

./csserver start

Démarrage du serveurTransformer un Synology NAS en serveur de jeu
Pour voir des informations plus détaillées, utilisons la commande :

./csserver details

Informations détaillées sur le serveurTransformer un Synology NAS en serveur de jeu
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 routeurTransformer un Synology NAS en serveur de jeu
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.cfg

Le second se trouve ici :

~ /serverfiles /cstrike /csserver.cfg

Le 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\/maps

Nous 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 restart

Au 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

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster