Jamulus Icoon. Link naar de homepage
Open navigatie

Serverbeheerdershandleiding

Inhoudsopgave

Moet ik een eigen server hebben?

Nee. Je kunt de servers gebruiken die worden vermeld door de ingebouwde adresboeken en Jamulus gebruiken zonder een server te gebruiken of een hostingservice van derden te kiezen. Als je gewoon een ongestoorde sessie wilt, gebruik dan de solotechniek beschreven op de pagina Tips en trucs. Als je besluit dat je geen van de servers kunt gebruiken die worden vermeld in de ingebouwde adresboeken dan kun je mogelijk een server gebruiken (geregistreerd in een eigen adresboek of niet geregistreerd - zie servertypen) die wordt gehost door een derde partij. Als je dit doet, bespaar je je de moeite om er zelf een op te zetten.

Basis vereisten

Hoewel het opzetten van een server niet moeilijk is, is het een goed idee om de volgende achtergrondinformatie te lezen om problemen te voorkomen:

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.
  • Als je thuis een niet geregistreerde server uitvoert, moet je poort forwarding op je router gebruiken. Als je een geregistreerde server gebruikt, zou poort 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 jouw server op verschillende manieren uitvoeren (thuis of op een host van een derde partij):

1. Geregistreerd

Jouw server wordt vermeld in een adresboek. Jamulus heeft standaard een lijst met ingebouwde adresboeken waarmee clients verbinding kunnen maken. Als je bij een van deze registreert, kan iedereen jouw server ontdekken en er verbinding mee maken. Je kunt jouw server ook in een eigen adresboek laten opnemen, als dat beter aan jouw behoeften voldoet.

diagram met verbindingen tussen clients en een geregistreerde Jamulus server
Hoe geregistreerde servers werken

2. Niet geregistreerd

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

diagram met verbindingen tussen clients en een niet geregistreerde Jamulus server
Hoe niet geregistreerde servers werken

Als je een niet geregistreerde server achter een internetverbinding thuis gebruikt, moet je mogelijk poort forwarding inschakelen zoals hieronder beschreven.

3. Adresboek

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

Voor het uitvoeren van een adresboek lees je deze handleiding

Installatie en configuratie

De meeste mensen draaien Jamulus als een “pure” server op hardware zonder audio (bijvoorbeeld op een derde partij/cloudhost) met Linux. Bij de volgende stappen wordt ervan uitgegaan dat je bekend bent met de opdrachtregel en Debian/Ubuntu of vergelijkbare distributie die systemd gebruikt. Om een server te draaien op Windows of op het bureaublad met een grafische gebruikersinterface, zie deze sectie.

Als je een server op een Raspberry Pi (of een ander op armhf/arm64 debian-gebaseerd apparaat) wilt draaien, moet je de .deb-bestanden voor 32 bit armhf of 64 bit arm64 downloaden, niet de standaard amd64 die je zou gebruiken op een Intel /AMD-gebaseerde machine.

Installatie

  1. Download het nieuwste headless (amd64) .deb file of indien je een Raspberry Pi etc. gebruikt, download het nieuwste armhf .deb file of de nieuwste arm64 .deb file
  2. Werk apt bij om er zeker van te zijn dat je een actuele lijst met standaard packages hebt: sudo apt update
  3. Installeer het Jamulus package: sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb of voor RasPi etc, armhf: sudo apt install ./jamulus-headless_3.9.1_ubuntu_armhf.deb; arm64: sudo apt install ./jamulus-headless_3.9.1_ubuntu_arm64.deb
  4. Schakel het headless serverproces in via systemd: sudo systemctl enable jamulus-headless
  5. Voeg de gewenste opdrachtregelopties toe aan de ExecStart regel in het systemd-servicebestand door sudo systemctl edit --full jamulus-headless uit te voeren (standaard voer je een niet geregistreerde server uit).
  6. Herlaad de systemd bestanden sudo systemctl daemon-reload en herstart de headless server: sudo systemctl restart jamulus-headless
  7. Controleer of alles in order is met systemctl status jamulus-headless (druk op q om terug te gaan naar de opdrachtregel).

Je kunt Jamulus bedienen met het commando systemctl. Om de server bijvoorbeeld netjes te stoppen:

sudo systemctl stop jamulus-headless

Herhaal de bovenstaande stappen om jouw server te upgraden.

Configuratie

Uitvoeren in geregistreerde modus

De volgende minimale instellingen zijn vereist om een geregistreerde server uit te voeren:

jamulus --nogui --server \
        --directoryserver genreServer:poort \
        --serverinfo "jouwServernaam;jouwStad;[land ID]"

Opmerking: Puntkomma’s en nieuwe regeltekens zijn niet toegestaan in jouwServerNaam en jouwStad voor de --serverinfo optie

Om te registreren bij een van de adresboeken die in de Jamulus-client zijn ingebouwd, vervang je `genreServer:poort’ in het bovenstaande voorbeeld door een van de volgende opties:

GenreServer adres
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

Je kunt ook een adresboek op dezelfde manier vanaf de opdrachtregel specificeren, waarbij je het serveradres in hetzelfde formaat opgeeft.

Uitvoeren als adresboek

Als je een adresboek wilt uitvoeren, raadpleeg dan deze handleiding.

Onderhoud

Logboeken bekijken

Jamulus logt in het systeemlogbestand als je de instelling StandardOutput=journal in het instellingenbestand hebt gelaten.

Gebruik journalctl om het logboek te bekijken (om af te sluiten druk je op Ctrl-C). Om het systeemlogbestand te lezen, gefilterd voor de Jamulus-service, gebruik je het volgende commando:

journalctl -f -u jamulus-headless

Opname regelen

Als de opnamefunctie wordt gebruikt met de opdrachtregeloptie `-R’ en de server een SIGUSR1-signaal ontvangt tijdens een opname, zal deze een nieuwe opname starten in een nieuwe map. SIGUSR2 schakelt opname in/uit.

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

Opmerking: Je moet opnamen opslaan in een pad buiten de jamulus home map of ProtectHome=true uit het systemd bestand verwijderen (houd er rekening mee dat dit echter een potentieel veiligheidsrisico is).

Voor het in- of uitschakelen van de opname (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-Server

Voor het starten van een nieuwe opname:

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

 [Service]
 Type=oneshot
 ExecStart=/bin/systemctl kill -s SIGUSR1 Jamulus-Server

Opmerking: de Jamulus-servicenaam in de regel ExecStart moet dezelfde zijn als het bestandsnaam .service die je hebt gemaakt toen je systemd instelde om jouw Jamulus-server te bedienen. Dus in dit voorbeeld zou dat Jamulus-Server.service . zijn

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 (ervan uitgaande dat je je het bestand de naam jamulusTogglerec.service hebt gegeven)

Je kunt het resultaat van deze commando’s zien als je systemctl status jamulus uitvoert of door de logs te bekijken.

Servers vanaf een werkstation

Jamulus kan vanaf een werkstation in de servermodus worden uitgevoerd. Dit geeft je een grafische gebruikersinterface om de meeste instellingen te beheren.

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

Serverconfiguratie

afbeelding van het Jamulus server configuratie venster

Adresboek lijst

Geen: Standaard gebruik je een server die niet gekoppeld is aan een adresboek en wordt de server in niet geregistreerde modus uitgevoerd. Lees deze instructies lezen om anderen in deze modus verbinding met je te laten maken met jouw server.

Genre: Om andere mensen jouw server te laten zien in een van de ingebouwde adresboeken in de client, selecteer je het gewenste genre adresboek. Je zou een bevestigingsbericht moeten zien dat aangeeft of jouw server succesvol is geregistreerd. Als dit niet het geval is en je laat je server draaien, dan zal hij blijven proberen zich te registreren totdat er een vrij slot vrijkomt.

Aangepast: Hiermee kun je een eigen adresboek opgeven waarin moet worden vermeld. Zie het tabblad “Opties” voor het aangepaste adresboek dat je wilt gebruiken.

Om jouw server als een adresboek te laten draaien, moet je het eigen adresboek adres instellen als localhost of 127.0.0.1 en het “Genre” instellen op “Aangepast”. Lees deze handleiding voor meer details.

Mijn serverinfo

Wanneer de server als een geregistreerde server wordt uitgevoerd, worden de naam, de stad en het land van de server weergegeven, zodat andere gebruikers deze gemakkelijk kunnen identificeren in de adresboek lijst.

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). HTML wordt ook ondersteund.

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.

Eigen adresboek adres

Laat dit veld leeg, tenzij je de server bij een aangepast adresboek wilt vermelden of een adresboek wilt uitvoeren.

Serverlijst bestandsnaam

Laat dit veld leeg, tenzij je jouw server als een adresboek wilt uitvoeren. Wanneer in gebruik, dan bevat dit de lijst met geregistreerde servers terwijl het adresboek opnieuw wordt gestart. Dit voorkomt dat de serverlijst “leeg” lijkt totdat de servers zich opnieuw registreren.

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.

Start geminimaliseerd bij systeemstart

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

Server status icoon

Wanneer de server actief is, toont het besturingssysteem een icoon in het systeemvak of het statusgebied om aan te geven of de server actief is:

afbeelding van het Jamulus Server icoon

De server is niet ingebruik

afbeelding van het Jamulus Server icoon

De server is in gebruik

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, klik je met de rechtermuisknop op de Jamulus-snelkoppeling en kies je “Eigenschappen” > Doel. Voeg de benodigde 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 standaardwaarden van de server in bij het opstarten. Je kunt ze overschrijven met de bijbehorende GUI-instellingen terwijl de server actief is.

  • -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 Onthoud geregistreerde servers, zelfs als het adresboek opnieuw wordt gestart. Alleen adresboek servers. Zie deze handleiding voor meer informatie.
  • -f of --listfilter Whitelist-servers die zich registreren op de serverlijst, formaat ip-adres 1[;ip-adres 2]. Alleen voor adresboeken.
  • -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 Loggen inschakelen, pad en bestandsnaam instellen
  • -L of --licence Laat een overeenkomst 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];[land als tweeletterige ISO landcode of Qt5 locale waarde] (zie tweeletterige ISO landcodes of Qt5 locale waarden). Alleen geregistreerde servers.
  • -P of --delaypan Start met delay panning ingeschakeld. Zie opmerking.
  • -R of --recording Serveropnamedirectory instellen; Server neemt standaard op wanneer een sessie actief is. Zie opties.
  • --norecord Stel de server in om standaard niet op te nemen (wanneer de opname is geconfigureerd, bijvoorbeeld via -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. Kan worden opgegeven als een tekenreeks of bestandsnaam en kan HTML bevatten.
  • -z of --startminimized Start geminimaliseerd
  • --serverpublicip Het openbare IP-adres van de server als verbinding wordt gemaakt met een adresboek achter dezelfde NAT. Zie aandachtspunten voor adresboeken
  • -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
  • --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.
  • -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

Een niet geregistreerde server uitvoeren

Het wordt ten zeerste aanbevolen om jouw server eerst te testen met een ingebouwd adresboek om eventuele latere problemen in de niet-geregistreerde modus te beperken.

Een server opzetten achter een thuisrouter

Als je jouw server thuis opzet, moet je waarschijnlijk enkele instellingen in jouw router/firewall wijzigen:

Poort forwarding

Mensen van buiten jouw thuisnetwerk kunnen de dingen daarbinnen niet zien. Om externe Jamulus-clients verbinding te laten maken met jouw server, moet je poort forwarding instellen in de instellingen van jouw router. De exacte setup verschilt per router. Raadpleeg de documentatie van jouw router of portforward.com voor hulp.

Opmerking: De standaardpoort voor de huidige versie van Jamulus is UDP (niet TCP)-poort 22124. Meestal stuurt je de poort 22124 van buiten jouw netwerk door naar de poort 22124 van de machine waarop de server wordt uitgevoerd.

Opmerking: 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.

Het externe IP verkrijgen

Om anderen in staat te stellen verbinding te maken met jouw server vanaf internet, moet je jouw externe (WAN) IP-adres verkrijgen, b.v. door met behulp van Google en het aan hen te geven. Je moet zelf verbinding maken via het lokale netwerkadres (LAN) van de machine waarop de server draait. Als je een client draait op dezelfde machine als jouw server, is dat localhost of 127.0.0.1.

Dynamische DNS en waarom je het waarschijnlijk nodig hebt

De meeste thuisinternetverbindingen veranderen na korte tijd van extern IP-adres. Om problemen hiermee te voorkomen wil je misschien “dynamische DNS” instellen om zo een statisch (sub-)domein te krijgen dat je met anderen kunt delen. Onderzoek hoe je dat kunt doen voor jouw specifieke installatie. Jouw router ondersteunt mogelijk standaard sommige “dynamische DNS”-providers. Als dit niet het geval is, stel je een dynamische DNS-client in zoals beschreven door de dynamische DNS-provider die je hebt gekozen.

Een back-up maken van de server

Merk op dat een headless server geen .ini bestand 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 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).

Problemen oplossen

Als je problemen hebt, zie deze handleiding.