Utilisation de Node.JS sous DSM 7.0

Pour ceux qui s’intéressent à la dernière version de DSM sous NAS Synology, je vais présenter l’utilisation du paquet Node.JS disponible en standard sur ces NAS.

Il faut savoir que Node.JS propose un outillage pour développer des applications réseau et se base sur le moteur JavaScript de Chrome.

Si vous l’avez remarqué, les paquets tels que Synology Office ou encore Synology Photos se basent sur cette technologie pour fonctionner.

Nous allons illustrer l’utilisation de Node.JS avec la mise en place d’un jeu de type « snake » en mode multi-joueurs.

Le serveur de jeu sera présent sur le NAS utilisant Node.JS ainsi qu’un paquet dédié pour arrêter/démarrer ce serveur de jeu.

Les joueurs pourront alors se connecter via un navigateur Chrome au NAS sur un port spécifique pour s’affronter entre eux.

Snek

Pour information, le paquet qui est proposé sur le repo DigitalBox DSM7 Repo se base sur le projet Github « Snek ».

Celui-ci est documenté avec une partie « serveur » et une partie « cliente ».

Pour ceux que cela intéressent, vous pouvez consulter la page associée pour avoir le détail et le code source. Sinon vous pouvez passer à l’étape suivante.

Installation

Si ce n’est pas déjà fait, ajoutez l’URL http://digital.box.free.fr/dsm7/ à votre centre de paquets :

Allez dans l’onglet « Communauté », vous devriez voir apparaitre « Snek » :

Lancez ensuite l’installation du serveur de jeu :

Confirmez l’installation en cliquant sur « Accepter » :

L’installation est confirmée avec le message ci-dessous :

Le serveur de jeu doit démarrer automatiquement avec le statut « En cours d’exécution ».

Connexion

Pour se connecter au serveur « Snek », rien de plus simple : il suffit d’ouvrir un navigateur Chrome et d’entrer l’adresse IP de votre NAS suivi du port 3000.

Vous devriez voir l’écran ci-dessous apparaitre :

D’autres joueurs peuvent alors se connecter.

Si jamais vous ouvrez le port 3000 de votre NAS vers l’extérieur et que vous communiquez l’adresse IP externe de celui-ci, alors les joueurs pourront vous rejoindre à partir d’internet.

Ci-dessous un exemple avec deux joueurs :

Le premier joueur a avoir atteint une certaine taille pour son serpent remporte la partie :

Notez certaines options intéressantes :

B : permet de déposer une bombe qui explosera et pourra tuer un joueur en cours de partie

N : est utile pour définir son nom de joueur en début de partie

Enter : permet de mettre un message aux autres joueurs avant de commencer la partie.

Lorsque vous n’avez plus besoin d’utiliser le serveur de jeu, pensez à l’arrêter via le centre de paquets.

Pour finir

Avec le paquet Node.JS fournit en standard sur les NAS Synology, vous pourrez faire fonctionner en théorie n’importe quel outil se basant sur cette technologie.

Je pense notamment à l’outil Node Red , mais ce sera peut être l’occasion d’un autre article 🙂

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s