Jamulus benötigt ein Serverprogramm, das auf einem eigenen Rechner (Server) läuft, an dem sich alle Sängerinnen und Sänger anmelden. Es gibt öffentliche Server, die man zwar nutzen kann, doch ist nicht garantiert, dass diese zur gewünschten Zeit auch frei sind. Zudem kann jeder zuhören, wenn man probt. Daher kommt man als Chor eigentlich nicht darum herum, einen privaten Server zu verwenden.

Der Anbieter Melomax betreibt Jamulus-Server, die man stundenweise mieten kann. Die Qualität war bei einem Test recht gut; preislich muss man für sich selbst entscheiden, ob auf Dauer nicht eine eigene Serverinstallation günstiger ist.

Mittlerweile bieten auch einige Kirchen und Chorverbände Jamulus für Ihre Mitglieder an, so zum Beispiel das Erzbistum Köln und der Badische Chorverband.

Die Installation eines eigenen Servers ist nicht schwer; mit Grundkenntnissen in Linux ist sie mithilfe der Anleitung im Jamulus-Wiki in wenigen Minuten erledigt. Um die Latenz so kurz wie möglich zu halten, sollte der Server in einem gut angebundenen Rechenzentrum stehen. Man kann theoretisch auch zu Hause einen Server betreiben, dies ist aber kniffliger, da man seinen Router entsprechend konfigurieren muss; außerdem muss der Anschluss genug Bandbreite in beiden Richtungen haben, wenn man mit mehr als nur einer Handvoll Personen proben will. Wir haben uns daher entschieden, einen virtuellen Server bei einem Hosting-Anbieter zu mieten. (In unserem Fall ist das Ionos von 1und1, da dort auch schon unsere Homepage liegt. Es gibt aber dutzende Anbieter, die dafür geeignete Tarife anbieten.) Mit einem monatlich kündbaren Tarif zahlen wir 10 €/Monat. Wir hatten früher mit einem »Cloud-Tarif« experimentiert, der sich aber für uns nicht lohnt, da man den Server dann in der nicht genutzen Zeit komplett löschen müsste, was zuviel Aufwand wäre für die paar Euro, die das sparen würde.

Wir haben für uns einen Server mit zwei Rechenkernen gebucht. (Festplatten- und RAM-Größe sind für den reinen Serverbetrieb vernachlässigbar. Für serverseitige Mitschnitte braucht man allerdings viel Festplattenplatz.) Darauf läuft Ubuntu 20 mit dem Low-Latency-Kernel. Bei einer Probe mit 20 gleichzeitigen Teilnehmern war er zu ca. 60 % ausgelastet. Generell hängt die Anzahl benötigter Prozessorkerne vor allem von der Anzahl der gleichzeitigen Benutzer und den verwendeten Parametern ab (Mono oder Stereo, Puffergröße, »Fast Updates«), und natürlich auch von der individuellen Leistung eines Prozessorkerns. Als Faustregel kann man 8–15 Benutzer pro Kern annehmen; auf der GitHub-Seite von Jamulus gibt es dazu eine interessante Diskussion.

Wir starten das Serverprogramm mit folgenden Parametern:

jamulus-headless --server --fastupdate --multithreading --delaypan --enableipv6 --port 22124 --numchannels 50

Die Parameter bedeuten:

--server
Jamulus im Servermodus starten.
--fastupdate
»Fast Updates«: Setzt die Frame-Größe auf 64 Samples. Hierdurch wird die Latenz weiter verringert, wenn auch die Teilnehmer im Anwendungsprogramm einen Puffer von 64 Samples eingestellt haben. Dies benötigt mehr CPU und Bandbreite, funktioniert aber mit unserem Server ganz gut (s.o.). Mit deutlich mehr als 20 Teilnehmern müsste man mehr Rechenkerne dazubuchen oder diese Option deaktivieren.
--multithreading
Multithreading: Wird benötigt, um von mehreren Rechenkernen im Server zu profitieren
--delaypan
Verwendet Laufzeitstereofonie statt Pegelstereofonie, was für ein besseres Klangpanorama sorgen kann. Idealerweise sollten dafür alle Teilnehmenden »Mono in/Stereo out« aktivieren.
--enableipv6
Aktiviert die Unterstützung von IPv6. Dies kann bei Teilnehmenden, die nur einen Internet-Anschluss mit Dual Stack Lite haben (üblicherweise bei Internet über TV-Kabel), die Latenz stark verbessern. Diese müssen dann auch ihr Anwendungsprogramm mit diesem Parameter starten.
--port 22124
Portnummer. Wir verwenden dies, um mehrere Jamulus-Serverprogramme gleichzeitig laufen zu lassen, um mit unterschiedlichen Gruppen parallel Stimmproben zu machen. Die anderen gestarteten Programme bekommen dann die Ports 22125, 22126 usw. Die Sänger verbinden sich dann z.B. über server.meinchor.de:22125

--numchannels 50
Maximalzahl gleichzeitiger Benutzer, Standard ist 10. Einstellbar sind bis zu 150.

Um den Server einfacher erreichbar zu machen, haben wir ihm eine lesbare Adresse (wie z.B. server.meinchor.de) gegeben. Will man IPv4 und IPv6 parallel verwenden, ist es sinnvoll, eine weitere Adresse dafür einzuführen, z.B. server-ipv6.meinchor.de. Die DNS-Einträge sollten dann jeweils nur einen A-Record bzw. nur einen AAAA-Record enthalten, sonst schlägt der Verbindungsaufbau in Jamulus möglicherweise fehl.