Jamulus ikon. Länk till hemsidan
Öppna navigering

Serveradministrationsmanual

Innehållsförteckning

Behöver jag köra en server?

Nej. Du behöver inte köra en egen server. Du kan använda servrar som listas av de inbyggda katalogerna och använda Jamulus utan att köra en server själv. Du kan också använda en icke listad server om du känner till dess internetadress. Eller så kan du använda en tredjeparts hostingtjänst som melomax eller KOORD. Det finns förmodligen en server i närheten som du och dina vänner kan använda med tillräckligt låg fördröjning för de flesta behov.

Att använda en offentlig server kan leda till att du kommer i kontakt med främlingar. Om du vill ha en ostörd session kan du använda solo-tekniken som beskrivs på Tips och tricks-sidan. Du kommer inte att höra främlingar som ansluter till servern, men de kan höra dig om de så önskar.


Krav

Hastighet och latens

Serverns kapabilitet (och nätverket den är ansluten till) är INTE den främsta faktorn för kvaliteten på en Jamulus-session!

Vanligtvis är problemen på klient sidan och bör åtgärdas där. Kolla på Felsökningssida om det behövs.

Dock kan olika problem också uppstå vid uppsättning av servrar, särskilt när de körs på en hemanslutning med låg bandbredd. Det är vanligtvis okej att ha färre än 5 spelare på en långsammare hemanslutning (t.ex. 10 Mbit/s nedströms och 1 Mbit/s uppströms). Du kan läsa mer om nätverkskrav vid olika kvalitetsinställningar här.

Överväg att använda en molnhost istället för din hemanslutning för att få bättre svarstider om du har problem.

Allmänna anteckningar

  • Varje server bör ha minst 1,6 GHz CPU-frekvens och 1 GB RAM
  • Att köra en server kan kräva att du justerar brandväggar som är aktiva på eller utanför din maskin eller molnhost.
  • Du måste ställa in portvidarebefordran på din router för att köra en oregistrerad server hemma. Detta bör i de flesta fall inte vara nödvändigt när du kör en registrerad server. Vissa hemnätverk kan dock kräva portvidarebefordran för en registrerad server.
  • Jamulus erbjuder begränsat IPv6-stöd som du kan aktivera för en klient eller server från kommandoraden.

Installation

De flesta människor kör Jamulus på en tredjeparts/molnvärd som en “huvudlös” server (ingen videoskärm eller tangentbord) på hårdvara utan ljud som kör Linux. Du kan också köra en server i en skrivbordsmiljö.


Obs Följande steg kommer att resultera i att du kör en “Oregistrerad” server. För mer information, se avsnittet Serverlägen nedan.


För att köra en huvudlös server på Linux, förutsätter följande steg att du är bekant med kommandoraden och Debian/Ubuntu eller liknande distribution som använder systemd.

  1. Ladda ner installationsskriptet:

     curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
    
  2. Gör skriptet exekverbart:

     chmod +x setup_repo.sh
    
  3. Kör skriptet och installera den huvudlösa servern:

     sudo ./setup_repo.sh && sudo apt install jamulus-headless
    
  4. Aktivera den huvudlösa serverprocessen:

     sudo systemctl enable jamulus-headless
    
  5. Lägg till önskade kommandoradsalternativ till ExecStart-raden i systemd-tjänstfilen:

     sudo systemctl edit --full jamulus-headless
    
  6. Ladda om systemd-filerna och starta om den huvudlösa servern:

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

För att redigera din serverkonfiguration upprepar du bara de två sista stegen ovan.


Serverlägen

Servrar kan köras i ett av tre lägen (antingen hemma eller på en 3:e parts värd), beroende på dina behov.

Oregistrerat läge

Detta är standard när du startar en server för första gången. Oregistrerade servrar listas inte av kataloger, så endast musiker som känner till din servers adress kan ansluta till den.

För information om att köra en oregistrerad server se den här guiden.

Diagram över anslutningar mellan klienter inom en oregistrerad Jamulus-server

Registrerat läge

I detta läge kommer din server att visas i serverlistan som tillhandahålls av en katalog. Jamulus-klienter kommer med en lista med inbyggda kataloger. Om du registrerar din server med en av dessa kan vem som helst upptäcka och ansluta till den.

Alternativt kan du lista din server i en anpassad katalog (se nedan). Klienter hittar bara din server om de anger den anpassade katalogens internetadress.

Observera att kataloger endast kan registrera upp till 150 servrar. Om du ser ett meddelande som säger att du inte kan registrera din server eftersom katalogen är full, kan du försöka registrera dig med en annan katalog.

Diagram över anslutningar mellan klienter inom en Jamulus-registrerad server

Katalogläge

Om du vill köra ett antal servrar, eventuellt även bakom en brandvägg eller på ett LAN, kanske du vill köra din server som en katalog. Exempel är onlineevenemang, musikföreningar, sektionsrepetitioner eller musiklektioner för skolor.

För information, se katalogguiden.


Konfigurationsalternativ

Beroende på ditt operativsystem och hur du kör servern kan du ställa in serveralternativ och göra dem beständiga mellan omladdningar genom att följa dessa steg:

För Linux headless (Debian/Ubuntu med systemd)

Lägg till önskade kommandoradsalternativ till ExecStart-raden i systemd-tjänstfilen genom att köra sudo systemctl edit --full jamulus-headless (Du måste ladda om eller starta om för att ändringarna ska träda i kraft. Se Installation).

För GUI (alla plattformar)

Alla inställningar som görs med det grafiska gränssnittet kommer att lagras i filen Jamulusserver.ini. (Redigera inte den här filen för hand!) Vissa alternativ är dock inte tillgängliga i GUI och måste ställas in med hjälp av kommandoraden. För mer information, se Server på skrivbordet.


Minsta inställning för att köras i registrerat läge

Du kan köra en huvudlös server på Linux med systemd (med systemctl), som behandlas i andra avsnitt. Du kan också köra en server direkt från kommandoraden. Ange följande kommando för att köra en registrerad server:

jamulus-headless --nogui --server \
        --directoryaddress hostname:port \
        --serverinfo "[namn];[stad];[land som två bokstäver ISO-landskod eller Qt5 Locale]"

Se tabellen nedan för värden för hostname:port.

Obs: Semikolon och nyradstecken är inte tillåtna i [namn] och [stad] i argumentet --serverinfo. Se Serverrelaterade alternativ för mer information om landskoden.

Serverrelaterade alternativ

-e eller --directoryaddress

Krävs för en Registered Server. Krävs också för att köra Jamulus som en katalog.

Det här alternativet har formatet:

--katalogadress värdnamn:port där värdnamn är genrekatalogens värdnamn och port är dess portnummer.

För att registrera dig med en av de inbyggda katalogerna i Jamulus-klienten, ersätt värdnamn:port med något av följande alternativ:

Genrehostname:port
Any Genre 1anygenre1.jamulus.io:22124
Any Genre 2anygenre2.jamulus.io:22224
Any Genre 3anygenre3.jamulus.io:22624
Genre Rockrock.jamulus.io:22424
Genre Jazzjazz.jamulus.io:22324
Genre Classical/Folkclassical.jamulus.io:22524
Genre Choral/Barbershopchoral.jamulus.io:22724
-o eller --serverinfo

När du registrerar din server med en katalog kan du ange ett servernamn och platsinformation så att användare sedan kan söka efter dessa värden från sin klient.

Det här alternativet har formatet:

[namn];[stad];[land som tvåbokstavs ISO-landskod]

Se ISO-landskoder med två bokstäver

Obs! Semikolon och nyradstecken är inte tillåtna i namn och stad värden.

-L eller --licence

Visa ett avtalsfönster innan användare kan ansluta. Texten i avtalet som ska visas ska tillhandahållas som --welcomemessage (se nedan).

-w eller --welcomemessage

Ett “välkomstmeddelande” att visa i klientchattfönstret vid anslutning. Kan ges som en sträng eller filnamn och kan innehålla HTML. När en sökväg används måste filen vara tillgänglig för användarkontot som kör Jamulus. (På de flesta Linux-installationer används användaren jamulus som standard.) Om den inte är tillgänglig kommer den bokstavliga sökvägen (i stället för dess innehåll) att visas.

--serverpublicip

Serverns offentliga IP-adress om du ansluter till en katalog bakom samma NAT. Se katalogguiden för ytterligare information.

--directoryfile

Endast kataloger: Kom ihåg registrerade servrar även om katalogen startas om. Se katalogguiden för ytterligare information.

-f eller --listfilter

Endast kataloger: Ange vilka servrar som kan registreras på katalogservern. Se katalogguiden för ytterligare information.


Allmänna serveralternativ

Dessa alternativ kan användas oavsett vilket läge din server körs i (även om vissa kanske inte är relevanta för kataloger).

-d eller --discononquit

Normalt, när en server stoppas eller startas om, kommer alla klienter som inte har tryckt på sina Koppla från-knappar automatiskt att återupprätta anslutningen när servern återvänder. Detta alternativ tvingar klienter att manuellt återupprätta sina anslutningar till servern i detta scenario.

-F eller --fastupdate

Minskar latensen om klienter ansluter med alternativet Små nätverksbuffertar. Kräver snabbare CPU för att undvika avhopp och mer bandbredd till aktiverade klienter.

-l eller --log

Aktivera loggning, ange sökväg och filnamn

-m eller --htmlstatus

Aktivera HTML-statusfil, ange sökväg och filnamn

Obs! Den här funktionen är utfasad och kan försvinna i en framtida version.

-P eller --delaypan

Börja med fördröjd panorering aktiverad. Detta alternativ använder små skillnader i ljudets ankomsttid mellan de två öronen. Den ger en stereoeffekt som liknar naturlig mänsklig hörsel jämfört med normal “volym” panorering.

-s eller --server

Starta Jamulus i serverläge

--serverbindip

Ange IP-adressen som Jamulus-processen ska binda till.

Normalt lyssnar Jamulus på alla IP-adresser på värddatorn. Om värden har flera nätverksadresser tillåter detta alternativ att en av adresserna kan väljas.

-T eller --multithreading

Använd multithreading för att bättre utnyttja flerkärniga processorer. Den här inställningen kan hjälpa servern att stödja fler klienter. Se även --numchannels

-u eller --numchannels

Maximalt antal kanaler (klienter)

-z eller --startminimized

Starta det grafiska användargränssnittet för Jamulus Server i det minimerade fönstertillståndet.

Andra alternativ

  • -h eller --help Visa hjälptext
  • -i eller --inifile Ange platsen för initieringsfilen (ersätter standard). På macOS anger du bara ett filnamn, eftersom konfigurationsfiler endast kan läsas från /Users/<användarnamn>/Library/Containers/app.jamulussoftware.Jamulus/Data/. För servern ersätter du app.jamulussoftware.Jamulus med app.jamulussoftware.JamulusServer. Aktivera “Visa Library-mappen” i “Visa alternativ” i Finder för att se denna mapp.)
  • -n eller --nogui Inaktivera GUI (för användning i headless-läge)
  • -p eller --port Sätter det lokala UDP-portnumret. Standard är 22124
  • --jsonrpcport Aktiverar JSON-RPC API-server för att styra appen, ställ in TCP-portnummer (EXPERIMENTELLT, API:er kan ändras; endast tillgängligt från localhost). Se JSON-RPC API-dokumentationsfilen.
  • --jsonrpcsecretfile Krävs när --jsonrpcport används. Anger en sökväg till en textfil som innehåller en autentiseringstextsträng för att få åtkomst till JSON-RPC API:et.
  • --jsonrpcbindip Den IP-adress som JSON-RPC-servern ska binda till. (valfritt, standard är 127.0.0.1)
  • -Q eller --qos Ställer in kvaliteten på tjänstens DS-fältbyte. Standard är 128 (DSCP/CS4). QoS ignoreras av Windows. För att aktivera det, se denna sida
  • -t eller --notranslation Inaktivera översättningar av användargränssnittets språk
  • -6 eller --enableipv6 Aktivera IPv6-adressering (IPv4 är alltid aktiverat)
  • -v eller --version Skriv ut versionsinformation och avsluta

Styr servern via API

Jamulus kan styras via ett experimentellt API som kan ändras. Du kan hitta JSON-RPC API dokumenterat i huvudarkivet. JSON-RPC låter dig styra vissa funktioner som att ändra välkomstmeddelandet eller starta inspelningar i huvudlöst läge från autentiserade externa applikationer. Det fungerar medan servern är igång.


Inspelning

-R eller --recording

Ställ in serverinspelningskatalog. Som standard kommer servern att spela in när en session är aktiv.

Obs: Du måste spara inspelningar till en sökväg utanför av jamulus-hemkatalogen, eller ta bort ProtectHome=true från din systemd-enhetsfil, men var medveten om att det kan vara en säkerhetsrisk.

Inspelningar är per spår i Audacity.lof-format och REAPER.rpp. Öppna respektive filer för att lyssna på dem i dessa applikationer.

Obs! När din server spelar in visar klienter ett rött bannermeddelande om att sessionen spelas in.

--norecord

Ställ in servern att inte spela in som standard när inspelning är konfigurerad.

Styra inspelning

Inspelningen startar när den första personen ansluter till servern och slutar när den sista personen lämnar.

Om servern tar emot en SIGUSR1-signal under en inspelning kommer den att starta en ny inspelning i en ny katalog. SIGUSR2 växlar inspelning på/av. Om JSON-RPC är aktiverat kommer du också att kunna hantera servern på ett sätt som är jämförbart med det grafiska användargränssnittet . Se den (experimentella) JSON-RPC-dokumentationen på inspelaren.

För att skicka dessa signaler med systemd, skapa följande två .service-filer i /etc/systemd/system, kalla dem något lämpligt (t.ex. jamulusTogglerec.service).

Så här slår du på eller av inspelning (beroende på aktuellt läge):

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

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

För att starta en ny inspelning:

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

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

_Obs: Jamulus-tjänstens namn i ExecStart-raden måste vara detsamma som .service-filnamnet som används av systemd för att styra din Jamulus-server. Som standard, om du använder .deb-filerna från förvaret, är det jamulus-headless, som i det här exemplet.

Kör sudo systemctl daemon-reload för att registrera dem för första användning.

Nu kan du köra dessa med kommandot systemctl, till exempel:

sudo systemctl start jamulusTogglerec

Du kan se resultatet av dessa kommandon om du kör systemctl status jamulus-headless (eller respektive tjänstnamn du angav manuellt). Du kan också se din (sys)logg.


Lägga till metadata till servern

Du kan lägga till metadata i välkomstmeddelandet från en server för att lägga till ytterligare, dold information som kontaktinformation eller policyförfrågningar för botar (detta är jämförbart med robots.txt). Se Community Knowledge Base-posten om metadata för mer information.


Servrar på skrivbordet

Jamulus kan köras i serverläge i en dators grafiska miljö. Detta ger dig ett grafiskt användargränssnitt för att kontrollera de flesta inställningarna. För att göra detta, först installera Jamulus för din plattform, gör sedan något av följande:

  • Windows-användare - Använd ikonen “Jamulus Server” i Windows Start-meny. Om du vill att servern ska starta automatiskt när du startar Windows, markera rutan för det här alternativet.

  • macOS-användare - Dubbelklicka på ikonen “Jamulus Server” i Applikationer.

  • Linux-användare - Starta genvägen “Jamulus Server”. Eller så kan du öppna ett terminalfönster (CTRL+ALT+t på Debian och relaterade distros), skriv jamulus -s och tryck på retur.

Medan de vanligaste funktionerna i Jamulus kan ställas in med GUI, kan andra endast ställas in med alternativ som ges i ett terminalfönster när servern startas. Exakt hur du gör detta beror på ditt operativsystem.

Till exempel i Windows, för att använda en specifik inställningsfil, högerklicka på Jamulus-genvägen och välj Egenskaper > Mål. Lägg till de nödvändiga argumenten till Jamulus.exe:

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

För macOS, starta ett terminalfönster och kör Jamulus med önskade alternativ så här:

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

Obs Kommandoradsalternativ kommer att ställa in serverns standardinställningar vid start. Du kan åsidosätta dem medan servern körs med deras motsvarande GUI-kontroller.

Serverstatusikonen

När en server körs i GUI-läge kommer operativsystemet att visa en ikon i systemfältet eller statusområdet som indikerar om servern har anslutningar:

Bild av Jamulus Server-ikonen

Servern är tom

Bild av Jamulus Server-ikonen

Servern är upptagen


Säkerhetskopiera servern

När du har installerat och kört programmet kan du vilja behålla en kopia av dina inställningar. Att ha en säkerhetskopia är alltid en bra idé, och inställningsfiler är inte bakåtkompatibla mellan versioner av Jamulus. Så om du vill återgå till den tidigare versionen, kommer du att behöva återställa de inställningar du hade.

För att hitta din inställningsfil på Windows, skriv %APPDATA% i sökfältet och leta efter en mapp som heter Jamulus. Det kommer att finnas en eller flera .ini-filer i denna mapp. Säkerhetskopiera nu Jamulus’ inställningar.

För alla andra plattformar, kör följande från kommandoraden för att hitta var filerna finns och kopiera dem till en annan plats:

find ~ -name Jamulus.ini -ls

Om du använde parametern --inifile för att spara en ini-fil på en annan plats, glöm inte att också säkerhetskopiera dessa filer. Viktiga punkter att notera

  • Säkerhetskopiera eller återställ inte inställningsfiler när Jamulus är igång.
  • Det rekommenderas inte att manuellt redigera inställningsfiler (de är inte avsedda för det).
  • Du kan återställa alla inställningar till standardvärdena genom att bara ta bort inställningsfilen (efter att ha stängt Jamulus).

  • Huvudlösa servrar använder inte .ini-filer. All konfiguration ges som kommandoradsalternativ. Om du kör en server i GUI-läge, efter att ha läst alla kommandoradsalternativ vid start, kommer den att lagra sin konfiguration i filen Jamulusserver.ini.

Felsökning

Om du har andra problem, se den här guiden.