Manual Administración de Servidores
Tabla de contenidos
- ¿Necesito ejecutar un Servidor?
- Requisitos
- Instalación
- Modos de servidor
- Opciones de configuración
- Grabación
- Añadir metadatos al Servidor
- Servidores en el escritorio
- Copia de seguridad del Servidor
- Resolución de Problemas
¿Necesito ejecutar un Servidor?
No. No necesitas ejecutar un Servidor. Puedes usar los Servidores listados por los Directorios incorporados y usar Jamulus sin ejecutar tú un Servidor. También puedes utilizar un Servidor no listado si conoces su dirección de Internet. O puedes utilizar un servicio de hosting de terceros como melomax o KOORD. Probablemente haya un Servidor cerca que tú y tus amigos podáis usar con una latencia lo suficientemente baja para la mayoría de las necesidades.
Utilizar un Servidor público puede ponerte en contacto con personas desconocidas. Si quieres una sesión sin molestias, puedes utilizar la técnica del solo descrita en la página de Trucos y Consejos. No oirás a los desconocidos que se conecten al Servidor, pero ellos podrán oírte a ti si lo desean.
Requisitos
Velocidad y latencia
La capacidad del Servidor en sí (y de la red en la que opera) NO es el factor más determinante para la calidad de una sesión con Jamulus
Normalmente, los problemas ocurren en el lado del Cliente y deben solucionarse allí. Consulta la Página de resolución de problemas si es necesario.
Sin embargo, también pueden surgir problemas al configurar Servidores - sobre todo si se ejecutan en una conexión doméstica con poco ancho de banda. Normalmente funciona bien con menos de 5 personas tocando en una conexión doméstica lenta (por ej. unos 10 Mbit/s de bajada y 1 Mbit/s de subida). Puedes leer más sobre los requisitos de red con diferentes configuraciones de calidad aquí.
Considera el uso de un host en la nube, no tu conexión doméstica, para conseguir mejores tiempos de ping si tienes problemas.
Notas generales
- Cualquier Servidor debería de tener una frecuencia de procesador de 1,6 GHz y 1 GB de RAM
- Ejecutar un Servidor puede requerir que configures cortafuegos operando en tu ordenador o host en la nube, o externos.
- Debes configurar la redirección de puertos en tu router para ejecutar un Servidor No Registrado en casa. Esto no debería ser necesario cuando se ejecuta un Servidor Registrado en la mayoría de los casos. Sin embargo, algunas redes domésticas pueden requerir la redirección de puertos para un Servidor Registrado.
- Jamulus ofrece soporte IPv6 limitado que puedes activar para un Cliente o Servidor desde la línea de comandos.
Instalación
La mayoría de la gente ejecuta Jamulus en un host de terceros/nube como un Servidor “headless” (sin pantalla ni teclado) en hardware sin audio ejecutando Linux. También puedes ejecutar un Servidor en un entorno de escritorio.
Nota Los siguientes pasos harán que ejecutes un Servidor “No registrado”. Para más información, consulta la sección sobre modos de Servidor más abajo.
Para ejecutar un Servidor “headless” en Linux, los siguientes pasos suponen que sabes utilizar la línea de comandos y Debian/Ubuntu o una distribución similar que utilice systemd.
Descargue el script de instalación:
curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh > setup_repo.sh
Haga que el script sea ejecutable:
chmod +x setup_repo.sh
Ejecute el script e instale el servidor headless:
sudo ./setup_repo.sh && sudo apt install jamulus-headless
Habilita el proceso del Servidor headless:
sudo systemctl enable jamulus-headless
Añade las opciones de línea de comandos que quieras a la línea
ExecStart
en el archivo de servicio systemd:sudo systemctl edit --full jamulus-headless
Vuelve a cargar los archivos de systemd y reinicia el Servidor “headless”:
sudo systemctl daemon-reload && sudo systemctl restart jamulus-headless
Para editar la configuración de tu Servidor, simplemente repite los dos últimos pasos anteriores.
Modos de servidor
Los Servidores se pueden ejecutar en uno de tres modos (bien en casa o en un host de terceros), dependiendo de tus necesidades.
Modo Sin Registrar
Esto es lo predeterminado cuando se arranca un Servidor por primera vez. Los Servidores Sin Registrar no son listados por los Directorios, por lo que solo los músicos que conozcan la dirección de tu Servidor se podrán conectar a él.
Para obtener información sobre la ejecución de un Servidor No Registrado consulta esta guía.
Modo Registrado
En este modo tu Servidor aparecerá en la lista de servidores suministrada por un Directorio. Los Clientes Jamulus vienen con una lista de Directorios integrada. Si registras tu Servidor en uno de ellos, cualquiera podrá descubrirlo y conectarse a él.
Alternativamente, puedes listar tu Servidor en un Directorio Personalizado (ver más abajo). Los Clientes sólo encontrarán tu Servidor si introducen la dirección de internet del Directorio Personalizado.
Ten en cuenta que los Directorios solo pueden registrar hasta 150 Servidores. Si ves un mensaje que dice que no puedes registrar tu Servidor porque el Directorio está lleno, puedes intentar registrarlo en un Directorio diferente.
Modo Directorio
Si quieres ejecutar varios Servidores, posiblemente también tras un cortafuegos o en un LAN, quizás quieras ejecutar tu Servidor como un Directorio. Ejemplos incluyen eventos online, asociaciones musicales, ensayos seccionales or clases de música para colegios.
Para más información lee la guía sobre Directorios.
Opciones de configuración
En función de tu sistema operativo y de cómo ejecutes el Servidor, puedes establecer las opciones del Servidor y hacerlas persistentes entre reinicios siguiendo estos pasos:
Para Linux “headless” (Debian/Ubuntu usando systemd)
Añade las opciones de línea de comandos que desees a la línea ExecStart
en el archivo de servicio systemd ejecutando sudo systemctl edit --full jamulus-headless
(Necesitarás recargar o reiniciar para que los cambios surtan efecto. Ver Instalación).
Para la interfaz gráfica (todas las plataformas)
Cualquier configuración realizada mediante la interfaz gráfica se almacenará en el archivo Jamulusserver.ini
. (¡No edites este archivo a mano!) Sin embargo, algunas opciones no están disponibles en la interfaz gráfica y necesitan ser configuradas usando la línea de comandos. Para más información, consulta Servidores en el escritorio.
Configuración mínima para ejecutar en modo Registrado
Puedes ejecutar un Servidor headless en Linux usando systemd (con systemctl
), que se trata en otras secciones. También puedes ejecutar un Servidor directamente desde la línea de comandos. Introduce el siguiente comando para ejecutar un Servidor Registrado:
jamulus --nogui --server \
--directoryaddress nombreHost:puerto\
--serverinfo "[nombre];[ciudad];[país como código ISO de dos letras o Locale Qt5]"
Véase la tabla de abajo para valores de nombreHost:puerto
.
Nota: Los caracteres punto y coma y nueva línea no están permitidos en [nombre]
y [ciudad]
dentro del argumento --serverinfo
. Consulta las Opciones relacionadas con el modo servidor para obtener más información sobre el código del país.
Opciones relacionadas con el modo servidor
-e ó --directoryaddress
Necesario para un Servidor Registrado. También es necesario para ejecutar Jamulus como Directorio.
Esta opción tiene el formato:
--directoryaddress hostname:port
donde hostname
es el nombre del host del Directorio de Géneros y port
es su número de puerto.
Para registrarte en uno de los Directorios incluidos en el Cliente Jamulus, reemplaza hostname:port
con una de las siguientes opciones:
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 ó --serverinfo
Al registrar tu Servidor en un Directorio, esto te permite proporcionar un nombre de Servidor y detalles de ubicación para que los usuarios puedan buscar estos valores desde su Cliente.
Esta opción tiene el formato:
[nombre];[ciudad];[país como código de país ISO de dos letras]
Véase códigos de país ISO de dos letras
Nota: No se permiten los caracteres de punto y coma y nueva línea en los valores nombre
y ciudad
-L ó --licence
Mostrar una ventana de aceptación antes de que los usuarios puedan conectarse. El texto de la aceptación que se mostrará debe suministrarse como --welcomemessage
(véase más abajo).
-w
ó --welcomemessage
Un “mensaje de bienvenida” para mostrar en la ventana del chat del Cliente al conectarse. Se puede proporcionar como una cadena o un nombre de un archivo y puede contener HTML. Cuando se utiliza una ruta, la cuenta del usuario que ejecuta Jamulus debe poder acceder al archivo. (En la mayoría de las instalaciones de Linux, el usuario jamulus
se usa de forma predeterminada). Si no está accesible, aparecerá la ruta literal (en lugar de su contenido).
--serverpublicip
La dirección IP pública del Servidor si se conecta a un Directorio tras el mismo NAT. Véase la guía sobre Directorios para más información.
--directoryfile
Solo Directorios: Recuerda los Servidores registrados aunque se reinicie el Directorio. Consulta la guía sobre Directorios para más información.
-f ó --listfilter
Solo Directorios: Especifica qué Servidores pueden registrarse en el Directorio. Ver la guía sobre Directorios para más información.
Opciones generales del Servidor
Estas opciones se pueden utilizar independientemente del modo en el que se esté ejecutando tu Servidor (aunque algunas pueden no ser relevantes para Directorios).
-d ó --discononquit
Normalmente, cuando un Servidor se detiene o se reinicia, los Clientes que no hayan utilizado su botón de Desconectar reestablecerán su conexión automáticamente cuando el Servidor vuelva a estar operativo. Utilizar esta opción obliga a los Clientes a reestablecer su conexión con el Servidor manualmente.
-F ó --fastupdate
Reduce la latencia si los clientes se conectan con la opción Small Network Buffers. Requiere CPU más rápida para evitar abandonos, y más ancho de banda para los clientes habilitados.
-l ó --log
Activar el registro, establecer la ruta y el nombre del archivo
-m ó --htmlstatus
Habilita un archivo de estado HTML, establece una ruta y un nombre de archivo
Nota: Esta función está obsoleta y puede desaparecer en una futura versión.
-P ó --delaypan
Arrancar con retardo de paneo activado. Esta opción utiliza las pequeñas diferencias en el tiempo de llegada del sonido a nuestros dos oídos. Produce un efecto estéreo similar a la audición humana cuando se compara a un paneo de “volumen” normal.
-s
ó --server
Iniciar Jamulus en modo Servidor
--serverbindip
Especifica la dirección IP a la que se vinculará el proceso de Jamulus.
Normalmente, Jamulus escuchará en todas las direcciones IP de la máquina que es el host. Cuando el host tiene varias direcciones de red, esta opción permite elegir una de las direcciones.
-T ó --multithreading
Utiliza multithreading para hacer un mejor uso de CPUs multi-núcleo. Este ajuste puede ayudar al Servidor a soportar más Clientes. Véase también --numchannels
-u ó --numchannels
Número máximo de canales (Clientes)
-z
ó --startminimized
Inicia la interfaz gráfica del Servidor Jamulus con la ventana minimizada.
Otras opciones
-h
o--help
Mostrar texto de ayuda-i
o--inifile
Establece la ubicación del archivo de inicialización (sustituye al predeterminado. En macOS simplemente proporciona un nombre de archivo, ya que los archivos de configuración sólo se pueden leer desde/Usuarios/<nombreUsuario>/Biblioteca/Contenedores/app.jamulussoftware.Jamulus/Data/
. Para el servidor sustituyeapp.jamulussoftware.Jamulus
porapp.jamulussoftware.JamulusServer
. Activa la opción “Mostrar carpeta de biblioteca” en “Mostrar opciones de previsualización” en Finder para ver esta carpeta.)-n
o--nogui
Desactivar interfaz gráfica (para usar en modo headless)-p
o--port
Establece el número de puerto UDP local. Por defecto es 22124--jsonrpcport
Activa el servidor JSON-RPC API para controlar la aplicación, establecer número de puerto TCP (EXPERIMENTAL, las APIs pueden cambiar; solo accesible desde localhost). Por favor ver la documentación sobre JSON-RPC API.--jsonrpcsecretfile
Necesario cuando se utiliza--jsonrpcport
. Establece una ruta a un archivo de texto que contiene la cadena de caracteres de autenticación para acceder a la API de JSON-RPC.--jsonrpcbindip
La dirección IP al que debe vincularse el servidor JSON-RPC. (opcional, por defecto 127.0.0.1)-Q
o--qos
Establece el DS Field byte de la calidad de servicio (QoS). Por defecto 128 (DSCP/CS4). QoS es ignorado por Windows. Para habilitarlo, ver esta página-t
o--notranslation
Deshabilitar traducciones de la interfaz gráfica-6
o--enableipv6
Habilita direccionado IPv6 (IPv4 siempre está habilitado)-v
o--version
Mostrar información de la versión y salir
Controlar el Servidor a través de API
Se puede controlar Jamulus a través de un API experimental que estará sujeto a cambios. Puedes encontrar el API JSON-RPC documentado en el repositorio principal. JSON-RPC te permite controlar algunas funciones como cambiar el mensaje de bienvenida or iniciar grabaciones en modo ‘headless’ desde aplicaciones externas autenticadas. Funciona mientras se ejecuta el servidor.
Grabación
-R ó --recording
Establecer el directorio de grabación del Servidor. Por defecto, el Servidor grabará cuando una sesión esté activa.
Nota: Deberás guardar las grabaciones a una ruta fuera del directorio raiz de Jamulus, o quitar ProtectHome=true
del archivo de unidad systemd, pero ten en cuenta que hacerlo podría acarrear un riesgo de seguridad.
Las grabaciones son por pista en formato Audacity.lof
y REAPER.rpp
. Abre los archivos respectivos para escucharlos en esas aplicaciones.
Nota: Cuando tu Servidor esté grabando, los Clientes mostrarán un mensaje en un banner rojo informando de que la grabación está activa.
--norecord
Establecer que el Servidor no grabe por defecto cuando la grabación está configurada.
Controlar la Grabación
La grabación comienza cuando la primera persona se conecta al Servidor y se detiene cuando la última persona se va.
Si el Servidor recibe una señal SIGUSR1 durante una grabación, iniciará una nueva grabación en un nuevo directorio. SIGUSR2 activará/desactivará la grabación. Si JSON-RPC está activado, también podrás gestionar el servidor de una forma comparable a la interfaz gráfica. Consulta la documentación (experimental) de JSON-RPC para la grabación.
Para enviar estas señales utilizando systemd, crea los siguientes dos archivos .service
en /etc/systemd/system
, dándoles un nombre apropiado (por ej. jamulusTogglerec.service
).
Para activar o desactivar la grabación (dependiendo del estado actual):
[Unidad]
Descripción=Conmutar el estado de grabación del servidor Jamulus
Requisito=Servidor Jamulus
[Servicio]
Tipo=individual
ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus-headless
Para iniciar una nueva grabación:
[Unidad]
Descripción=Iniciar una nueva grabación en Jamulus Server
Requisito=Jamulus-Server
[Servicio]
Tipo=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus-headless
_Nota: El nombre del servicio Jamulus en la línea ExecStart
tiene que ser el mismo que el nombre del fichero .service
usado por systemd para controlar tu servidor Jamulus. Por defecto, si utiliza los archivos .deb
del repositorio, es jamulus-headless
, como en este ejemplo.
Ejecuta sudo systemctl daemon-reload
para registrarlos para su primer uso.
Ahora puedes ejecutarlos con el comando systemctl
, por ejemplo:
sudo systemctl start jamulusTogglerec
Puede ver el resultado de estos comandos si ejecuta systemctl status jamulus-headless
(o el nombre del servicio correspondiente que haya especificado manualmente). También puede ver su registro (sys).
Añadir metadatos al Servidor
Puedes añadir metadatos al mensaje de bienvenida de un Servidor para incluir información adicional oculta, como información de contacto o solicitudes de políticas para bots (esto es comparable a robots.txt). Consulta la entrada de la Base de Conocimiento Comunitario sobre metadatos para más información.
Servidores en el escritorio
Jamulus puede ejecutarse en modo Servidor en el entorno gráfico de un ordenador. Esto te ofrece una interfaz gráfica para controlar la mayoría de los ajustes. Para ello, primero instala Jamulus para tu plataforma, y luego realiza una de las siguientes opciones:
Usuarios de Windows - Utiliza el icono de “Jamulus Server” del menú de inicio de Windows. Si quieres que el Servidor arranque automáticamente al iniciar Windows, activa la casilla correspondiente.
Usuarios de macOS - Haz doble clic en el icono “Jamulus Server” en Aplicaciones.
Usuarios de Linux - Lanza el acceso directo “Jamulus Server”. O abre una terminal (
CTRL+ALT+t en Debian y distros relacionadas), teclea
jamulus -s` y dale a Enter.
Mientras que la mayoría de las funciones más comunes de Jamulus pueden configurarse usando la interfaz gráfica, otras solo pueden ser controladas utilizando la terminal para iniciar el Servidor. Exactamente cómo se hace dependerá de tu sistema operativo.
Por ejemplo, en Windows, para utilizar un archivo de configuración específico, haz clic derecho en el acceso directo a Jamulus y selecciona Propiedades > Objetivo. Añade los argumentos necesarios a Jamulus.exe:
"C:\Program Files\Jamulus\Jamulus.exe" --serverbindip 192.168.0.100
Para macOS, arranca una ventana de Terminal y ejecuta Jamulus con las opciones deseadas como sigue:
/Applications/Jamulus.app/Contents/MacOS/Jamulus --serverbindip 192.168.0.100
Nota Las opciones de línea de comandos establecen la configuración por defecto del Servidor al arrancar. Puedes anularlos mientras el Servidor se está ejecutando utilizando sus correspondientes controles en la interfaz gráfica.
Icono de estado del Servidor
Cuando un Servidor está funcionando en modo gráfico, el sistema operativo mostrará un icono en la bandeja del sistema o en el área de notificaciones para indicar si el Servidor tiene conexiones:
El Servidor está vacío
El Servidor está ocupado
Copia de seguridad del Servidor
Una vez instalado y en marcha, quizá quieras guardar una copia de tu configuración. Tener una copia de seguridad siempre es buena idea, y los archivos de configuración no son compatibles con versiones previas de Jamulus. Por lo que si quieres volver a la versión anterior, deberás reestablecer la configuración que tenías.
Para encontrar el archivo de configuración en Windows, teclea %APPDATA%
en la barra de búsqueda y busca una carpeta llamada Jamulus
. Habrá uno o más archivos .ini
en esta carpeta. Ahora haz una copia de seguridad de la configuración de Jamulus.
Para las demás plataformas, ejecuta lo siguiente desde la línea de comandos para encontrar dónde están y copia los archivos a otra ubicación:
find ~ -name Jamulus.ini -ls
Si has utilizado el parámetro --inifile
para guaradar un archivo .ini en una ubicación diferente, no te olvides de también hacer una copia de seguridad de estos archivos. Puntos a tener en cuenta
- No realices copias de seguridad ni restaures archivos de configuración mientras se ejecuta Jamulus.
- No se recomienda editar los archivos de configuración manualmente (no están diseñados para eso).
Puedes revertir toda la configuración a los valores predeterminados simplemente eliminando el archivo de configuración (tras cerrar Jamulus).
- Los Servidores “headless” no utilizan archivos
.ini
. Toda la configuración se da con opciones de línea de comandos. Si estás ejecutando un Servidor en modo gráfico, después de leer cualquier opción de línea de comandos al arrancar, almacenará su configuración en el archivoJamulusserver.ini
.
Resolución de Problemas
Si estás teniendo otros problemas, consulta esta guía.