Serveradministrationsmanual
Innehållsförteckning
- Behöver jag köra en server?
- Krav
- Installation
- Serverlägen
- Konfigurationsalternativ
- Inspelning
- Lägga till metadata till servern
- Servrar på skrivbordet
- Säkerhetskopiera servern
- Felsökning
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.
Ladda ner installationsskriptet:
curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
Gör skriptet exekverbart:
chmod +x setup_repo.sh
Kör skriptet och installera den huvudlösa servern:
sudo ./setup_repo.sh && sudo apt install jamulus-headless
Aktivera den huvudlösa serverprocessen:
sudo systemctl enable jamulus-headless
Lägg till önskade kommandoradsalternativ till
ExecStart
-raden i systemd-tjänstfilen:sudo systemctl edit --full jamulus-headless
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.
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.
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:
Genre | hostname:port |
---|---|
Any Genre 1 | anygenre1.jamulus.io:22124 |
Any Genre 2 | anygenre2.jamulus.io:22224 |
Any Genre 3 | anygenre3.jamulus.io:22624 |
Genre Rock | rock.jamulus.io:22424 |
Genre Jazz | jazz.jamulus.io:22324 |
Genre Classical/Folk | classical.jamulus.io:22524 |
Genre Choral/Barbershop | choral.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 duapp.jamulussoftware.Jamulus
medapp.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), skrivjamulus -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:
Servern är tom
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 filenJamulusserver.ini
.
Felsökning
Om du har andra problem, se den här guiden.