Jamulus Icoon. Link naar de homepage
Open navigatie

Serverbeheerdershandleiding

Inhoudsopgave

Moet ik een eigen server hebben?

Nee. Je hoeft geen server te hebben. Je kunt de servers gebruiken die worden vermeld door de ingebouwde adresboeken en Jamulus gebruiken zonder zelf een server uit te voeren. Je kunt ook een niet-geregistreerde server gebruiken als je het internetadres kent. Of je kunt een externe hostingservice gebruiken, zoals melomax of KOORD. Er is waarschijnlijk een server in de buurt die jij en je vrienden kunnen gebruiken met een voldoende lage latentie voor de meeste behoeften.

Het gebruik van een openbare server kan je aan vreemden voorstellen. Als je een ongestoorde sessie wilt, kun je de solo-techniek gebruiken die wordt beschreven op de Tips en Trucs-pagina. Je hoort geen vreemden die verbinding maken met de server, maar ze kunnen je wel horen als ze dat willen.


Vereisten

Snelheid en latency

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!

Meestal bevinden problemen zich aan de client kant en moeten daar worden opgelost. Bekijk indien nodig de pagina voor problemen oplossen.

Er kunnen echter ook verschillende problemen optreden bij het instellen van servers, vooral wanneer deze op een thuisverbinding met lage bandbreedte worden uitgevoerd. Het is meestal prima om minder dan 5 spelers op een tragere thuisverbinding te hebben (bijvoorbeeld 10 Mbit/s down en 1 Mbit/s up). Je kunt meer lezen over netwerkvereisten bij verschillende kwaliteitsinstellingen hier.

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

Algemene opmerkingen

  • 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.
  • Je moet port forwarding instellen op je router om thuis een niet-geregistreeerde server te gebruiken. Dit zou in de meeste gevallen niet nodig moeten zijn bij het uitvoeren van een geregistreerde server. Sommige thuisnetwerken kunnen echter port forwarding vereisen voor een geregistreerde server.
  • Jamulus biedt beperkte IPv6-ondersteuning die je vanaf de opdrachtregel kunt inschakelen voor een client of server.

Installatie

De meeste mensen gebruiken Jamulus op een externe/cloudhost als een “headless” server (geen videoscherm of toetsenbord) op hardware zonder audio met Linux. Je kunt een server ook uitvoeren in een desktopomgeving.


Opmerking De volgende stappen leiden ertoe dat je een “niet-geregistreerde” server uitvoert. Zie het gedeelte Servermodi hieronder voor meer informatie.


Om een headless server op Linux uit te voeren, gaan de volgende stappen ervan uit dat je bekend bent met de opdrachtregel en Debian/Ubuntu of gelijkaardige distributie die systemd gebruikt.

  1. Download het installatiescript:

     curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
    
  2. Maak het script uitvoerbaar:

     chmod +x setup_repo.sh
    
  3. Voer het script uit en installeer de headless server:

     sudo ./setup_repo.sh && sudo apt install jamulus-headless
    
  4. Schakel het headless server-proces in:

     sudo systemctl enable jamulus-headless
    
  5. Voeg de gewenste opdrachtregelopties toe aan de ExecStart-regel in het systemd-servicebestand:

     sudo systemctl edit --full jamulus-headless
    
  6. Herlaad de systemd-bestanden en herstart de headless server:

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

Om jouw serverconfiguratie te bewerken, herhaal je gewoon de laatste twee stappen hierboven.


Servermodi

Servers kunnen in een van de drie modi worden uitgevoerd (thuis of op een externe host), afhankelijk van jouw behoeften.

Niet-geregistreerde modus

Dit is de standaard wanneer je een server voor het eerst start. Niet-geregistreerde servers worden niet weergegeven in adresboeken, dus alleen muzikanten die het adres van de server kennen, kunnen er verbinding mee maken.

Voor informatie over het uitvoeren van een niet-geregistreerde server zie deze handleiding.

diagram met verbindingen tussen clients en een niet-geregistreerde Jamulus server

Geregistreerde modus

In deze modus verschijnt je server in de serverlijst die wordt geleverd door een adresboek. Jamulus clients worden geleverd met een lijst met ingebouwde adresboeken. Als je de server bij een van deze registreert, kan iedereen deze ontdekken en er verbinding mee maken.

Je kunt je server ook in een eigen adresboek plaatsen (zie hieronder). Clients zullen je server alleen vinden als ze het internetadres van het eigen adresboek invoeren.

Houd er rekening mee dat adresboeken slechts tot 150 servers kunnen registreren. Als je een bericht ziet dat je de server niet kunt registreren omdat het adresboek vol is, kun je proberen je te registreren bij een ander adresboek.

diagram met verbindingen tussen clients en een geregistreerde Jamulus server

Adresboek modus

Als je meerdere Servers wilt uitvoeren, eventueel ook achter een firewall of op een LAN, dan kun je jouw server wellicht als adresboek uitvoeren. Denk aan online evenementen, muziekverenigingen, sectierepetities of muzieklessen voor scholen.

Voor informatie, zie de adresboeken handleiding.


Configuratie opties

Afhankelijk van je besturingssysteem en hoe je de server gebruikt, kun je de serveropties instellen en permanent maken tussen herlaadbeurten door deze stappen te volgen:

Voor Linux headless (Debian/Ubuntu met systemd)

Voeg de gewenste opdrachtregelopties toe aan de ExecStart-regel in het systemd-servicebestand door sudo systemctl edit --full jamulus-headless uit te voeren (Je moet opnieuw laden of opnieuw opstarten om de wijzigingen door te voeren. Zie Installatie).

Voor de GUI (alle platformen)

Alle instellingen die via de grafische interface zijn gemaakt, worden opgeslagen in het bestand Jamulusserver.ini. (Bewerk dit bestand niet met de hand!) Sommige opties zijn echter niet beschikbaar in de GUI en moeten worden ingesteld via de opdrachtregel. Zie servers vanaf een desktop voor meer informatie.


Minimale setup om in geregistreerde modus uit te voeren

Je kunt een headless server op Linux draaien met behulp van systemd (met systemctl), wat in andere secties wordt behandeld. Je kunt een server ook rechtstreeks vanaf de opdrachtregel uitvoeren. Voer de volgende opdracht in om een geregistreerde server uit te voeren:

jamulus-headless --nogui --server \
        --directoryaddress hostnaam:poort \
        --serverinfo "[naam];[stad];[land als tweeletterige ISO-landcode of Qt5 Locale]"

Zie de onderstaande tabel voor waarden voor ‘hostnaam:poort’.

Opmerking: Puntkomma’s en nieuwe-regeltekens zijn niet toegestaan in [naam] en [stad] binnen het argument --serverinfo. Zie de servermodus-gerelateerde opties voor meer informatie over de landcode.

Servermodus-gerelateerde opties

-e of --directoryaddress

Vereist voor een geregistreerde server. Ook vereist om Jamulus uit te voeren als een adresboek.

Deze optie heeft het formaat:

--directoryaddress hostnaam:poort waarbij hostnaam de genre adresboek-hostnaam is en poort het poortnummer is.

Om je te registreren bij een van de adresboeken die in de Jamulus client zijn ingebouwd, vervang je hostnaam:poort door een van de volgende opties:

Genrehostnaam:port
Ieder Genre 1anygenre1.jamulus.io:22124
Ieder Genre 2anygenre2.jamulus.io:22224
Ieder Genre 3anygenre3.jamulus.io:22624
Genre Rockrock.jamulus.io:22424
Genre Jazzjazz.jamulus.io:22324
Genre Klassiek/Folkclassical.jamulus.io:22524
Genre Koor/Barbershopchoral.jamulus.io:22724
-o of --serverinfo

Wanneer je jouw server registreert bij een adresboek, kun je hiermee een servernaam en locatie gegevens opgeven, zodat gebruikers vervolgens naar deze waarden kunnen zoeken vanaf hun client.

Deze optie heeft het formaat:

[naam];[stad];[land als tweeletterige ISO-landcode]

Zie tweeletterige ISO-landcodes

Opmerking: Puntkomma’s en nieuwe regeltekens zijn niet toegestaan in naam en stad waarden.

-L of --licence

Toon een overeenkomstvenster voordat gebruikers verbinding kunnen maken. De te tonen tekst van de overeenkomst dient als --welkomstbericht te worden aangeleverd (zie hieronder).

-w of --welcomemessage

Een “welkomstbericht” om weer te geven in het client-chatvenster bij het verbinden. Kan worden opgegeven als een tekenreeks of bestandsnaam en kan HTML bevatten. Wanneer een pad wordt gebruikt, moet het bestand toegankelijk zijn voor het gebruikersaccount waaronder Jamulus draait. (Op de meeste Linux-installaties wordt standaard de gebruiker jamulus gebruikt.) Indien niet toegankelijk, zal het letterlijke pad (in plaats van de inhoud) verschijnen.

--serverpublicip

Het openbare IP-adres van de server als er verbinding wordt gemaakt met een adresboek achter dezelfde NAT. Zie de adresboek handleiding voor meer informatie.

--directoryfile

Alleen adresboeken: Onthoudt geregistreerde servers, zelfs als de adresboek opnieuw wordt opgestart. Zie de adresboeken handleiding voor meer informatie.

-f of --listfilter

Alleen adresboeken: Specificeer welke servers zich kunnen registreren op de adresboek server. Zie de adresboeken handleiding voor meer informatie.


Algemene serveropties

Deze opties kunnen worden gebruikt ongeacht in welke modus de server wordt uitgevoerd (hoewel sommige mogelijk niet relevant zijn voor adresboeken).

-d of --discononquit

Normaal gesproken, wanneer een server wordt gestopt of opnieuw wordt opgestart, zullen alle clients die niet op hun knop Verbreken hebben gedrukt, automatisch de verbinding herstellen wanneer de server terugkeert. Deze optie dwingt clients om in dit scenario hun verbindingen met de server handmatig te herstellen.

-F of --fastupdate

Vermindert latentie als clients verbinding maken met de optie Kleine netwerkbuffers. Vereist een snellere CPU om uitval te voorkomen en meer bandbreedte voor ingeschakelde clients.

-l of --log

Logboekregistratie inschakelen, pad en bestandsnaam instellen

-m of --htmlstatus

HTML-statusbestand inschakelen, pad en bestandsnaam instellen

Opmerking: Deze functie is verouderd en verdwijnt mogelijk in een toekomstige release.

-P of --delaypan

Begin met delay panning ingeschakeld. 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 gehoor van de mens in vergelijking met normale “volume”-panning.

-s of --server

Start Jamulus in servermodus

--serverbindip

Geef het IP-adres op waaraan het Jamulus proces zal binden.

Normaal gesproken luistert Jamulus naar alle IP-adressen op de hostcomputer. Als de host meerdere netwerkadressen heeft, kan met deze optie een van de adressen worden gekozen.

-T of --multithreading

Gebruik multithreading om beter gebruik te maken van multi-core CPU’s. Deze instelling kan de server helpen meer clients te ondersteunen. Zie ook --numchannels

-u of --numchannels

Maximaal aantal kanalen (clients)

-z of --startminimized

Start de grafische gebruikersinterface van de Jamulus server in de geminimaliseerde vensterstatus.

Andere opties

  • -h of --help Laat de help tekst zien
  • -i of --inifile Stel de locatie van het initialisatiebestand in (heeft voorrang op de standaardinstelling. Geef op macOS alleen een bestandsnaam op, aangezien configuratiebestanden alleen kunnen worden gelezen vanuit /Users/<gebruikersnaam>/Library/Containers/app.jamulussoftware.Jamulus/Data/. Vervang voor de server app.jamulussoftware.Jamulus door app.jamulussoftware.JamulusServer. Schakel “Toon bibliotheekmap” in “Toon weergaveopties” in Finder in om deze map te zien.)
  • -n of --nogui Schakel de GUI uit (voor gebruik in headless mode)
  • -p of --port Stelt het lokale UDP poort nummer in. Standaard is dit: 22124
  • --jsonrpcport Schakelt de JSON-RPC API-server in om de app te besturen, het TCP-poortnummer in te stellen (EXPERIMENTEEL, API’s kunnen veranderen; alleen toegankelijk vanaf localhost). Zie ook het JSON-RPC API documentatie bestand (engelstalig).
  • --jsonrpcsecretfile Vereist bij gebruik van --jsonrpcport. Stelt een pad in naar een tekstbestand dat een authenticatietekenreeks bevat om toegang te krijgen tot de JSON-RPC API.
  • --jsonrpcbindip Het IP-adres waaraan de JSON-RPC-server moet binden (optioneel, standaard is dit 127.0.0.1).
  • -Q of --qos Stelt de DS Field byte van de Quality of Service in. Standaard is dit: 128 (DSCP/CS4). QoS wordt genegeerd door Windows. Om het in te schakelen, zie deze pagina
  • -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

Server aansturen via API

Jamulus kan worden aangestuurd via een experimentele API die onderhevig is aan wijzigingen. Je kunt de JSON-RPC API documentatie (engelstalig) in de hoofdrepository vinden. Met JSON-RPC kun je bepaalde functies beheren, zoals het wijzigen van het welkomstbericht of het starten van opnames in headless-modus vanuit geverifieerde externe applicaties. Het werkt terwijl de server draait.


Opname

-R of --recording

Stel de serveropnamemap in. Standaard neemt de server op wanneer een sessie actief is.

Opmerking: Je moet opnames opslaan in een pad buiten de jamulus home directory of ProtectHome=true uit je systemd unit-bestand verwijderen, maar houd er rekening mee dat dit een beveiligingsrisico kan zijn.

Opnames zijn per track in Audacity.lof formaat en REAPER.rpp. Open de respectievelijke bestanden om ernaar te luisteren in die toepassingen.

Opmerking: Wanneer je server aan het opnemen is, geven clients een bericht met een rode banner weer dat de sessie wordt opgenomen.

--norecord

Stel de server in om standaard niet op te nemen wanneer opnemen is geconfigureerd.

Opname regelen

De opname begint zodra de eerste persoon verbinding maakt met de server en stopt wanneer de laatste persoon vertrekt.

Als de server tijdens een opname een SIGUSR1-signaal ontvangt, start hij een nieuwe opname in een nieuwe map. SIGUSR2 schakelt opname in/uit. Als JSON-RPC is ingeschakeld, kun je de server ook beheren op een manier die vergelijkbaar is met de GUI . Zie de (experimentele) JSON-RPC-documentatie over de opname (engelstalig).

Om deze signalen met systemd te verzenden, maak je de volgende twee .service-bestanden in /etc/systemd/system en geef je ze een passendse naam (bijv. jamulusTogglerec.service).

Opnemen in- of uitschakelen (afhankelijk van de huidige status):

 [Unit]
 Description=Schakel de opname status van de Jamulus server om
 Requisite=Jamulus-Server

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

Een nieuwe opname starten:

 [Unit]
 Description=Start een nieuwe opname voor de Jamulus server
 Requisite=Jamulus-Server

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

_Opmerking: De Jamulus-servicenaam in de regel ExecStart moet hetzelfde zijn als de bestandsnaam .service die systemd gebruikt om jouw Jamulus server te beheren. Als je de .deb-bestanden uit de repository gebruikt, is dit standaard jamulus-headless, zoals in dit voorbeeld.

Voer sudo systemctl daemon-reload uit om ze te registreren voor het eerste gebruik.

Nu kun je deze uitvoeren met het commando service start, bijvoorbeeld:

sudo systemctl start jamulusTogglerec

Je kunt het resultaat van deze commando’s zien als je systemctl status jamulus-headless (of de betreffende servicenaam die u handmatig hebt opgegeven) uitvoert. Je kunt ook de (sys)log bekijken.


Metadata toevoegen aan de server

Je kunt metadata toevoegen aan het welkomstbericht van een server om aanvullende, verborgen informatie toe te voegen, zoals contactgegevens of beleidsverzoeken voor bots (dit is vergelijkbaar met robots.txt). Zie de Community Knowledge Base-vermelding over metadata (engelstalig) voor meer informatie.


Servers vanaf een desktop

Jamulus kan in servermodus worden uitgevoerd in de grafische omgeving van een computer. Dit geeft je een grafische gebruikersinterface om de meeste instellingen te beheren. Om dit te doen, installeer je Jamulus voor jouw platform en voer je vervolgens een van de volgende handelingen uit:

  • Windows-gebruikers - Gebruik het pictogram “Jamulus Server” in het Windows Start-menu. Als je wilt dat de server automatisch start wanneer je Windows start, vink je het vakje voor deze optie aan.

  • macOS-gebruikers - Dubbelklik op het pictogram “Jamulus Server” in Toepassingen.

  • Linux gebruikers - Start de “Jamulus Server” snelkoppeling of open een terminalvenster (CTRL+ALT+t op Debian en gerelateerde distributies) en typ jamulus -s en druk op enter.

Hoewel de meeste algemene functies in Jamulus kunnen worden ingesteld met behulp van de GUI, kunnen sommige alleen worden ingesteld met behulp van opties die in een terminalvenster worden gegeven wanneer de server wordt gestart. Hoe je dit precies doet, hangt af van jouw besturingssysteem.

Als je bijvoorbeeld in Windows een specifiek instellingenbestand wilt gebruiken, klik 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 stellen de standaardinstellingen van de server in bij het opstarten. Je kunt ze overschrijven terwijl de server wordt uitgevoerd met behulp van de bijbehorende GUI-besturingselementen.

Het serverstatuspictogram

Wanneer een server in GUI-modus wordt uitgevoerd, toont het besturingssysteem een pictogram in het systeemvak of statusgebied dat aangeeft of de server verbindingen heeft:

afbeelding van het Jamulus Serverpictogram

De server is niet ingebruik

afbeelding van het Jamulus Serverpictogram

De server is in gebruik


Een back-up maken van de server

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 je instellingenbestand op Windows te vinden, typ je %APPDATA% in de zoekbalk en zoek je naar een map met de naam Jamulus. Er zullen een of meer .ini-bestanden in deze map staan. Maak nu een back-up van de instellingen van Jamulus.

Voor alle andere platformen voer je het volgende uit vanaf de opdrachtregel om te zien waar ze zich bevinden en kopieer de bestanden naar een andere locatie:

find ~ -name Jamulus.ini -ls

Als je de parameter --inifile hebt gebruikt om een ini-bestand op een andere locatie op te slaan, vergeet dan niet om ook een back-up van deze bestanden te maken. Aandachtspunten

  • Maak geen back-up of herstel geen instellingenbestanden wanneer Jamulus actief is.
  • Het wordt niet aanbevolen om instellingenbestanden handmatig 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).

  • Headless Servers gebruiken geen .ini bestanden. Alle configuratie wordt gegeven als opdrachtregelopties. Als je een server in GUI-modus uitvoert, zal deze na het lezen van de opdrachtregelopties bij het opstarten de configuratie opslaan in het bestand Jamulusserver.ini.

Problemen oplossen

Als je problemen hebt, zie deze handleiding.