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

Manuel d’administration d’un serveur

Table des matières

Dois-je faire tourner un serveur ?

La réponse courte est non. Pour diverses raisons, vous devriez essayer d’utiliser les serveurs d’autres personnes, du moins au début, le temps de configurer votre son avec le client Jamulus.

Notez que vous pouvez avoir une session “privée” avec d’autres personnes sur un serveur public en vous mettant simplement en solo. Vous ne serez alors pas en mesure d’entendre les autres s’ils entrent dans votre serveur.

Si vous décidez d’exploiter un serveur, veuillez lire ce qui suit. La mise en place d’un serveur est facile, mais il est préférable de connaître d’abord la théorie :

Vitesse et latence

De nombreuses personnes attribuent au serveur des problèmes qui sont en fait des problèmes du client. Cela dépend en grande partie du matériel, de la configuration des clients, des réseaux sur lesquels ils se trouvent et de leur respect de la règle numéro un.

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!

Si vous prévoyez de jouer régulièrement avec les mêmes personnes, il vous est fortement conseillé de vous assurer d’abord que chaque membre du groupe est configuré pour utiliser Jamulus correctement. Pour ce faire, trouvez un serveur public avec un temps de ping raisonnable pour vous tous (20 ms ou moins, par exemple), connectez-vous tous à ce serveur et essayez de résoudre les problèmes individuels (en vérifiant qu’ils peuvent suivre la règle numéro un, en particulier). Utilisez la technique du solo ci-dessus pour éviter d’être interrompu si nécessaire.

Une fois que tous les problèmes avec les musiciens ont été résolus de cette manière, vous pouvez alors envisager d’héberger votre propre serveur, soit à la maison, soit sur un hôte en nuage tel qu’Amazon, ce qui peut donner lieu à une meilleure latence que les serveurs gérés à la maison. Par exemple, voir ce guide pour utiliser AWS Lightsail, par l’utilisateur de Jamulus Simon Tomlinson (Facebook)

Bande passante - en avez-vous assez ?

À moins que vous ne prévoyiez d’héberger plus de 5 joueurs sur une connexion domestique à faible débit (par exemple 10 Mbit/s en réception et 1 Mbit/s en émission), il est peu probable que vous manquiez de bande passante. Vous trouverez plus d’informations sur les exigences du réseau en fonction des différents paramètres de qualité plus loin dans ce document.

En général

  • Envisagez d’utiliser un hôte en nuage pour obtenir de meilleurs temps de ping si vous avez des problèmes

  • 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.

  • Pour exécuter un serveur privé à la maison, vous devez effectuer une redirection de port sur votre routeur. Lorsque vous exécutez un serveur public, la redirection de port ne devrait pas être nécessaire dans la plupart des cas, mais il est conseillé de le faire car certains réseaux peuvent ne pas fonctionner correctement avec Jamulus dans son mode par défaut.

  • Jamulus ne dispose que d’un support limité d’IPv6 qui doit être activé par un argument de ligne de commande sur le client et le serveur. Il est prévu d’étendre le support IPv6.

Types de serveurs

Vous pouvez faire fonctionner votre serveur dans l’un des trois “modes” suivants (soit chez vous, soit sur un hôte tiers) :

1. Public

Utilisez ce mode lorsque vous souhaitez que n’importe qui puisse rejoindre votre serveur, qui que ce soit.

Votre serveur sera répertorié dans le serveur annuaire que les clients utilisent par défaut. Les musiciens pourront alors découvrir votre serveur et s’y connecter.

Diagramme des connexions entre clients au sein d'un serveur public Jamulus
Fonctionnement des serveurs publics

2. Privé

Il s’agit de la valeur par défaut lorsque vous démarrez un serveur pour la première fois. Les serveurs privés ne sont pas répertoriés par les serveurs annuaires, de sorte que seuls les musiciens qui connaissent l’adresse de votre serveur pourront s’y connecter. Ceci est utile car Jamulus ne vous permet pas (dans aucun mode serveur) de contrôler qui peut se connecter à un serveur.

Diagramme des connexions entre clients au sein d'un serveur privé Jamulus
Fonctionnement des serveurs privés

3. Serveur annuaire

Lorsque vous souhaitez faire fonctionner plusieurs serveurs privés, éventuellement derrière un pare-feu ou sur un réseau local. Il s’agit par exemple d’événements en ligne, d’associations musicales, de répétitions de sections ou de cours de musique pour les écoles.

Pour afficher les serveurs répertoriés par un serveur annuaire personnalisé, les musiciens doivent saisir l’adresse dans le champ de paramètres “Adresse personnalisée du serveur annuaire” de leur client. Ils verront alors une liste de configuration de connexion générée par votre annuaire.

Jusqu’à 150 serveurs peuvent alors s’inscrire à votre annuaire en définissant votre adresse d’annuaire dans leur option --directoryserver au démarrage.

Pour faire fonctionner un serveur en tant qu’annuaire, il doit être configuré avec --directoryserver localhost (c’est-à-dire qu’il devient l’annuaire à interroger pour les serveurs).

Points à noter à propos des annuaires

  • Si vous voulez contrôler quels serveurs peuvent s’enregistrer dans votre répertoire, vous pouvez activer une liste blanche avec l’option de ligne de commande --listfilter. Voir la section sur les options de ligne de commande plus loin dans ce document.

  • Lorsque vous exécutez un serveur annuaire public derrière un pare-feu NAT sur un réseau privé, utilisez l’option --serverpublicip pour spécifier l’adresse IP publique du ou des serveurs listés par votre serveur annuaire. Ceci est nécessaire pour permettre aux clients de l’Internet public de se connecter à eux via NAT. Notez que pour les serveurs utilisant cette option, vous aurez toujours besoin d’une redirection de port appropriée dans votre routeur/pare-feu.

Utilisation de la bande passante

Bande passante audio

Les paramètres audio ont un impact sur la bande passante réseau requise. Le tableau ci-dessous résume les exigences du réseau en fonction de la configuration de :

  • Canaux : stéréo/mono
  • Qualité : haute/moyenne/basse
  • Durée du tampon audio : 2,67 ms, 5,33 ms, 10,67 ms, 21,33 ms

Avec les unités suivantes

  • ms : millisecondes
  • Kbit/s : Kilo-bits par seconde (Rappel : 1 Mbit/s = 1024 Kbit/s, 1 KByte/s = 8 Kbit/s)
  • Mbit/s : Méga-bits par seconde
CanauxQualitéBande passante (pour le tampon : 2,67 ms)Bande passante (pour le tampon : 5,33 ms)Bande passante (pour le tampon : 10,67 ms)Bande passante (pour le tampon : 21,33 ms)
StéréoHaute894 Kbit/s657 Kbit/s541 Kbit/s483 Kbit/s
StéréoMoyenne672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s
StéréoBasse606 Kbit/s372 Kbit/s256 Kbit/s198 Kbit/s
MonoHaute672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s 8
MonoMoyenne594 Kbit/s366 Kbit/s250 Kbit/s192 Kbit/s
MonoBasse534 Kbit/s306 Kbit/s190 Kbit/s132 Kbit/s

Largeur de bande du réseau

Il y a un amont (le musicien envoie au serveur) et un aval (le serveur renvoie le mix au musicien).

Diagramme de la largeur de bande du réseau Jamulus pour différentes qualités audio, de faible à forte.
Calculer l'utilisation de la bande passante

Notez également que le débit moyen de l’ADSL2 est de 10 Mbit/s en aval et de 1 Mbit/s en amont. Les performances réelles dépendent de la distance au fournisseur, qui peut théoriquement aller de 24 Mbit/s à 0,3 km à 1,5 Mbit/s à 5,2 km pour le débit descendant.

Exécuter un serveur

  • Utilisateurs de Windows - Utilisez l’icône “Serveur Jamulus” dans le menu Démarrer de Windows.

  • Utilisateurs de macOS - Double-cliquez sur l’icône “Serveur Jamulus” dans Applications (en supposant que vous y avez placé les fichiers de l’installation conformément à ces instructions).

  • Utilisateurs de Linux - Ouvrez une fenêtre de terminal (CTRL+ALT+t sur Ubuntu et autres distros) et tapez jamulus -s. Appuyez sur entrée et vous devriez voir la fenêtre de contrôle du serveur. Vous pouvez arrêter le serveur en fermant la fenêtre du serveur, ou en utilisant CTRL+C dans le terminal. (Pour exécuter un serveur “headless” lire ce guide)

Configuration du serveur

Image de la fenêtre de configuration du serveur Jamulus

Rendre mon serveur publique

Par défaut, vous utilisez un serveur privé et vous devez lire ces instructions pour que d’autres personnes puissent se connecter à vous dans ce mode.

Lorsque vous rendez votre serveur public, vous devriez voir un message de confirmation indiquant si votre serveur a été enregistré avec succès. Si ce n’est pas le cas et que vous laissez votre serveur en fonctionnement, il continuera à essayer de s’enregistrer jusqu’à ce qu’un emplacement se libère.

Genre

Comme il y a une limite de 150 serveurs par annuaire, vous devez sélectionner le serveur d’annuaire sur lequel vous voulez annoncer votre serveur. Sélectionnez un genre si vous avez l’intention de limiter les joueurs à ce style (les joueurs pourront alors voir votre serveur dans leur liste de genres). Votre serveur apparaîtra alors dans la liste des serveurs pertinents pour les clients.

Informations de mon serveur

Saisissez le nom, la ville et le pays afin que les autres utilisateurs puissent facilement vous identifier.

Message de bienvenue du tchat

Le texte saisi ici apparaît à tous les utilisateurs lorsqu’ils rejoignent le serveur (la fenêtre de tchat s’ouvre automatiquement pour eux).

Options

Image de la fenêtre options du serveur Jamulus

Répertoire d’enregistrement

Cette option définit le chemin d’accès à l’endroit où l’enregistrement du serveur sera stocké. Une fois ce chemin défini, la fonction “Activer l’enregistrement” de l’onglet Paramètre du serveur fera en sorte que l’enregistrement démarre dès que la première personne se connectera au serveur et s’arrête lorsque la dernière personne partira. Utilisez le bouton “Nouvel enregistrement” pour créer un nouveau sous-répertoire dans lequel les enregistrements seront désormais stockés. Notez que 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 indiquant que l’enregistrement est en cours.

Retardement du panoramique

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”. Notez que pour obtenir cet effet, tous les clients doivent être réglés sur ‘mono in / stereo out’ (ou sur ‘stereo’, mais seulement s’ils transmettent un signal stéréo).

Adresse du serveur de répertoire personnalisé

Laissez ce champ vide, sauf si vous devez inscrire votre serveur dans un annuaire privé

Démarrage Minimisé

Utilisateurs de Windows - Si vous voulez que le serveur démarre automatiquement au démarrage du système, activez la case à cocher correspondante.

Icône de status du serveur

Lorsque le serveur fonctionne, le système d’exploitation affiche une icône dans la barre d’état système ou dans la zone d’état pour indiquer si le serveur est actif :

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é

Exécuter un serveur privé

Il est fortement recommandé de tester d’abord votre serveur en mode public afin de limiter les problèmes ultérieurs en mode privé.

Redirection de port

Normalement, les personnes extérieures à votre réseau domestique ne peuvent pas voir ce qui s’y trouve. Ainsi, si vous souhaitez faire fonctionner un serveur Jamulus chez vous, vous devez ouvrir une brèche dans votre routeur pour permettre aux clients Jamulus de s’y connecter.

Le port par défaut de la version actuelle de Jamulus est le port UDP (et non TCP) 22124.

La configuration exacte de la redirection de port diffère pour chaque routeur. Pour obtenir de l’aide, consultez portforward.com.

Une fois que votre routeur est configuré, vous pouvez obtenir votre adresse IP externe (WAN), par exemple en utilisant Google. Donnez cette adresse à vos amis pour qu’ils puissent se connecter à votre serveur (mais voir aussi la note sur le DNS dynamique ci-dessous). Vous devez vous-même vous connecter à votre propre ordinateur à la place, puisque c’est votre ordinateur qui fait tourner le serveur. Donc seulement vous devez vous connecter à 127.0.0.1.

DNS dynamique et pourquoi vous en aurez probablement besoin

La plupart des connexions Internet domestiques changent d’adresse IP après un certain temps (heures, jours ou semaines). Pour que les gens puissent plus facilement se connecter à votre serveur, vous voudrez peut-être aussi configurer une adresse DNS dynamique. Vous pouvez le faire sur la machine sur laquelle vous exécutez le serveur Jamulus, ou de préférence sur votre routeur qui peut le prendre en charge.

Notez également que votre routeur domestique peut également modifier l’adresse IP de la machine sur laquelle vous exécutez votre serveur. Dans ce cas, vous devrez soit donner à cette machine une adresse IP statique dans la configuration DHCP du routeur, soit simplement faire un transfert de port vers toutes les adresses de votre réseau local.

Exécuter un serveur “headless” Linux

Ceux qui souhaitent faire fonctionner un serveur sur un “cloud” Linux ou une autre plateforme d’hébergement tierce doivent lire ce guide.

Sauvegarder le serveur

Notez que les serveurs headless n’utilisent pas de fichiers .ini. Toute la configuration est donnée sous forme d’options de ligne de commande.

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, regardez dans le dossier %APPDATA%. Vous trouverez un ou plusieurs fichiers .ini dans un dossier nommé Jamulus.

Pour toutes les autres plateformes, exécutez la commande suivante à partir de la ligne de commande pour trouver leur emplacement :

find ~ -name Jamulus.ini -ls

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).

Options de la ligne de commande

La plupart des fonctions courantes de Jamulus peuvent être définies à l’aide de l’interface graphique, mais ces fonctions et d’autres peuvent également être définies à l’aide d’options données dans une fenêtre de terminal. 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 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 GUI correspondants lorsque le serveur est en cours d’exécution.

  • -d ou --discononquit Déconnecte tous les clients lorsque le serveur est arrêté. Normalement, lorsqu’un serveur est arrêté ou redémarré, tous les clients qui n’ont pas utilisé leur bouton “Disconnect” rétabliront la connexion lorsque le serveur sera de nouveau opérationnel. L’utilisation de cette option oblige les clients à rétablir manuellement leur connexion au serveur.
  • -e ou --directoryserver Enregistrer le serveur sur un annuaire (par exemple pour définir son genre (voir aussi -o)). Voir types de serveurs pour plus d’informations.
  • --directoryfile Permet à l’annuaire de se souvenir des serveurs enregistrés même si l’annuaire est redémarré. Vous devrez spécifier un chemin vers un emplacement de fichier inscriptible dans lequel les informations sur les serveurs sont stockées.
  • -f ou --listfilter Liste blanche des serveurs s’enregistrant sur la liste des serveurs, format ip address 1[;ip address 2] Serveurs d’annuaire uniquement. Voir types de serveurs
  • -F ou --fastupdate Réduit la latence si les clients se connectent avec l’option “Enable Small Network Buffers”. 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 du fichier
  • -L ou --licence Afficher une fenêtre d’accord avant que les utilisateurs puissent se connecter
  • -m ou --htmlstatus Active le fichier d’état HTML, définit le chemin et le nom du fichier
  • -o ou --serverinfo Détails de l’emplacement dans le format : [nom];[ville];[valeur locale] (voir valeurs) Serveurs publics uniquement
  • -P ou --delaypan Démarrer avec le panoramique du délai activé Voir notes)
  • -R ou --recording Inclure un chemin accessible en écriture où les fichiers doivent être stockés (entre guillemets si nécessaire). Voir Options.
  • --norecord Désactive l’enregistrement lorsqu’il est activé par défaut par -R
  • -s ou --server Démarrer en mode serveur
  • --serverbindip Spécifiez l’adresse IP à laquelle se lier
  • -T ou --multithreading Utilisez le multithreading pour mieux utiliser les processeurs multi-cœurs afin de prendre en charge plus de clients
  • -u ou --numchannels Nombre maximum de canaux (clients)
  • -w ou --welcomemessage Message de bienvenue à la connexion
  • -z ou --startminimized Démarrage minimisé
  • --serverpublicip L’adresse IP publique du serveur s’il est connecté à un annuaire derrière le même NAT. Voir Notes sur les serveurs d’annuaire
  • -h ou --help Afficher le texte d’aide
  • -i ou --inifile Définit l’emplacement du fichier d’initialisation (remplace la valeur par défaut)
  • -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
  • -Q ou –qos` Définit la valeur DSCP de la qualité de service. La valeur par défaut est 128. Désactiver avec 0. QoS est ignoré par Windows. Pour l’activer, voir la section ci-dessous
  • -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 et quitte le système

Qualité de service (QoS)

Jamulus utilise DSCP/CS4 de manière opportuniste pour gérer le gonflement de la mémoire tampon, et utilise une valeur DSCP/CS4 par défaut de 128 (ou 0x80). Cette valeur est compatible avec IPv4 et IPv6. D’autres valeurs peuvent être définies en utilisant l’option -Q, par exemple -Q [0..255] (où 0 désactive la QoS). Cependant, la plupart des gens n’auront pas besoin de le faire.

Utiliser QoS sous Windows

Les paramètres de QoS de Jamulus (y compris la valeur par défaut) n’ont aucun effet sur Windows car le système d’exploitation les ignore. Pour l’activer, vous devez suivre ces instructions. Notez également que vous devrez peut-être répéter cette procédure à chaque mise à jour de Jamulus.

Dans la boîte de recherche à côté du menu Démarrer, tapez : Local Group Policy Editor (entrer)
Dans la nouvelle fenêtre, (cliquer) sur l’icône du menu pour afficher le troisième panneau Actions.
Regardez le premier panneau de l’éditeur de stratégie du groupe local.
 Stratégie de l’ordinateur local
  Configuration
   fenêtres paramètres
    QoS basée sur la stratégie (cliquer)
Regarder le troisieme panneau (Actions) de l’éditeur de stratégie de groupe local
 QoS basée sur la stratégie
  Plus d’actions
   créer une nouvelle stratégie (cliquer)
    nom : Jamulus
    Specifier la valeur DSCP : 32
    suivant
    Cette stratégie QoS s’applique seulement au programme Jamulus.exe
    Suivant
    Suivant
    UDP
    Fin

(Avis : La stratégie de Jamulus dans le panneau central peut être modifiée)

Dépannage

Divers problèmes peuvent survenir lors de la mise en place de serveurs, et nous encourageons généralement les gens à utiliser d’abord les serveurs (publics) d’autres personnes afin d’isoler tout problème qui pourrait en fait être dû à la configuration du client.

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

Dites-nous ce que vous pensez de Jamulus - répondez à notre enquête anonyme !

Cette documentation est placée sous Licence Creative Commons. Vous voulez vous impliquer ?