Icône de Jamulus. Redirige vers la page d'accueil
Navigation ouverte

Manuel d’administration d’un serveur

Table des matières

Dois-je administrer un serveur ?

Non. Vous n’avez pas besoin d’exécuter un serveur. Vous pouvez utiliser les serveurs répertoriés par les annuaires intégrés et utiliser Jamulus sans exécuter vous-même un serveur. Vous pouvez également utiliser un serveur non répertorié si vous connaissez son adresse Internet. Ou vous pouvez utiliser un service d’hébergement tiers tel que melomax ou KOORD. Il y a probablement un serveur à proximité que vous et vos amis pouvez utiliser avec une latence suffisamment faible pour la plupart des besoins.

L’utilisation d’un serveur public peut vous faire rencontrer des inconnus. Si vous voulez une session sans être dérangé, vous pouvez utiliser la technique du solo décrite sur la page Trucs et astuces. Vous n’entendrez pas les étrangers qui se connectent au serveur, mais ils pourront vous entendre s’ils le souhaitent.


Exigences

Vitesse et latence

La capacité du serveur lui-même (et du réseau sur lequel il se trouve) n’est PAS le principal déterminant de la qualité d’une session Jamulus!

Habituellement, les problèmes se situent du côté Client et doivent y être résolus. Consultez la page de dépannage si nécessaire.

Cependant, divers problèmes peuvent également survenir lors de la configuration des serveurs, en particulier lorsqu’ils sont exécutés sur une connexion domestique à faible bande passante. Il est généralement acceptable d’avoir moins de 5 musiciens sur une connexion domestique à vitesse plus lente (par exemple, 10 Mbit/s aval et 1 Mbit/s amont). Vous pouvez en savoir plus sur les exigences du réseau sur différents paramètres de qualité ici.

Envisagez d’utiliser un hôte dans le nuage, pas votre connexion internet domestique, pour obtenir de meilleurs temps de ping si vous avez des problèmes.

Notes générales

  • Tout serveur doit avoir une fréquence de CPU d’au moins 1,6 GHz et 1 Go de RAM
  • L’exécution d’un serveur peut nécessiter l’ajustement de tout pare-feu fonctionnant sur ou en dehors de votre machine ou de votre hôte cloud.
  • Vous devez configurer la redirection de port sur votre routeur pour faire fonctionner un serveur non enregistré chez vous. Dans la plupart des cas, cela ne devrait pas être nécessaire pour exécuter un serveur enregistré. Cependant, certains réseaux domestiques peuvent exiger une redirection de port pour un serveur enregistré.
  • Jamulus offre un support IPv6 limité que vous pouvez activer pour un client ou un serveur à partir de la ligne de commande.

Installation

La plupart des gens exécutent Jamulus sur un hôte tiers/cloud en tant que serveur “sans affichage” (pas d’affichage vidéo ni de clavier) sur du matériel sans audio fonctionnant sous Linux. Vous pouvez également faire tourner un serveur dans un environnement de bureau.


Remarque les étapes suivantes vous permettront d’exécuter un serveur “non enregistré”. Pour plus d’informations, voir la section modes du serveur ci-dessous.


Pour exécuter un serveur sans affichage sous Linux, les étapes suivantes supposent que vous êtes familier avec la ligne de commande et avec Debian/Ubuntu ou une distribution similaire qui utilise systemd.

  1. Télécharger le script d’installation :

     curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
    
  2. Rendre le script exécutable :

     chmod +x setup_repo.sh
    
  3. Exécutez le script et installez le serveur sans affichage :

     sudo ./setup_repo.sh && sudo apt install jamulus-headless
    
  4. Activez le processus du serveur sans affichage :

     sudo systemctl enable jamulus-headless
    
  5. Ajoutez les options de la ligne de commande voulues à la ligne ExecStart dans le fichier service systemd :

     sudo systemctl edit --full jamulus-headless
    
  6. Rechargez les fichiers systemd et redémarrez le serveur sans affichage :

     sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless
    

Pour modifier la configuration de votre serveur, il suffit de répéter les deux dernières étapes ci-dessus.


Modes du serveur

Les serveurs peuvent fonctionner selon l’un des trois modes suivants (à domicile ou sur un hôte tiers), en fonction de vos besoins.

Mode non-enregistré

Il s’agit de la valeur par défaut lors du premier démarrage d’un serveur. Les serveurs non enregistrés ne sont pas répertoriés par les annuaires, donc seuls les musiciens qui connaissent l’adresse de votre serveur pourront s’y connecter.

Pour plus d’informations sur l’utilisation d’un serveur non enregistré, voir ce guide.

Diagramme des connexions entre clients au sein d'un serveur Jamulus non enregistré

Mode enregistré

Dans ce mode, votre serveur apparaîtra dans la liste des serveurs fournie par un annuaire. Les clients Jamulus sont livrés avec une liste de annuaires intégrée. Si vous enregistrez votre serveur dans l’un d’eux, n’importe qui peut le découvrir et s’y connecter.

Vous pouvez également inscrire votre serveur dans un annuaire personnalisé (voir ci-dessous). Les clients ne trouveront votre serveur que s’ils entrent l’adresse internet de l’annuaire personnalisé.

Notez que les annuaires ne peuvent enregistrer que 150 serveurs au maximum. Si vous voyez un message indiquant que vous ne pouvez pas enregistrer votre serveur parce que l’annuaire est plein, vous pouvez essayer de vous enregistrer dans un autre annuaire.

Diagramme des connexions entre clients au sein d'un serveur Jamulus enregistré

Mode annuaire

Lorsque vous souhaitez faire fonctionner plusieurs serveurs, éventuellement derrière un pare-feu ou sur un réseau local, vous voudrez peut-être exécuter votre serveur en tant qu’annuaire. Il s’agit par exemple d’événements en ligne, d’associations de musique, de répétitions de sections ou de cours de musique pour les écoles.

Pour information lire le guide des annuaires.


Options de configuration

En fonction de votre système d’exploitation et de la façon dont vous exécutez le serveur, vous pouvez définir les options du serveur et les rendre persistantes entre les rechargements en suivant les étapes suivantes :

Pour Linux sans affichage (Debian/Ubuntu utilisant systemd)

Ajoutez les options de la ligne de commande voulues à la ligne ExecStart dans le fichier service systemd en exécutant sudo systemctl edit --full jamulus-headless (vous devrez recharger ou redémarrer pour que les changements prennent effet. Voir Installation).

Pour l’interface graphique (toutes plateformes)

Tout réglage effectué en utilisant l’interface graphique sera stocké dans le fichier Jamulusserver.ini. (Ne pas éditer ce fichier à la main !) Cependant, certaines options ne sont pas disponibles dans l’interface graphique et doivent être définies en utilisant la ligne de commande. Pour plus d’informations, voir Serveurs sur le bureau


Configuration minimale pour fonctionner en mode enregistré

Vous pouvez faire tourner un serveur sans affichage sous Linux en utilisant systemd (avec systemctl), ce qui est couvert dans d’autres sections. Vous pouvez également exécuter un serveur directement depuis la ligne de commande. Entrez la commande suivante pour lancer un serveur enregistré :

jamulus-headless --nogui --server \
        --directoryaddress hostname:port \
        --serverinfo "nomduserveur;ville;[ville en tant que code de pays ISO à deux-lettres ou locale Qt5]"

Voir le tableau ci-dessous pour les valeurs de hostname:port.

Note : les caractères points-virgules et nouvelles lignes ne sont pas autorisés dans [nomdeserveur] et [ville] dans l’argument --serverinfo. Voir les options liées au mode serveur pour plus d’informations sur le code pays.

Options liées au mode serveur

-e ou --directoryaddress

Nécessaire pour un serveur enregistré. Également requis pour exécuter Jamulus en tant qu’annuaire.

Cette option prend le format :

--directoryaddress hostname:porthostname est le nom d’hôte de l’annuaire de genre et port est son numéro de port.

Pour vous enregistrer dans l’un des annuaires intégrés au client Jamulus, remplacez hostname:port par l’une des options suivantes :

Genrehostname:port
Tout genre 1anygenre1.jamulus.io:22124
Tout genre 2anygenre2.jamulus.io:22224
Tout genre 3anygenre3.jamulus.io:22624
Genre Rockrock.jamulus.io:22424
Genre Jazzjazz.jamulus.io:22324
Genre Classique/Folkclassical.jamulus.io:22524
Genre Chorale/Barbershopchoral.jamulus.io:22724
-o ou --serverinfo

Lorsque vous enregistrez votre serveur auprès d’un annuaire, vous pouvez fournir un nom de serveur et des détails sur l’emplacement afin que les utilisateurs puissent ensuite rechercher ces valeurs à partir de leur client.

Cette option prend le format :

[nom];[ville];[pays sous forme de code pays ISO à deux lettres]

Voir codes pays ISO à deux lettres

Remarque : les caractères point-virgule et saut de ligne ne sont pas autorisés dans les valeursnom et ville.

-L ou --licence

Affiche une fenêtre d’accord avant que les utilisateurs puissent se connecter. Le texte de l’accord à afficher doit être fourni dans le --welcomemessage (voir ci-dessous).

-w ou --welcomemessage

Un “message de bienvenue” à afficher dans la fenêtre de tchate du client lors de la connexion. Il peut prendre la forme d’une chaîne ou d’un nom de fichier et peut contenir du HTML. Lorsqu’un chemin est utilisé, le fichier doit être accessible par le compte utilisateur qui exécute Jamulus. (Sur la plupart des installations Linux, l’utilisateur jamulus est utilisé par défaut). S’il n’est pas accessible, le chemin littéral (plutôt que son contenu) apparaîtra.

--serverpublicip

L’adresse IP publique du serveur s’il est connecté à un annuaire derrière le même NAT. Voir les notes sur les serveurs d’annuaire pour davantage d’informations.

--directoryfile

Annuaires uniquement : se souvient des serveurs enregistrés même si l’annuaire est redémarré. Voir le guide des annuaires pour davantage d’informations.

-f ou --listfilter

Annuaires uniquement : spécifiez les serveurs qui peuvent s’enregistrer sur le serveur d’annuaire. Voir le guide des annuaires pour de plus amples informations.


Options générales du serveur

Ces options peuvent être utilisées quel que soit le mode d’exécution de votre serveur (bien que certaines ne soient pas pertinentes pour les annuaires).

-d ou --discononquit

Normalement, lorsqu’un serveur est arrêté ou redémarré, tous les clients qui n’ont pas utilisé leur bouton “Déconnecter” rétabliront automatiquement la connexion lorsque le serveur sera de retour. Cette option oblige les clients à rétablir manuellement leur connexion au serveur dans ce scénario.

-F ou --fastupdate

Réduit la latence si les clients se connectent avec l’option “petits tampons de réseau”. Nécessite un processeur plus rapide pour éviter les pertes de données, et une bande passante plus large pour les clients activés.

-l ou --log

Activer l’enregistrement, définir le chemin et le nom de fichier

-m ou --htmlstatus

Active le fichier d’état HTML, définit le chemin et le nom du fichier

Note : cette fonctionnalité est obsolète et pourrait disparaître dans une prochaine version.

-P ou --delaypan

Commencez avec le délai panoramique activé. Cette option utilise les petites différences de temps d’arrivée du son entre les deux oreilles. Elle produit un effet stéréo similaire à l’audition humaine naturelle par rapport à un panoramique normal de “volume”.

-s ou --server

Démarrer Jamulus en mode serveur

--serverbindip

Spécifie l’adresse IP à laquelle le processus Jamulus se liera.

Normalement, Jamulus écoutera sur toutes les adresses IP de la machine hôte. Lorsque l’hôte possède plusieurs adresses réseau, cette option permet de choisir l’une des adresses.

-T ou --multithreading

Utilise le multithreading pour mieux utiliser les processeurs multi-cœurs. Ce paramètre peut aider le serveur à prendre en charge plus de clients. Voir aussi --numchannels

-u ou --numchannels

Nombre maximum de canaux (clients)

-z ou --startminimized

Démarrez l’interface utilisateur graphique du serveur Jamulus dans l’état de fenêtre réduite.

Autres options

documents)

  • -h ou --help Afficher le texte d’aide
  • -i ou --inifile paramètre l’emplacement du fichier d’initialisation (remplace la valeur par défaut). Sur macOS, fournissez simplement un nom de fichier, puisque les fichiers de configuration ne peuvent être lus que depuis /Users/<nomdutilisateur>/Library/Containers/app.jamulussoftware.Jamulus/Data/. Pour le serveur, remplacez app.jamulussoftware.Jamulus par app.jamulussoftware.JamulusServer. Activez “Afficher le dossier Bibliothèque” dans “Afficher les options d’affichage” dans le Finder pour voir ce dossier.)
  • -n ou --nogui Désactiver l’interface graphique (pour une utilisation en mode sans interface graphique)
  • -p ou --port Définit le numéro du port UDP local. La valeur par défaut est 22124
  • --jsonrpcport Permet au serveur API JSON-RPC de contrôler l’application, définit le numéro de port TCP (EXPÉRIMENTAL, les API peuvent changer ; accessible uniquement depuis localhost). Veuillez consulter le fichier de documentation de l’API JSON-RPC.
  • --jsonrpcsecretfile Requis lorsque vous utilisez --jsonrpcport. Définit un chemin vers un fichier texte contenant une chaîne d’authentification pour obtenir l’accès à l’API JSON-RPC.
  • --jsonrpcbindip L’adresse IP à laquelle le serveur JSON-RPC devrait se lier. (optionnel, la valeur par défaut est 127.0.0.1)
  • -Q ou –qos` Définit la valeur DS Field byte de la qualité de service. La valeur par défaut est 128 (DSP/CS4). QoS est ignoré par Windows. Pour l’activer, voir cette page
  • -t ou --notranslation Désactiver les traductions de langue de l’interface utilisateur
  • -6 ou --enableipv6 Active l’adressage IPv6 (IPv4 est toujours activé)
  • -v ou --version Affiche les informations sur la version

Contrôle du serveur via l’API

Jamulus peut être contrôlé via une API expérimentale qui est sujette à des changements. Vous pouvez trouver l’API JSON-RPC documentée dans le dépôt principal (en anglais). JSON-RPC vous permet de contrôler certaines fonctionnalités telles que la modification du message de bienvenue ou le lancement d’enregistrements en mode sans-affichage à partir d’applications externes authentifiées. Il fonctionne lorsque le serveur est en cours d’exécution.


Enregistrement

-R ou --recording

Définir le répertoire d’enregistrement du serveur. Par défaut, le serveur enregistre lorsqu’une session est active.

Remarque : vous devrez sauvegarder les enregistrements dans un chemin hors du répertoire personnel de jamulus, ou supprimer ProtectHome=true de votre fichier d’unité systemd, mais sachez que cela représente toutefois un risque potentiel pour la sécurité.

Les enregistrements sont par piste au format Audacity.lof et REAPER.rpp. Ouvrez les fichiers respectifs pour les écouter dans ces applications.

Remarque : lorsque votre serveur enregistre, les clients affichent un message en bannière rouge indiquant que l’enregistrement est en cours.

--norecord

Configurer le serveur pour qu’il n’enregistre pas par défaut lorsque l’enregistrement est configuré.

Contrôler l’enregistrement

L’enregistrement commence dès que la première personne se connecte au serveur et s’arrête lorsque la dernière personne le quitte.

Si le serveur reçoit un signal SIGUSR1 pendant un enregistrement, il démarre un nouvel enregistrement dans un nouveau répertoire. SIGUSR2 permet d’activer ou de désactiver l’enregistrement. Si JSON-RPC est activé, vous pourrez également gérer le serveur d’une manière comparable à l’interface graphique. Veuillez consulter la documentation (expérimentale) JSON-RPC sur l’enregistreur (en anglais).

Pour envoyer ces signaux en utilisant systemd, créez les deux fichiers .service suivants dans /etc/systemd/system, en les appelant de manière appropriée (par exemple, jamulusTogglerec.service).

Pour activer ou désactiver l’enregistrement (selon l’état actuel) :

 [Unit]
 Description=Basculer l'état d'enregistrement du serveur Jamulus
 Requisite=Jamulus-Server

 [Service]
 Type=oneshot
 ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus-headless

Pour démarrer un nouvel enregistrement :

 [Unit]
 Description=Démarrer un nouvel enregistrement sur le serveur Jamulus
 Requisite=Jamulus-Server

 [Service]
 Type=oneshot
 ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus-headless

_Remarque : le nom du service Jamulus dans la ligne ExecStart doit être le même que le nom du fichier .service utilisé par systemd pour contrôler votre serveur Jamulus. Par défaut, si vous utilisez les fichiers .deb du dépôt, il s’agit de jamulus-headless, comme dans cet exemple.

Exécutez sudo systemctl daemon-reload pour les enregistrer pour la première utilisation.

Vous pouvez maintenant les exécuter avec la commande systemctl, par exemple :

sudo systemctl start jamulusTogglerec

Vous pouvez voir le résultat de ces commandes si vous exécutez systemctl status jamulus-headless (ou le nom du service que vous avez spécifié manuellement). Vous pouvez également consulter votre journal (système).


Ajouter des métadonnées au serveur

Vous pouvez ajouter des métadonnées au message de bienvenue d’un serveur afin d’ajouter des informations supplémentaires et cachées telles que des informations de contact ou des demandes de politique pour les robots (c’est comparable à robots.txt). Voir l’entrée de la base de connaissances de la communauté sur les métadonnées pour plus d’informations.


Serveurs sur le bureau

Jamulus peut être exécuté en mode Serveur dans l’environnement graphique d’un ordinateur. Cela vous donne une interface utilisateur graphique pour contrôler la plupart des paramètres. Pour ce faire, commencez par installer Jamulus pour votre plate-forme, puis effectuez l’une des opérations suivantes :

  • Utilisateurs de Windows - Utilisez l’icône “Jamulus Server” dans le menu Démarrer de Windows. Si vous souhaitez que le serveur démarre automatiquement lorsque vous lancez Windows, cochez la case de cette option.

  • Utilisateurs de macOS - Double-cliquez sur l’icône “Serveur Jamulus” dans Applications.

  • Utilisateurs de Linux - Lancez le raccourci « Jamulus Serveur ». Ou vous pouvez ouvrir une fenêtre de terminal (CTRL + ALT + t sur Debian et les distributions associées), tapez jamulus -s et appuyez sur entrée.

Si la plupart des fonctions courantes de Jamulus peuvent être définies à l’aide de l’interface graphique, d’autres ne peuvent l’être qu’à l’aide d’options données dans une fenêtre de terminal lors du lancement du serveur. La manière exacte de procéder dépend de votre système d’exploitation.

Par exemple, sous Windows, pour utiliser un fichier de paramètres spécifique, faites un clic-droit sur le raccourci de Jamulus et choisissez Propriétés > Cible. Ajoutez les arguments nécessaires à Jamulus.exe

"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100

Pour macOS, démarrez une fenêtre de Terminal et exécutez Jamulus avec les options souhaitées comme ceci :

/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100

Note Les options de la ligne de commande définissent les valeurs par défaut du serveur au démarrage. Vous pouvez les remplacer par les contrôles correspondants de l’interface graphique lorsque le serveur est en cours d’exécution.

L’icône d’état du serveur

Lorsque le serveur fonctionne en mode graphique, le système d’exploitation affiche une icône dans la barre d’état système ou dans la zone d’état qui indique si le serveur a des connexions :

Image de l'icône de status du serveur Jamulus

Le serveur est vide

Image de l'icône de status du serveur Jamulus

Le serveur est occupé


Sauvegarder le serveur

Une fois installé et en fonctionnement, vous voudrez peut-être conserver une copie de vos paramètres. Avoir une sauvegarde est toujours une bonne idée, et les fichiers de paramètres ne sont pas rétrocompatibles entre les versions de Jamulus. Ainsi, si vous souhaitez revenir à la version précédente, vous devrez restaurer les paramètres que vous aviez.

Pour trouver votre fichier de paramètres sous Windows, saisissez %APPDATA% dans la barre de recherche et cherchez un dossier nommé Jamulus. Vous trouverez un ou plusieurs fichiers .ini dans ce dossier. Maintenant sauvegardez les paramètres de Jamulus.

Pour toutes les autres plateformes, exécutez la commande suivante à partir de la ligne de commande pour trouver leur emplacement et copier les fichiers à un autre endroit :

find ~ -name Jamulus.ini -ls

Si vous avez utilisé le paramètre --inifile pour sauvegarder un fichier ini à un endroit différent, n’oubliez pas de sauvegarder également ces fichiers. Points à noter

  • Ne pas sauvegarder ou restaurer les fichiers de paramètres lorsque Jamulus est en cours d’exécution.
  • Il n’est pas recommandé de modifier les fichiers de paramètres à la main (ils ne sont pas conçus pour cela).
  • Vous pouvez rétablir tous les paramètres par défaut en supprimant simplement le fichier de paramètres (après avoir fermé Jamulus).

  • Les serveurs sans affichage n’utilisent pas de fichiers .ini. Toute la configuration est donnée sous forme d’options de ligne de commande. Si vous exécutez un serveur en mode graphique, après avoir lu les options de la ligne de commande au démarrage, il stockera sa configuration dans le fichier Jamulusserver.ini.

Dépannage

Si vous avez un autre problème, regardez ce guide.