Jamulus Icoon. Link naar de homepage
Open navigatie

Serverbeheerdershandleiding

Inhoudsopgave

Moet ik een eigen server hebben?

Het korte antwoord is nee. Om verschillende redenen moet je proberen om de servers van andere mensen te gebruiken, in ieder geval in het begin terwijl je je geluid instelt met de Jamulus-client.

Merk op dat je een “prive” sessie kunt hebben met andere mensen op een openbare server door simpelweg met elkaar te soleren. Je kunt dan niemand anders horen als ze de server binnenkomen.

Als je besluit een server te gebruiken, lees dan het volgende. Het opzetten van een server is eenvoudig, maar het is beter om eerst de theorie te kennen:

Snelheid en latency

Veel mensen schrijven problemen toe aan de server die in feite problemen zijn met de client. Veel hangt af van de hard-/softwareconfiguratie van de clients, de netwerken waarop ze zich bevinden en of ze zich aan de gouden regel houden.

De capaciteit van de server zelf (en het netwerk waarop deze zich bevindt) is NIET de belangrijkste bepalende factor voor de kwaliteit van een Jamulus-sessie!

Als je van plan bent regelmatig met dezelfde mensen te spelen, wordt je ten zeerste aangeraden om er eerst voor te zorgen dat elk lid van de groep is ingesteld om Jamulus correct te gebruiken. Doe dit door een openbare server te vinden met een redelijke ping-tijd voor jullie allemaal (misschien 20 ms of minder), maak daar allemaal verbinding mee en gebruik dit om eventuele individuele problemen op te lossen (verifieer dat ze met name de gouden regel kunnen hanteren). Gebruik de bovenstaande solotechniek om te voorkomen dat je onderbroken wordt als dat nodig is.

Zodra problemen met muzikanten op deze manier zijn opgelost, kun je onderzoeken of je je eigen server thuis of op een cloudhost zoals Amazon host, wat kan resulteren in een betere latency dan servers die thuis draaien. Zie bijvoorbeeld deze handleiding voor het gebruik van AWS Lightsail, door Jamulus gebruiker Simon Tomlinson (Facebook)

Bandbreedte – heb je genoeg?

Tenzij je van plan bent meer dan ongeveer 5 spelers te hosten op een tragere thuisverbinding (bijv. 10 Mbit/s down en 1 Mbit/s up), dan is het onwaarschijnlijk dat je te weinig bandbreedte heeft. Verderop in dit document kun je meer lezen over de netwerkvereisten bij verschillende kwaliteitsinstellingen.

In het algemeen

  • Overweeg om een cloudhost te gebruiken om betere ping-tijden te krijgen als je problemen hebt

  • Een server moet een CPU-frequentie van ten minste 1,6 GHz en 1 GB RAM hebben

  • Als je een server gebruikt, moet je mogelijk eventuele firewalls aanpassen die op of buiten je computer of cloudhost worden uitgevoerd.

  • Als je thuis een prive server uitvoert, moet je port forward op je router gebruiken. Als je een openbare server gebruikt, zou port forwarding in de meeste gevallen niet nodig moeten zijn, maar het is aan te raden dit te doen omdat sommige netwerken mogelijk niet goed werken met Jamulus in de standaardmodus.

  • Jamulus heeft slechts beperkte IPv6-ondersteuning die moet worden ingeschakeld met een opdrachtregeloptie op de client en server. Er zijn plannen om de IPv6-ondersteuning uit te breiden.

Servertypen

Je kunt de server in een van deze drie “modi” laten draaien (thuis of op een host van een derde partij):

1. Openbaar

Gebruik deze modus wanneer je wilt dat iedereen de server kan gebruiken, wie dat ook is.

Jouw server wordt vermeld in het adresboek die standaard door clients wordt gebruikt. Muzikanten kunnen dan je server ontdekken en er verbinding mee maken.

diagram met verbingen tussen clients en een openbare Jamulus server
Hoe openbare servers werken

2. Prive

Dit is de standaardinstelling wanneer je voor de eerste keer een server start. Prive servers worden niet weergegeven in het adresboek, dus alleen muzikanten die het adres van de server kennen, kunnen er verbinding mee maken. Dit is handig omdat Jamulus je (in geen enkele servermodus) laat bepalen wie er verbinding kan maken met een server.

diagram met verbinden tussen clients en een prive Jamulus server
Hoe prive servers werken

3. Adresboek

Deze mode is bedoeld voor als je een aantal prive servers wilt opzetten, eventueel ook achter een firewall of op een LAN. Denk aan online evenementen, muziekverenigingen, sectierepetities of muzieklessen voor scholen.

Om servers te bekijken die zijn vermeld door een aangepaste adresboek server, moeten muzikanten het adres invoeren in het instellingenveld “Eigen adresboek” in hun client. Ze zullen dan een lijst met verbindingsinstellingen zien die wordt gegenereerd door jouw adresboek.

Maximaal 150 servers kunnen zich vervolgens registreren bij jouw adresboek door het adresboek adres in te stellen in hun --directoryserver-optie bij het opstarten.

Om een server als een adresboek te laten werken, moet deze worden geconfigureerd met --directoryserver localhost (dat wil zeggen, zichzelf het adresboek maken om naar servers te zoeken).

Aandachtspunten voor adresboeken

  • Als je wilt bepalen welke servers zich bij jouw adresboek kunnen registreren, dan kun je een whitelist inschakelen met de opdrachtregeloptie --listfilter. Zie het gedeelte over opdrachtregelopties verderop in dit document.

  • Wanneer je een openbare adresboek server achter een NAT-firewall op een particulier netwerk gebruikt, gebruikt je de optie --serverpublicip om het openbare IP-adres op te geven van de server(s) die door jouw adresboek worden vermeld. Dit is nodig om clients op het openbare internet via NAT verbinding te laten maken. Houd er rekening mee dat voor de servers die deze optie gebruiken, je nog steeds de juiste port forwarding in je router/firewall nodig hebt.

Bandbreedtegebruik

Audio bandbreedte

De audio-instellingen hebben invloed op de benodigde netwerkbandbreedte. De onderstaande tabel geeft een overzicht van de netwerkvereisten met betrekking tot de configuratie van:

  • Audiokanalen : stereo/mono
  • Audiokwaliteit : hoog/normaal/laag
  • Audiobuffervertraging : 2.67 ms, 5.33 ms, 10.67 ms, 21.33 ms

Met de volgende eenheden

  • ms : milliseconde
  • Kbit/s : Kilo-bits per seconde (Ter herinnering : 1 Mbit/s = 1024 Kbit/s, 1 KByte/s = 8 Kbit/s)
  • Mbit/s : Mega-bits per seconde
KanalenKwaliteitBandbreedte (voor buffer : 2.67 ms)Bandbreedte (voor buffer : 5.33 ms)Bandbreedte (voor buffer : 10.67 ms)Bandbreedte (voor buffer : 21.33 ms)
StereoHoog894 Kbit/s657 Kbit/s541 Kbit/s483 Kbit/s
StereoNormaal672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s
StereoLaag606 Kbit/s372 Kbit/s256 Kbit/s198 Kbit/s
MonoHoog672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s
MonoNormaal594 Kbit/s366 Kbit/s250 Kbit/s192 Kbit/s
MonoLaag534 Kbit/s306 Kbit/s190 Kbit/s132 Kbit/s

Netwerk bandbreedte

Er is een upstream (muzikant stuurt naar de server) en een downstream (server stuurt de mix terug naar de muzikant)

een diagram met de Jamulus netwerk bandbreedte voor verschillende audiokwaliteit van laag naar hoog
Bereken bandbreedte gebruik

Weet dat de gemiddelde ADSL2-overdrachtssnelheid 10 Mbit/s is voor downstream en 1 Mbit/s voor upstream. De werkelijke prestaties zijn afhankelijk van de afstand tot de provider, die theoretisch kan variëren van 24 Mbit/s bij 0,3 km tot 1,5 Mbit/s bij 5,2 km voor de downloadsnelheid.

Een server starten

  • Windows gebruikers - Gebruik het “Jamulus Server” icoon in het windows start menu.

  • macOS gebruikers - Dubbelklik het “Jamulus Server” icoon in programma’s (ervan uitgaande dat je de bestanden van de installatie daar hebt geplaatst zoals per deze instructies).

  • Linux gebruikers - Open een terminalvenster (CTRL+ALT+t op Ubuntu en gerelateerde distributies) en typ jamulus -s. Druk op enter en je zou het servercontrolevenster moeten zien. Je kunt de server stoppen door het servervenster te sluiten of door CTRL+C in de terminal te gebruiken. (Voor het starten van een headless server lees deze handleiding)

Serverconfiguratie

afbeelding van het Jamulus server configuratie venster

Maak mijn server openbaar

Standaard gebruik je een prive server en moet je deze instructies lezen om anderen in deze modus verbinding met je te laten maken.

Wanneer je jouw server openbaar maakt, zou je een bevestigingsbericht moeten zien dat aangeeft of de server succesvol is geregistreerd. Als dit niet het geval is en je laat je server actief, dan blijft deze proberen zich te registreren totdat er een slot beschikbaar is.

Genre

Omdat er een limiet is van 150 servers per adresboek, moet je selecteren op welke adresboek server je jouw server wil laten zien. Selecteer een genre als je van plan bent spelers tot die stijl te beperken (spelers kunnen je server dan zien in hun genrelijst). Hierdoor verschijnt je server in de relevante serverlijst voor clients.

Mijn serverinfo

Type de naam, de stad en selecteer het land zodat de gebruikers je makkelijk kunnen herkennen.

Welkomstbericht chatvenster

De tekst die hier wordt ingevoerd, verschijnt voor alle gebruikers wanneer ze verbinding maken met de server (het chatvenster wordt automatisch voor hen geopend).

Opties

afbeelding van het Jamulus server opties venster

Geluidsopnamedirectory

Dit stelt het pad in naar waar de opname van de server wordt opgeslagen. Als dit pad is ingesteld, zorgt de functie “Activeer geluidsopname” op het tabblad Server instellingen ervoor dat de opname begint zodra de eerste persoon verbinding maakt met de server en stopt wanneer de laatste persoon de verbinding verbreekt. Gebruik de knop “Nieuwe geluidsopname” om een nieuwe submap aan te maken waarin de opnames vanaf dat moment worden opgeslagen. Merk op dat de opnames per track in Audacity.lof en REAPER.rpp formaat worden opgeslagen. Open de respectievelijke bestanden om ernaar te luisteren in die toepassingen.

Opmerking: Wanneer jouw server aan het opnemen is, zullen clients een bericht weergeven dat de opname is ingeschakeld.

Delay panning

Deze optie maakt gebruik van kleine verschillen in de aankomsttijd van het geluid tussen de twee oren. Het produceert een stereo-effect dat vergelijkbaar is met het natuurlijke menselijk gehoor in vergelijking met normale “volume” panning. Merk op dat om het effect te bereiken, alle clients moeten worden ingesteld op ‘mono-in/stereo-uit’ (of op ‘stereo’, maar alleen als een stereosignaal wordt verzonden).

Eigen adresboek serveradres

Laat dit veld leeg, tenzij je de server op een prive adresboek moet vermelden

Start geminimaliseerd bij systeemstart

Windows gebruikers - Als je wilt dat de server automatisch start bij het opstarten van het systeem, schakelt je het bijbehorende selectievakje in.

Een prive server gebruiken

Het wordt ten zeerste aanbevolen om je server eerst in de openbare modus te testen om eventuele latere problemen in de prive modus te beperken.

Port forwarding

Normaal gesproken kunnen mensen van buiten jouw thuisnetwerk de dingen daarbinnen niet zien. Dus als je thuis een Jamulus-server wilt gebruiken, moet je een gat in je router maken om Jamulus-clients ermee te laten verbinden.

De standaardpoort voor de huidige versie van Jamulus is UDP (niet TCP) poort 22124.

De exacte manier van het port forwarding instellen verschilt per router. Voor hulp zie portforward.com.

Zodra je de router hebt ingesteld, kunt je jouw externe (WAN) IP-adres krijgen, b.v. door Google te gebruiken. Geef dit adres aan je vrienden zodat ze verbinding kunnen maken met je server (zie ook de opmerking over dynamische DNS hieronder). Je moet zelf in plaats daarvan verbinding maken met je eigen computer, aangezien jouw computer de server uitvoert. Daarom hoef jij alleen verbinding te maken met 127.0.0.1.

Dynamische DNS en waarom je het waarschijnlijk nodig hebt

De meeste thuis internetverbindingen zullen na verloop van tijd (uren, dagen of weken) van IP-adres veranderen. Om het voor mensen makkelijker te maken om verbinding met je te maken, wil je daarom misschien ook een dynamisch DNS-adres instellen. Je kunt dit doen op de machine waarop je de Jamulus-server gebruikt of bij voorkeur in de router, als die dit ondersteunt.

Houd er ook rekening mee dat je thuisrouter ook het IP-adres kan wijzigen van de machine waarop je de server gebruikt. In dat geval moet je die machine misschien een statisch/vast IP-adres geven in de DHCP-configuratie van de router of gewoon port forwarden naar alle adressen in jouw LAN.

Een headless linux server gebruiken

Degenen die een server op een Linux-cloud of een ander hostingplatform van derden willen uitvoeren moeten deze handleiding lezen.

Een back-up maken van de server

Merk op dat een headless server geen .ini gebruikt. Alle configuratie wordt ingesteld met opdrachtregelopties.

Eenmaal geïnstalleerd en actief, dan wil je misschien een kopie van de instellingen bewaren. Het hebben van een back-up is altijd een goed idee en de bestanden waarin de instellingen zijn opgeslagen zijn niet compatibel met vorige versies van Jamulus. Dus als je terug wilt naar de vorige versie, dan moet je de instellingen herstellen die je had.

Om het instellingenbestand op Windows te vinden kijk je in de map %APPDATA%. Er zullen een of meer .ini-bestanden in een map staan met de naam Jamulus.

Voor alle andere platformen voer je het volgende uit vanaf de opdrachtregel om te zien waar ze zich bevinden:

find ~ -name Jamulus.ini -ls

Aandachtspunten

  • Maak geen back-up of herstel geen instellingenbestanden wanneer Jamulus actief is.
  • Het wordt niet aanbevolen om instellingenbestanden met de hand te bewerken (daar zijn ze niet voor ontworpen).
  • Je kunt alle instellingen terugzetten naar hun standaardwaarden door gewoon het instellingenbestand te verwijderen (na het sluiten van Jamulus).

Opdrachtregelopties

De meest voorkomende functies in Jamulus kunnen worden ingesteld met behulp van de GUI, maar deze en andere kunnen ook worden ingesteld met behulp van opties die in een terminalvenster/opdrachtprompt worden ingegeven. Hoe je dit precies doet, hangt af van je besturingssysteem.

Als je bijvoorbeeld in Windows een specifiek instellingenbestand wilt gebruiken, klikt je met de rechtermuisknop op de Jamulus-snelkoppeling en kies je “Eigenschappen” > Doel. Voeg de nodige argumenten toe aan Jamulus.exe:

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

Voor macOS, start een terminal venster en voer Jamulus uit met gewenste opties op deze manier:

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

Opmerking: Opdrachtregelopties veranderen de instellingen die in de GUI gemaakt zijn niet.

  • -d of --discononquit Verbreek de verbinding met alle clients bij afsluiten. Normaal gesproken, wanneer een server wordt gestopt of opnieuw wordt opgestart, zullen alle clients die hun “Verbinding verbreken”-knop niet hebben gebruikt, de verbinding herstellen wanneer de server weer actief is. Als je deze optie gebruikt, worden clients gedwongen hun verbinding met de server handmatig opnieuw tot stand te brengen.
  • -e of --directoryserver Registreer de server op een adresboek (bijv. om het genre in te stellen (zie ook -o)). Zie servertypen voor meer informatie.
  • --directoryfile Activeer het adresboek om geregistreerde servers te onthouden, zelfs als het adresboek opnieuw wordt gestart. Je moet een pad opgeven naar een beschrijfbare bestandslocatie waarin de serverinformatie wordt opgeslagen.
  • -f of --listfilter Whitelist-servers die zich registreren op de serverlijst, formaat ip-adres 1[;ip-adres 2] Alleen voor adresboek servers. Zie servertypen
  • -F of --fastupdate Vermindert de latency als clients verbinding maken met de optie “Kleine netwerkbuffers inschakelen”. Vereist een snellere CPU om uitval te voorkomen en meer bandbreedte voor clients die dit ingeschakeld hebben.
  • -l of --log Logboek inschakelen, pad en bestandsnaam instellen
  • -L of --licence Laat een venster zien voordat gebruikers verbinding kunnen maken
  • -m of --htmlstatus HTML-statusbestand inschakelen, pad en bestandsnaam instellen
  • -o of --serverinfo Locatie details in het formaat: [naam];[stad];[Qlocale waarde] (zie waarden). Alleen openbare servers.
  • -P of --delaypan Start met delay panning ingeschakeld. Zie opmerking
  • -R of --recording Geef een beschrijfbaar pad op waar de opnamebestanden moeten worden opgeslagen (indien nodig tussen aanhalingstekens). Zie opties.
  • --norecord Opname uitschakelen indien standaard ingeschakeld door -R
  • -s of --server Start in server modus
  • --serverbindip Geef het IP-adres op om aan te binden
  • -T of --multithreading Gebruik multithreading om beter gebruik te maken van multi-core CPU’s om meer clients te ondersteunen
  • -u of --numchannels Maximum aantal kanalen (clients)
  • -w of --welcomemessage Welkomstbericht bij verbindingmaken
  • -z of --startminimized Start geminimaliseerd
  • --serverpublicip Het openbare IP-adres van de server als verbinding wordt gemaakt met een adresboek achter dezelfde NAT. Zie aandachtpunten voor adresboek servers
  • -h of --help Laat de help tekst zien
  • -i of --inifile Stel de locatie in van het ini-bestand (overschrijft de standaard)
  • -n of --nogui Schakel de GUI uit (voor gebruik in headless mode)
  • -p of --port Stelt het lokale UDP poort number in. Standaard is dit: 22124
  • -Q of --qos Stelt de DSCP-waarde van de Quality of Service in. Standaard is dit: 128. Uitschakelen met: 0. QoS wordt genegeerd door Windows. Om het in te schakelen, zie sectie hieronder
  • -t of --notranslation Schakelt UI-vertaling uit
  • -6 of --enableipv6 Schakelt IPv6 adressen in (IPv4 is altijd ingeschakeld)
  • -v of --version Laat de versie informatie zien

Quality of Service (QoS)

Jamulus gebruikt DSCP/CS4 opportunistisch om bufferophoping aan te pakken en gebruikt een standaard DSCP/CS4-waarde van 128 (of 0x80). Dit is compatibel met IPv4 en IPv6. Andere waarden kunnen worden ingesteld met de optie -Q, bijv. -Q [0..255] (waarbij 0 QoS uitschakelt). Zie RFC4594 als je het effect van niet-standaardinstellingen wilt onderzoeken. De meeste mensen zullen dit echter niet nodig hebben.

Gebruik van QoS in Windows

De QoS-instellingen van Jamulus (inclusief de standaard) hebben geen effect op Windows omdat het besturingssysteem ze negeert. Om het in te schakelen, moet je deze instructies volgen. Houd er ook rekening mee dat je deze procedure mogelijk iedere keer moet herhalen wanneer Jamulus wordt bijgewerkt.

Typ in het zoekvak naast het menu Start: gpedit.msc (enter)
In het nieuwe venster, (klik) op het menu icoon om het Actievenster weer te geven
Gebruik nu het linker paneel in de editor voor lokaal groepsbeleid
 Beleid voor Lokale computer
  Computerconfiguratie
   Windows-instellingen
   Op beleid gebaseerde QoS (klik)
Gebruik het derde (Acties) paneel in de editor voor lokaal groepsbeleid
 Op beleidgebasseerde QoS
   Meer acties
     Nieuwe beleidsinstelling maken (klik)
       Beleidsnaam: Jamulus
       DSCP-waarde opgeven: 32
       Volgende
       Alleen toepassingen met deze naam (uitvoerbaar): Jamulus.exe
       Volgende
       Volgende
       UDP
       Voltooien

(Let op het Jamulus-beleid kan in het middenpaneel kan worden bewerkt)

Problemen oplossen

Er kunnen verschillende problemen optreden bij het opzetten van servers en we raden aan om over het algemeen eerst de (openbare) servers van anderen te gebruiken om eventuele problemen te isoleren die in feite te wijten kunnen zijn aan de configuratie van de client.

Als je problemen hebt, zie deze handleiding.

Vertel ons over Jamulus - vul onze anonieme enquête in! (engelstalig)

Deze documentatie is gelicentieerd onder een Creative Commons Licence. Wil je meewerken?