Jamulus Icon. Link zur Startseite
Navigationsmenü öffnen

Server-Verwaltungshandbuch

Inhaltsverzeichnis

Muss ich einen Server betreiben?

No. You can use the Servers listed by the built in Directories and use Jamulus without running a Server or choose a third party hosting service. If you just want an undisturbed session, use the soloing technique described on the Tips and Tricks page. If you decide you cannot use any of the Servers listed by the built in Directories, you may be able to use a Server (either Registered in a Custom Directory, or Unregistered - see Server Types) hosted by a third party. Doing so will save you the trouble of setting one up yourself.

Grundlegende Anforderungen

Die Einrichtung eines Servers ist zwar nicht schwierig, aber es ist ratsam, die folgenden Hintergrundinformationen zu lesen, um einige Probleme zu vermeiden:

Geschwindigkeit und Latenz

Die Leistungsfähigkeit des Servers selbst (und des Netzes, in dem er sich befindet) ist NICHT ausschlaggebend für die Qualität einer Jamulus-Sitzung!

Normalerweise liegen die Probleme auf der Client-Seite und sollten dort behoben werden. Wirf einen Blick auf die Fehlerbehebungsseite.

Bei der Einrichtung von Servern können jedoch auch verschiedene Probleme auftreten, insbesondere wenn sie über einen Heimanschluss mit geringer Bandbreite betrieben werden. Normalerweise ist das in Ordnung wenn weniger als 5 Teilnehmer verbunden sind. (z.B. 10 Mbit/s down und 1 Mbit/s up). Weitere Informationen zu den Netzwerkanforderungen findest du unter verschiedene Qualitätseinstellungen hier

Ziehe in Erwägung, einen Cloud-Host und nicht deine private Internetverbindung zu verwenden, um bessere Ping-Zeiten zu erhalten, wenn Latenz Probleme auftreten.

Allgemeine Hinweise

  • Jeder Server sollte mindestens 1.6GHz CPU Frequenz und 1GB RAM haben
  • Für den Betrieb eines Servers musst du möglicherweise Firewalls anpassen, die auf oder außerhalb deines Rechners oder Cloud-Hosts laufen.
  • Wenn du zu Hause einen nicht registrierten/privaten Server betreibst, musst du auf deinem Router eine Portweiterleitung einrichten. Wenn du einen öffentlichen Server betreibst, sollte eine Portweiterleitung in den meisten Fällen nicht notwendig sein, aber es ist ratsam, dies zu tun, da einige Netzwerke mit Jamulus im Standardmodus möglicherweise nicht richtig funktionieren.
  • Jamulus bietet nur eine begrenzte IPv6-Unterstützung, die mit einer Befehlszeilen Option auf dem Client und dem Server aktiviert werden muss. Es gibt Pläne, die IPv6-Unterstützung zu erweitern.

Server Typen

Du kannst deinen Server auf verschiedene Arten betreiben (entweder zu Hause oder bei einem Drittanbieter):

1. Registriert - Öffentlich

Dein Server wird in einem Server Verzeichnis aufgeführt. Standardmäßig verfügt Jamulus über eine Liste mit eingebauten Verzeichnissen, mit denen sich Clients verbinden können. Wenn du dich bei einem dieser Verzeichnisse anmeldest, kann jeder deinen Server finden und sich mit ihm verbinden. Du kannst deinen Server auch in einem benutzerdefinierten Verzeichnis eintragen lassen, wenn dies deinen Anforderungen besser entspricht.

Diagramm: der Verbindungen zwischen Clients eines registrierten Jamulus-Servers
So funktionieren registrierte Server

2. Unregistriert - Privat

Dies ist die Standardeinstellung, wenn du einen Server zum ersten Mal startest. Unregistrierte/private Server werden nicht in Verzeichnissen aufgeführt, so dass nur Musiker, die die Adresse deines Servers kennen, eine Verbindung zum Server herstellen können. Dies ist nützlich, da du in Jamulus nicht kontrollieren kannst, wer sich mit deinem Server verbindet.

Diagramm: der Verbindungen zwischen Clients eines nicht registrierten Jamulus-Servers
Wie unregistrierte/private Server funktionieren

Wenn du einen unregistrierten/privaten Server über eine private Internetverbindung betreibst, musst du möglicherweise die Portweiterleitung wie unten beschrieben aktivieren.

3. Verzeichnis Server

Wenn du mehrere Server betreiben willst, möglicherweise auch hinter einer Firewall oder in einem LAN, kannst du deinen Server als Verzeichnis Server betreiben. Beispiele sind Online-Veranstaltungen, Musikvereine, Sektionsproben oder Musikunterricht für Schulen.

Um einen Verzeichnis Server zu betreiben lese diese Anleitung

Installation und Konfiguration

Die meisten Leute betreiben Jamulus als „reinen“ Server auf Hardware ohne Audio (z. B. auf einem Drittanbieter/Cloud-Host) unter Linux. Die folgenden Schritte setzen voraus, dass du mit der Kommandozeile und Debian/Ubuntu oder einer ähnlichen Distribution mit systemd vertraut bist. Um einen Server unter Windows oder auf dem Desktop mit einer grafischen Benutzeroberfläche zu betreiben, siehe diesen Abschnitt.

If you want to run a Server on a Raspberry Pi (or a different armhf/arm64 debian-based device), you will need to download the .deb files for 32 bit armhf or 64 bit arm64, not the default amd64 ones you’d use on an Intel/AMD based machine.

Installation

  1. Download the latest headless (amd64) .deb file or, if you use a Raspberry Pi etc. download the latest armhf .deb file or the latest arm64 .deb file
  2. Aktualisiere apt, um sicherzustellen, dass die Liste der Standardpakete aktuell ist: sudo apt update
  3. Install the Jamulus package: sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb or for 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. Aktiviere den Headless-Server-Prozess über systemd: sudo systemctl enable jamulus-headless
  5. Füge die gewünschten Befehlszeilen Optionen zur ExecStart-Zeile in der systemd-Dienstdatei hinzu, indem du sudo systemctl edit --full jamulus-headless ausführen (standardmäßig wird ein nicht registrierter Server ausgeführt).
  6. Lade die systemd-Dateien neu sudo systemctl daemon-reload und starte den Headless-Server neu: sudo systemctl restart jamulus-headless
  7. Prüfe mit systemctl status jamulus-headless, ob alles in Ordnung ist (drücke q, um zur Eingabeaufforderung zurückzukehren).

Du kannst Jamulus mit dem Befehl systemctl steuern. Zum Beispiel, um den Server sauber zu stoppen:

sudo systemctl stop jamulus-headless

Um deinen Server zu aktualisieren, wiederhole einfach die oben genannten Schritte.

Konfiguration

Betrieb im registrierten/öffentlichen Modus

Die folgende Mindestkonfiguration ist für den Betrieb eines registrierten Servers erforderlich:

jamulus --nogui --server \
        --directoryserver genreServer:port \
        --serverinfo "yourServerName;yourCity;[country ID]"

Anmerkung: Semikolon und Zeilenumbruch sind in den Argumenten yourServerName und yourCity nicht erlaubt

Um deinen Server bei einem der in den Jamulus-Client integrierten Verzeichnisse zu registrieren, ersetze im obigen Beispiel genreServer:port durch eine der folgenden Optionen:

GenreServer Adresse
Alle Genres 1anygenre1.jamulus.io:22124
Alle Genres 2anygenre2.jamulus.io:22224
Alle Genres 3anygenre3.jamulus.io:22624
Genre Rockrock.jamulus.io:22424
Genre Jazzjazz.jamulus.io:22324
Genre Klassik/Volksmusikclassical.jamulus.io:22524
Genre Chor/Barbershopchoral.jamulus.io:22724

Du kannst auch ein Verzeichnis Server auf dieselbe Weise in der Befehlszeile angeben, indem du die Serveradresse im selben Format angibst.

Als Verzeichnis Server betreiben

If you wish to run a Directory please see this guide.

Wartung

Anzeigen der Protokolle - Log Files

Jamulus protokolliert in der Systemprotokolldatei, wenn du die Einstellung StandardOutput=journal in der Unit-Datei nicht verändert hast.

Um das Protokoll einzusehen, verwende journalctl (zum Beenden drücke Ctrl-C). Um zum Beispiel die Systemprotokolldatei zu lesen, benutze den Filter nach dem Jamulus-Dienst:

journalctl -f -u jamulus-headless

Steuerung der Aufzeichnung

When using the recording function with the -R command line option, if the Server receives a SIGUSR1 signal during a recording, it will start a new recording in a new Directory. SIGUSR2 will recording enabled on/off.

To send these signals using systemd, create the following two .service files in /etc/systemd/system, calling them something appropriate (e.g. jamulusTogglerec.service).

Hinweis: Du musst die Aufnahmen in einem Pfad außerhalb des Jamulus-Home-Verzeichnisses speichern oder ProtectHome=true aus der systemd-Unit-Datei entfernen (beachte jedoch, dass dies ein potenzielles Sicherheitsrisiko darstellt).

Bespiel einer .service Datei zum Ein- oder Ausschalten der Aufzeichnung (je nach aktuellem Status):

 [Unit]
 Description=Toggle recording state of Jamulus Server
 Requisite=Jamulus-Server

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

Zum Starten einer neuen Aufnahme:

 [Unit]
 Description=Start a new recording on Jamulus Server
 Requisite=Jamulus-Server

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

Hinweis: Der Name des Jamulus-Dienstes in der „ExecStart“-Zeile muss mit dem Namen der „service“-Datei übereinstimmen, die du beim Einrichten von systemd zur Steuerung deines Jamulus-Servers erstellt hast. In diesem Beispiel wäre das also Jamulus-Server.service

Führe sudo systemctl daemon-reload aus, um die .service Dateien für die erste Verwendung zu registrieren.

Jetzt kannst du diese zum Beispiel mit dem Befehl systemctl ausführen:

sudo systemctl start jamulusTogglerec” (vorausgesetzt, du hast deine Unit-Datei jamulusTogglerec.service genannt)

Du kannst das Ergebnis dieser Befehle sehen, wenn du systemctl status jamulus ausführst oder die Protokolle einsiehst.

Server auf dem Desktop

Jamulus kann im Server-Modus vom Desktop aus gestartet werden. Dadurch erhältst du eine grafische Benutzeroberfläche zur Steuerung der meisten Einstellungen.

  • Windows-Benutzer - Verwende das Symbol „Jamulus Server“ im Windows-Startmenü.
  • macOS-Benutzer - Doppelklicke auf das „Jamulus Server“-Symbol in „Programme“ (vorausgesetzt, du hast die Dateien der Installation gemäß dieser Anleitung dort gespeichert).
  • Linux-Benutzer - Starte die Verknüpfung „Jamulus Server“. Oder öffne ein Terminalfenster (CTRL+ALT+t unter Debian und verwandten Distributionen), anschliessend jamulus -s eingeben und die Eingabetaste drücken.

Server Einrichtung

Darstellung eines Jamulus Server Setup Fensters

Die Server Verzeichnisliste

Keine: Standardmäßig bist du nicht mit einem Verzeichnis verbunden und befindest dich im unregistrierten/privaten Modus. Lese diese Anleitung, um andere Personen in diesem Modus mit deinem Server zu verbinden.

Genre: To allow other people to see your Server on one of the Directories built into the Client, select your desired genre Directory. You should see a confirmation message saying whether your Server has registered successfully. If not, and you leave your Server running, it will keep trying to register until a free slot becomes available.

Benutzerdefiniert: Hier kannst du ein benutzerdefiniertes Server Verzeichnis angeben, in dem dein Server aufgeführt werden soll. Auf der Registerkarte „Optionen“ findest du die Adresse des benutzerdefinierten Verzeichnisses, die du verwenden möchtest.

To run your Server as a Directory, you need to set the Custom Directory address as localhost or 127.0.0.1 and set the “Genre” to “Custom”. Read this guide for further details.

Meine Server-Info

When running as a Registered Server this displays the Server’s name, city and country so that other users can easily identify it in the Directory listing.

Chat-Willkommensnachricht

Der hier eingegebene Text erscheint für alle Benutzer, wenn diese dem Server beitreten (das Chat-Fenster öffnet sich automatisch für sie). HTML wird ebenfalls unterstützt.

Optionen

Bild der Jamulus Server Optionen

Aufnahmeverzeichnis

Hier wird der Pfad festgelegt, in dem die Aufzeichnungen des Servers gespeichert werden sollen. Wenn dieser Pfad festgelegt ist, startet die Funktion „Jam-Recorder aktivieren“ auf der Registerkarte „Server-Setup“ die Aufzeichnung, sobald sich die erste Person mit dem Server verbindet, und stoppt, wenn die letzte Person den Server verlässt. Verwende die Schaltfläche „Neue Aufnahme“, um ein neues Unterverzeichnis zu erstellen, in dem die Aufnahmen von nun an gespeichert werden sollen. Beachten, dass die Aufnahmen pro Spur im Format Audacity.lof und REAPER.rpp vorliegen. Öffne die entsprechenden Dateien, um die Aufnahmen in diesen Anwendungen anzuhören.

Hinweis: Wenn dein Server aufzeichnet, zeigen die Clients eine Meldung an, dass die Aufzeichnung läuft.

Benutzerdefinierte Verzeichnisadresse

Lasse dieses Feld leer, es sei denn, du möchtest deinen Server in einem benutzerdefinierten Verzeichnis auflisten oder ein Verzeichnis betreiben.

Verzeichnis Server - Server Liste

Lass dieses Feld leer, es sei denn, du möchtest deinen Server als Verzeichnis Server betreiben. Wenn das Feld benutzt wird, wird die Liste der registrierten Server angezeigt, während das Verzeichnis neu gestartet wird. Dies verhindert, dass die Server Liste „leer“ erscheint, bis sich die Server neu registrieren.

Verzögertes Panning

Diese Option nutzt kleine Unterschiede in der Ankunftszeit des Schalls zwischen den beiden Ohren. Dies erzeugt einen Stereoeffekt, der dem natürlichen menschlichen Gehör ähnlich ist, im Vergleich zum normalen „Lautstärken“-Panning.

Start Minimiert

Windows-Benutzer - Wenn du möchtest dass der Server beim Systemstart automatisch gestartet wird, aktiviere das entsprechende Kontrollkästchen.

Server-Status-Symbol

Das Betriebssystem zeigt ein Symbol in der Taskleiste oder im Statusbereich an, um anzuzeigen, ob der Server aktiv ist:

Image of the Jamulus Server icon

Der Server ist leer

Image of the Jamulus Server icon

Der Server ist belegt

Befehlszeilen Optionen

Die meisten gängigen Funktionen in Jamulus können über die grafische Benutzeroberfläche eingestellt werden, aber diese und andere können auch über Befehlszeilen Optionen in einem Terminalfenster eingestellt werden. Wie genau das gemacht werden muss hängt von deinem Betriebssystem ab.

Um beispielsweise unter Windows eine bestimmte Einstellungsdatei zu verwenden, klickst du mit der rechten Maustaste auf die Jamulus-Verknüpfung und wählst „Eigenschaften“ > Ziel. Füge die erforderlichen Argumente zu Jamulus.exe hinzu:

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

Unter macOS startest du ein Terminalfenster und führst Jamulus mit den gewünschten Optionen wie folgt aus:

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

Hinweis: Mit den Befehlszeilen Optionen werden die Standardeinstellungen des Servers beim Start festgelegt. Du kannst die Einstellungen mit den entsprechenden GUI-Steuerelementen überschreiben, während der Server läuft.

  • -d or --discononquit Disconnect all Clients on quit. Normally, when a Server is stopped or restarted, any Clients that have not used their “Disconnect” buttons will re-establish connection when the Server comes back up again. Using this option forces Clients to manually re-establish their connections to the Server.
  • -e or --directoryserver Register the Server on a Directory (e.g. to set its genre (see also -o)). See Server Types for further information.
  • --directoryfile Remember registered Servers even if the Directory is restarted. Directory Servers only. See this guide for further information.
  • -f or --listfilter Whitelist Servers registering on the Server list, format ip address 1[;ip address 2] Directories only.
  • -F or --fastupdate Reduces latency if Clients connect with “Enable Small Network Buffers” option. Requires faster CPU to avoid dropouts, and more bandwidth to enabled Clients.
  • -l or --log Enable logging, set path and file name
  • -L or --licence Show an agreement window before users can connect
  • -m or --htmlstatus Enable HTML status file, set path and file name
  • -o or --serverinfo Location details in the format: [name];[city];[country as two-letter ISO country code or Qt5 Locale] (see two-letter ISO country codes or Qt5 Locale values) Registered Servers only
  • -P or --delaypan Start with delay panning enabled See notes
  • -R or --recording Set server recording directory; Server will record when a session is active by default. See Options.
  • --norecord Set server not to record by default (when recording is configured e.g via -R)
  • -s or --server Start in Server mode
  • --serverbindip Specify the IP address to bind to
  • -T or --multithreading Use multithreading to make better use of multi-core CPUs to support more Clients
  • -u or --numchannels Maximum number of channels (Clients)
  • -w or --welcomemessage Welcome message on connect. Can be given as a string or filename, and can contain HTML.
  • -z or --startminimized Start minimized
  • --serverpublicip The public IP address of the Server if connecting to a Directory behind the same NAT. See Notes on Directories
  • -h oder --help Hilfetext anzeigen

  • -i oder --inifile Speicherort der Initialisierungsdatei festlegen (überschreibt die Vorgabe)
  • -n oder --nogui GUI abschalten (zur Verwendung im Headless-Modus)

  • -p oder --port Legt die lokale UDP-Portnummer fest. Standard ist 22124
  • --jsonrpcport Ermöglicht die Steuerung der App durch den JSON-RPC-API-Server, setzt die TCP-Portnummer (EXPERIMENTAL, APIs können sich ändern; nur von localhost aus zugänglich). Siehe die JSON-RPC-API-Dokumentationsdatei.
  • --jsonrpcsecretfile Erforderlich bei Verwendung von --jsonrpcport. Legt einen Pfad zu einer Textdatei fest, die eine Authentifizierungszeichenfolge für den Zugriff auf die JSON-RPC-API enthält.
  • -Q oder --qos Legt den Wert des DS Byte für den Quality of Service fest. Standard ist 128 (DSCP/CS4). QoS wird von Windows ignoriert. Um es zu aktivieren, siehe diese Seite
  • -t oder --notranslation UI-Sprachübersetzungen deaktivieren
  • -6 oder --enableipv6 Aktivieren der IPv6-Adressierung (IPv4 ist immer aktiviert)
  • -v oder --version Versionsinformationen ausgeben und beenden

Betrieb eines unregistrierten Servers

It is highly recommended to test your Server by registering it on one of the built-in Directories first so as to narrow down any subsequent problems in unregistered mode.

Einrichten eines Servers hinter einem Heimrouter

Wenn du deinen Server zu Hause einrichtest, musst du wahrscheinlich einige Einstellungen in deinem Router/Firewall ändern:

Portweiterleitung

Personen, die sich nicht in deinem Heimnetzwerk befinden, können nicht auf Service/Daten innerhalb deines Netzwerks zugreifen. Damit sich externe Jamulus-Clients mit deinem Server verbinden können, musst du in den Einstellungen deines Routers eine Portweiterleitung einrichten. Die genaue Einrichtung ist bei jedem Router anders. Hilfe findest du in der Dokumentation deines Routers oder unter portforward.com.

Hinweis: Der Standardport für die aktuelle Version von Jamulus ist UDP (nicht TCP) Port 22124. Normalerweise leitest du den Port 22124 von außerhalb deines Netzwerks an den Port 22124 des Rechners weiter, auf dem der Server läuft.

Hinweis: Dein Heimrouter kann die IP-Adresse des Rechners, auf dem du deinen Server betreibst, ändern. Je nach Router musst du diesem Rechner möglicherweise eine statische IP-Adresse zuweisen (oft unter den DHCP-Einstellungen deines Routers).

Ermittlung der externen IP

Um anderen eine Verbindung zu deinem Server aus dem Internet zu ermöglichen, ermittle deine externe (WAN-)IP-Adresse, z. B. über Google, und teile diese den Teilnehmern mit. Du selbst solltest dich über die lokale Netzwerkadresse (LAN) des Rechners verbinden, auf dem der Server läuft. Wenn du einen Client auf demselben Rechner wie deinen Server betreibst, wäre das localhost oder 127.0.0.1.

Dynamisches DNS und warum du es wahrscheinlich brauchen wirst

Die meisten nicht-gewerblichen Internetverbindungen ändern ihre externe IP-Adresse nach kurzer Zeit. Um Probleme damit zu vermeiden, solltest du ein „dynamisches DNS“ einrichten, um eine statische (Sub-)Domain zu erhalten, die du mit anderen teilen kannst. Bitte recherchiere wie du das für dein Setup einrichten kannst. Möglicherweise unterstützt dein Router von Haus aus einige „dynamische DNS“-Anbieter. Wenn dies nicht der Fall ist, richte einen dynamischen DNS-Client ein, wie von dem von dir gewählten dynamischen DNS-Anbieter beschrieben.

Backup des Servers

beachte bitte, dass Headless-Server keine .ini-Dateien verwenden. Alle Konfigurationen werden als Befehlszeilen Optionen angegeben

Wenn du Jamulus installiert hast und es läuft, solltest du eine Kopie deiner Einstellungen aufbewahren. Eine Sicherungskopie ist immer eine gute Idee. Außerdem sind die Einstellungsdateien zwischen verschiedenen Jamulus-Versionen nicht abwärtskompatibel. Wenn du also zu einer früheren Version zurückkehren möchten, musst du deine alten Einstellungen wiederherstellen.

Um deine Einstellungsdatei unter Windows zu finden, gebe %APPDATA% in die Suchleiste ein und suche nach dem Jamulus Ordner. Dort findest du eine oder mehrere .ini-Dateien. Sichere nun die Jamulus Einstellungen.

Für alle anderen Plattformen kannst du den folgenden Befehl in der Befehlszeile ausführen, um herauszufinden, wo sich die Dateien befinden und um die Dateien an einen anderen Ort zu kopieren:

find ~ -name Jamulus.ini -ls

Wenn du den --inifile Parameter verwendet hast um eine ini-Datei an einem anderen Ort zu speichern, vergiss nicht, auch diese Dateien zu sichern. Hinweise

  • Sichere keine Einstellungsdateien und stelle sie nicht wieder her, während Jamulus läuft.
  • Es ist nicht empfehlenswert, die Einstellungsdateien manuell zu bearbeiten (dafür sind sie nicht gedacht).
  • Du kannst alle Einstellungen auf die Standardwerte zurücksetzen, indem du die Einstellungsdatei löscht (nachdem du Jamulus beendet hast).

Fehlerbehebung

Wenn du Probleme hast, sieh dir diesen Leitfaden an.