Serverbeheerdershandleiding
Inhoudsopgave
- Moet ik een eigen server hebben?
- Vereisten
- Installatie
- Servermodi
- Configuratie opties
- Opname
- Metadata toevoegen aan de server
- Servers vanaf een desktop
- Een back-up maken van de server
- Problemen oplossen
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.
Download het installatiescript:
curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
Maak het script uitvoerbaar:
chmod +x setup_repo.sh
Voer het script uit en installeer de headless server:
sudo ./setup_repo.sh && sudo apt install jamulus-headless
Schakel het headless server-proces in:
sudo systemctl enable jamulus-headless
Voeg de gewenste opdrachtregelopties toe aan de
ExecStart
-regel in het systemd-servicebestand:sudo systemctl edit --full jamulus-headless
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.
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.
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:
Genre | hostnaam:port |
---|---|
Ieder Genre 1 | anygenre1.jamulus.io:22124 |
Ieder Genre 2 | anygenre2.jamulus.io:22224 |
Ieder Genre 3 | anygenre3.jamulus.io:22624 |
Genre Rock | rock.jamulus.io:22424 |
Genre Jazz | jazz.jamulus.io:22324 |
Genre Klassiek/Folk | classical.jamulus.io:22524 |
Genre Koor/Barbershop | choral.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 serverapp.jamulussoftware.Jamulus
doorapp.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 typjamulus -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:
De server is niet ingebruik
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 bestandJamulusserver.ini
.
Problemen oplossen
Als je problemen hebt, zie deze handleiding.