Jamulus Icon. Enlaces a inicio
Abrir navegación

Manual Administración de Servidores

Tabla de contenidos

¿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.

  1. Descarga el script de la instalación: `curl https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh

    setup_repo.sh`

  2. Haz que el script sea ejecutable: chmod +x setup_repo.sh
  3. Ejecuta el script e instala el servidor: sudo ./setup_repo.sh && sudo apt install jamulus-headless
  4. Habilita el proceso del Servidor headless:

    sudo systemctl enable jamulus-headless

  5. 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

  6. Vuelve a cargar los archivos de systemd y reinicia el Servidor “headless”:

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

To edit your Server configuration, just repeat the last two steps above.


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.

Diagrama de conexiones entre Clientes en un Servidor Jamulus Sin Registrar

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.

Diagrama de conexiones entre Clientes en un Servidor Jamulus Registrado

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:

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 ó --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/io.jamulus.Jamulus/Data/. Para el servidor sustituye io.jamulus.Jamulus por io.jamulus.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):

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

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

Para iniciar una nueva grabación:

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

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

Nota: El nombre del servicio Jamulus en la línea de ExecStart tiene que ser el mismo que el nombre del archivo .service que creaste cuando configuraste systemd para controlar tu Servidor Jamulus. Así que en este ejemplo sería Jamulus-Server.service

Ejecuta sudo systemctl daemon-reload para registrarlos para su primer uso.

Ahora puedes ejecutarlos con el comando systemctl, por ejemplo:

sudo systemctl start jamulusTogglerec

Puedes ver el resultado de estos comandos si ejecutas systemctl status jamulus, o viendo los registros.


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:

Imagen del icono del Servidor Jamulus

El Servidor está vacío

Imagen del icono del Servidor Jamulus

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 archivo Jamulusserver.ini.

Resolución de Problemas

Si estás teniendo otros problemas, consulta esta guía.