Transformez le Synology NAS en serveur de jeux



Salutations!

Donc, pour toutes les raisons connues, vous devez passer plus de temps à la maison devant le moniteur.
Dans cette situation, il faut rappeler les affaires d'autrefois.

Comme le montre clairement le titre de cet article, nous parlerons de la configuration de votre Synology NAS en tant que serveur de jeux.

Achtung - il y a beaucoup de captures d'écran dans l'article (les captures d'écran sont cliquables)!

Avant de commencer, voici une liste des outils dont nous avons besoin:

Synology NAS - Je ne vois aucune restriction ici, je pense que tout le monde le fera, s'il n'est pas prévu de garder un serveur pour 10 000 joueurs.

Docker - aucune compétence particulière n'est requise, suffisamment figurée pour comprendre le principe du travail.

LinuxGSM - à propos de ce qu'un LinuxGSMpeut être lu. En ligne https://linuxgsm.com .

Actuellement (avril 2020), 105 serveurs de jeux sont disponibles sur LinuxGSM.
La liste complète peut être trouvée ici https://linuxgsm.com/servers .

Steam est un marché avec des jeux.

Le serveur de jeux LinuxGSM est intégré à SteamCMD , c'est-à-dire que le serveur de jeux LinuxGSM ne peut être utilisé que pour les jeux de Steam.

Installer Docker sur Synology NAS


A ce stade, tout est simple, allez dans le panneau d'administration de Synology, puis dans le "Centre de paquets", trouvez et installez Docker.

Centre d'emballage

Nous commençons et voyons quelque chose comme ça (j'ai déjà ce conteneur installé)

Gestion des conteneurs

Ensuite, allez dans l'onglet «Registre», lancez la recherche «gameservermanagers», sélectionnez l'image «gameservermanagers / linuxgsm-docker» et cliquez sur le bouton «Télécharger».

gameservermanagers / linuxgsm-docker

Après cela, allez dans l'onglet "Image", attendez que l'image se termine, et cliquez sur le bouton "Lancer".

Téléchargez l'image

Dans la fenêtre qui s'ouvre, allez dans «Paramètres avancés», puis allez dans l'onglet «Réseau» et cochez la case «Utiliser le même réseau que Docker Host».

D'autres paramètres, tels que «Nom du conteneur», par exemple, sont modifiés à notre discrétion.
Nom du conteneur - comme vous pouvez le deviner, il s'agit du nom du conteneur, il vous sera utile plus tard. Je recommande de l'appeler de façon succincte, par exemple, que ce soit «test».

Ensuite, cliquez plusieurs fois sur le bouton «Appliquer» ou «Suivant» jusqu'à ce que la configuration soit terminée.

Réglages avancés

Allez dans l'onglet «Conteneur» et voyez le nouveau conteneur lancé (sinon, démarrez).
Ici, vous pouvez arrêter, démarrer, supprimer et exécuter d'autres actions.

Lancement de conteneurs

Configuration du conteneur Docker LinuxGSM


Avant de vous connecter au Synology NAS via SSH, vous devez activer l'accès SSH dans le panneau d'administration.

Connexion SSH

Ensuite, vous devez utiliser l'adresse IP interne du serveur Synology NAS pour vous connecter via SSH.

Accédez au terminal (ou à tout autre analogue, par exemple, sous Windows, c'est PuTTY ) et utilisez la commande suivante:

ssh user_name@IP

Dans mon cas, ça ressemble à ça

ssh admin@192.168.0.166

Adresse IP du serveur Synology NAS

Après l'autorisation, vous devez exécuter la commande pour accéder au conteneur "test" lui-même (le champ "Nom du conteneur" dans les paramètres Docker) sous l'utilisateur "root"

sudo docker exec -u 0 -it test bash

Connectez-vous à Docker

Avant d'installer LinuxGSM, vous devez effectuer certains travaux.

Définir un mot de passe pour l'utilisateur root

passwd

Ensuite, mettez à jour tous les packages

apt update && apt upgrade && apt autoremove

Nous attendons la fin du processus ...

Mises à jour du package

Ensuite, installez les utilitaires nécessaires

apt-get install sudo iproute2 netcat nano mc p7zip-rar p7zip-full

Puisque, sous «root», effectuer différentes actions n'est pas une bonne idée, nous ajoutons un nouvel utilisateur, «test».

adduser test

Et laissez le nouvel utilisateur utiliser sudo

usermod -aG sudo test

Passer au nouvel utilisateur "test"

su test

Installer les utilitaires

Installer et configurer LinuxGSM


Regardons un exemple de configuration LinuxGSM en utilisant l'exemple «Counter-Strike» alias «CS 1.6» https://linuxgsm.com/lgsm/csserver

Allez à la page avec l'instruction «Counter-Strike» linuxgsm.com/lgsm/csserver .

Dans l'onglet «Dépendances», copiez le code sous «Ubuntu 64 bits».

Au moment de l'écriture, 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 de dépendance

Pendant le processus d'installation, vous devez accepter la «licence Steam»:

Licence Steam

Allez dans l'onglet «Installer», copiez le code de la 2ème étape (sautez la 1ère étape, l'utilisateur «test» existe déjà):

Installer

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

En attente de téléchargement:

Télécharger

Et lancez l'installation:

./csserver install

Si tout se passe comme d'habitude, nous verrons la chère «Installation terminée!»

Installation terminée!

Nous commençons ... et nous voyons l'erreur "Plusieurs adresses IP trouvées."

./csserver start

Plusieurs adresses IP trouvées

Ensuite, vous devez indiquer explicitement au serveur quelle adresse IP utiliser.

Dans mon cas, c'est:

192.168.0.166

Allez dans le dossier, dont le chemin était dans le message comme «emplacement»:

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

Et voyez quels fichiers se trouvent dans ce dossier:

ls

Liste des fichiers dans le dossier csserver

Copiez le contenu du fichier "_default.cfg" dans le fichier "csserver.cfg":

cat _default.cfg >> csserver.cfg

Et passez en mode édition du fichier "csserver.cfg":

nano csserver.cfg

Modification du fichier csserver.cfg

Trouvez la ligne:

ip="0.0.0.0"

Et remplacez l'adresse IP qui a été proposée, dans mon cas c'est "192.168.0.166".

Il en résultera quelque chose comme ceci:

ip="192.168.0.166"

Fixez le raccourci clavier:

Ctr + X

Et après l'offre, cliquez sur Enregistrer:

Y

Nous revenons au dossier utilisateur «test»:

cd ~

Et encore une fois, nous essayons de démarrer le serveur. Maintenant, le serveur devrait démarrer sans problème:

./csserver start

Démarrage du serveur

Pour afficher des informations plus détaillées, utilisez la commande:

./csserver details

Informations détaillées sur le serveur

Parmi les paramètres importants, il convient de 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à disponible sur le réseau local.

Configuration du transfert IP


Jouer sur le réseau local, c'est bien, mais jouer avec des amis sur Internet, c'est mieux!

Pour transmettre l'adresse IP que le routeur a reçue du fournisseur, nous utilisons le mécanisme NAT .

Il convient également de noter que la plupart des fournisseurs utilisent des adresses IP dynamiques pour leurs clients.

Pour plus de commodité et de stabilité, il est conseillé d'obtenir une adresse IP statique.

Comme j'ai un routeur TP-Link Archer C60, je donne un exemple de configuration du transfert d'appel, tel qu'il est implémenté dans mon routeur.

Pour les autres routeurs, je suppose que le paramètre de transfert est similaire.

Tout est simple ici - vous devez spécifier le transfert de l'adresse IP externe à l'adresse IP interne du serveur pour deux ports:

  • 27015
  • 27005


Dans le panneau d'administration de mon routeur, cela ressemble à ceci

Panneau de routeur d'administration

C'est tout, après avoir enregistré les paramètres du routeur, le serveur de jeu sera disponible sur le réseau à une adresse IP externe pour les ports spécifiés!

Paramètres supplémentaires sur l'exemple de CS 1.6


Par exemple, CS 1.6 souhaite donner quelques conseils utiles.

Il existe deux fichiers pour la configuration du serveur.

Le premier est ici:

~/lgsm/config-lgsm/csserver/csserver.cfg

Le second est 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 démarrage du serveur, etc.

Le deuxième fichier contient les paramètres des 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 la gestion depuis la console du serveur lui-même via CVar "rcon_password".

Une liste de toutes les variables CVar peut être trouvée ici http://txdv.imtqy.com/cstrike-cvarlist

De plus, il sera très probablement nécessaire d'installer des cartes supplémentaires, par exemple, «fy_pool_day».

Toutes les cartes pour CS 1.6 sont ici:

~/serverfiles/cstrike/maps

Nous trouvons la carte souhaitée, la téléchargeons directement sur le serveur (si dans l'archive, décompressez-la), déplacez le fichier avec l'extension ".bsp" dans le dossier contenant les fichiers "~ / serverfiles / cstrike / maps" et redémarrez le serveur.

~./csserver restart

Soit dit en passant, toutes les commandes de serveur disponibles peuvent être affichées comme ceci

~./csserver

Total


Je suis content du résultat. Tout fonctionne rapidement et ne traîne pas.

LinuxGSM a de nombreux paramètres supplémentaires, par exemple, l'intégration avec Telegram et Slack pour les notifications, mais certaines fonctionnalités doivent encore être améliorées.

En général, je recommande d'utiliser!

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 / comment-héberger-un-counter-strike-1-6-game-on-linux-full-tutorial-a25f20ff1149
http://txdv.imtqy.com/cstrike-cvarlist

UPD


Comme remarqué matériel centraltous les Synology NAS ne peuvent pas dans Docker, voici une liste d'appareils qui peuvent https://www.synology.com/ru-ru/dsm/packages/Docker .

All Articles