Jamulus Icon. Enlaces a inicio
Abrir navegación

Manual Administración de Servidores

Tabla de contenidos

¿Necesito ejecutar un Servidor?

No. Puedes utilizar los Servidores listados en los Directorios incluidos y usar Jamulus sin ejecutar un Servidor ni recurrir a un servicio de hosting de terceros. Si simplemente quieres una sesión sin que te molesten, utiliza la técnica del “solo” en la página de Consejos y Trucos. Si decides que no puedes utilizar ninguno de los Servidores en los Directorios incluidos, quizá puedas usar un Servidor (ya sea Registrado en un Directorio Personalizado, o Sin Registrar -ver Tipos de Servidor) ofrecido por un host de terceros. Hacerlo te ahorrará el trabajo de configurar uno por tu cuenta.

Requisitos básicos

Aunque configurar un Servidor no es difícil, es una buena idea leer la siguiente información general para evitar algunos problemas:

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.
  • Ejecutar un Servidor Sin Registrar en casa requerirá que redirecciones puertos en tu router. Al ejecutar un Servidor Registrado, el redireccionamiento de puertos no debería ser necesario en la mayoría de casos, pero es aconsejable hacerlo puesto que algunas redes podrían no funcionar bien con Jamulus en su modo por defecto.
  • Jamulus solo tiene soporte limitado para IPv6, que debe ser habilitado con un argumento en la línea de comandos en el Cliente y el Servidor. (Hay intención de ampliar el soporte para IPv6.)

Tipos de servidor

Puedes ejecutar tu Servidor de diferentes modos (bien en casa o en un host de terceros):

1. Registrado

Tu Servidor será listado en un Directorio. Por defecto, Jamulus tiene una lista de Directorios incluidos a los que se pueden conectar los Clientes. Si te registras en uno de estos, cualquiera puede ver y conectarse a tu Servidor. También puedes listar tu Servidor en un Directorio Personalizado, si eso se ajusta mejor a tus necesidades.

Diagrama de conexiones entre Clientes en un Servidor Jamulus Registrado
Cómo funcionan los Servidores Registrados

2. Sin Registrar

Esto el 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. Esto es útil porque Jamulus no te deja controlar quién se puede conectar a un servidor.

Diagrama de conexiones entre clientes en un Servidor Jamulus Sin Registrar
Cómo funcionan los Servidores Sin Registrar

Si estás ejecutando un Servidor Sin Registrar tras una conexión doméstica de internet, quizás tengas que habilitar redireccionamiento de puertos, descrito más abajo.

3. 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 ejecutar un Directorio lee esta guía

Instalación y Configuración

La mayoría de las personas ejecutan Jamulus como Servidor “puro” en hardware sin audio (por ej. en un host/una nube de terceros) con Linux. Los siguientes pasos dan por hecho que tienes conocimiento de la línea de comandos y de Debian/Ubuntu o una distribución similar que utiliza systemd. Para ejecutar un Servidor en Windows o en un escritorio con interfaz gráfica ver esta sección.

Si quieres ejecutar un Servidor en un Raspberry Pi (u otro dispositivo armhf/arm64 basado en debian), tendrás que descargarte los archivos .deb para armhf de 32 bit o arm64 de 64 bit, no los amd64 que utilizarías por defecto en una máquina basada en Intel/AMD.

Instalación

  1. Descarga el último archivo .deb para headless (amd64) o si utilizas Raspberry Pi etc. descarga el último archivo .deb para armhf o el último archivo .deb para arm64
  2. Actualiza apt para asegurarte de que tienes la lista actual de paquetes estándares: sudo apt update
  3. Instala el paquete de Jamulus: sudo apt install ./jamulus-headless_3.9.1_ubuntu_amd64.deb o para RasPi etc. armhf: sudo apt install ./jamulus-headless_3.9.1_ubuntu_armhf.deb; arm64: sudo apt install ./jamulus-headless_3.9.1_ubuntu_arm64.deb
  4. Habilita el Servidor ‘headless’ con systemd: sudo systemctl enable jamulus-headless
  5. Añade las opciones de línea de comandos a la línea ExecStart en el archivo de servicio systemd ejecutando sudo systemctl edit --full jamulus-headless (Por defecto estarás ejecutando un Servidor Sin Registrar).
  6. Vuelve a cargar los archivos de systemd sudo systemctl daemon-reload y reinicia el Servidor “headless”: sudo systemctl restart jamulus-headless
  7. Comprueba que todo va bien con systemctl status jamulus-headless status (dale a q para volver a la línea de comandos).

Puedes controlar Jamulus con el comando systemctl. Por ejemplo, para detener el Servidor limpiamente:

sudo systemctl stop jamulus-headless

Para actualizar tu Servidor, simplemente repite los pasos anteriores.

Configuración

Ejecutar en modo Registrado

Se requiere la configuración mínima siguiente para ejecutar un Servidor Registrado:

jamulus --nogui --server \
        --directoryserver genreServer:port \
        --serverinfo "nombreDeTuServidor;tuCiudad;[ID país]"

Nota: No se permiten los caracteres de punto y coma y nueva línea en yourServerName y yourCity para el argumento de --serverinfo

Para registrarte en uno de los Directorios incluidos en el Cliente Jamulus, reemplaza genreServer:port en el ejemplo de arriba con una de las siguientes opciones:

GéneroDirección Servidor
Cualquier Género 1anygenre1.jamulus.io:22124
Cualquier Género 2anygenre2.jamulus.io:22224
Cualquier Género 3anygenre3.jamulus.io:22624
Género Rockrock.jamulus.io:22424
Género Jazzjazz.jamulus.io:22324
Género Clásico/Folkclassical.jamulus.io:22524
Género Coro/Barbershopchoral.jamulus.io:22724

También puedes especificar un Directorio de la misma manera desde la línea de comandos, proporcionando la Dirección del Servidor en el mismo formato.

Ejecutar como Directorio

Si quieres ejecutar un Directorio por favor consulta esta guía.

Mantenimiento

Ver los Registros

Jamulus dejará registros en el archivo del sistema si dejaste la configuración StandardOutput=journal en el archivo de unidad.

Para ver el registro, utiliza journalctl (para salir pulsa Ctrl-C). Por ejemplo, para leer el archivo de registro del sistema, filtrado para el servicio Jamulus:

journalctl -f -u jamulus-headless

Controlar la Grabación

Cuando se utiliza la función de grabación con la opción de la línea de comandos -R, si el Servidor recibe una señal SIGUSR1 durante una grabación, comenzará una nueva grabación en un Directorio nuevo. SIGUSR2 conmutará entre grabación activa/inactiva.

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

Nota: Deberás guardar las grabaciones a una ruta fuera del directorio raiz de Jamulus, o quitar ProtectHome=true del archivo de unidad systemd (ten en cuenta que hacerlo acarrea un potencial riesgo de seguridad).

Para encender o apagar 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 comenzar 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 (suponiendo que has nombrado tu archivo de unidad jamulusTogglerec.service)

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

Servidores en el escritorio

Jamulus puede ejecutarse en modo Servidor desde el escritorio. Esto te ofrece una interfaz gráfica para controlar la mayoría de los ajustes.

  • Usuarios de Windows - Utiliza el icono de “Jamulus server” en el menú de Inicio de Windows.
  • Usuarios de macOS - Haz doble clic en el icono de “Jamulus server” en Aplicaciones (suponiendo que has depositado los archivos allí siguiendo estas instrucciones).
  • 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

Configuración del Servidor

Imagen de la ventana de configuración del Servidor Jamulus

3. La lista del Directorio

Ninguno: Por defecto, no te conectarás a un Directorio estarás en modo No Registrado. Lee estas instrucciones para que otras personas se conecten a tu Servidor en este modo.

Género: Para permitir a otras personas ver tu Servidor en uno de los Directorios incluidos en el Cliente, selecciona el Directorio del género que desees. Deberías de ver un mensaje de confirmación informándote de si tu Servidor se ha registrado con éxito o no. Si es que no, y dejas tu Servidor arrancado, seguirá intentando registrarse hasta que haya un hueco libre.

Personalizado: Esto te permite especificar un Directorio personalizado en el que aparecer. Ver la pestaña de “Opciones” para la dirección de Directorio Personalizado que quieres utilizar.

Para ejecutar tu Servidor como un Directorio, necesitas establecer la dirección del Directorio Personalizado como localhost o 127.0.0.1 elegir el “Género” como “Personalizado”. Lee esta guía para más detalles.

Info Mi Servidor

Al ejecutar un Servidor como Registrado, esto muestra el nombre, la ciudad y el país del Servidor para que otras personas usuarias puedan identificarlo en la lista del Directorio.

Mensaje Bienvenida Chat

El texto escrito aquí aparece a todos los usuarios cuando se unen al Servidor (la ventana del chat se les abrirá automáticamente). Hay soporte para HTML también.

Opciones

Imagen de las opciones del Servidor Jamulus

Directorio de Grabación

Esto establece la ruta donde se guardan las grabaciones del Servidor. Cuando se establece esta ruta, la función de “Activar Grabación de Jams” en la pestaña de Configuración del Servidor hará que comience la grabación cuando la primera persona se conecte al servidor, y se detiene cuando la última persona se marcha. Utiliza el botón de “Nueva Grabación” para crear un nuevo sub-directorio en el cual se guardarán las grabaciones en adelante. Nota: las grabaciones son por pistas en el formato .lof de Audacity y .rpp de REAPER. Abre los archivos respectivos para escucharlos en estas aplicaciones.

Nota: Cuando tu Servidor está grabando, los Clientes mostrarán un mensaje informando de que la grabación está activa.

Dirección de Directorio Personalizado

Deja este campo vacío a menos que necesites listar tu Servidor en un Directorio Personalizado o ejecutar un Directorio.

Nombre Archivo de la Lista de Servidores

Deja este campo vacío a menos que necesites ejecutar tu Servidor como un Directorio. Cuando está en uso, guarda la lista de Servidores registrados mientras se reinicia el Directorio. Esto evita que la lista de Servidores aparezca como “vacía” hasta que se vuelven a registrar los Servidores.

Paneo con retardo

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.

Arranca Minimizado

Usuarios de Windows - Si quieres que el Servidor arranque automáticamente al iniciar el sistema, activa la casilla correspondiente.

Icono de estado del Servidor

Cuando se está ejecutando el Servidor, el sistema operativo mostrará un icono en la bandeja del sistema o en el área de notificaciones para señalar si el Servidor se encuentra activo:

Imagen del icono del Servidor Jamulus

El Servidor está vacío

Imagen del icono del Servidor Jamulus

El Servidor está ocupado

Opciones de Línea de Comandos

Las funciones más comunes de Jamulus pueden configurarse usando la interfaz gráfica, pero estas y otras también pueden ser controladas utilizando la línea de comandos. Exactamente cómo se hace dependerá de tu sistema operativo.

Por ejemplo, en Windows, para utilizar un archivo específico de configuración, haz clic derecho en el acceso directo de Jamulus y elige “Propiedades” > Destino. 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 modificar la configuración mediante los controles correspondientes en la interfaz gráfica mientras se ejecuta el Servidor.

  • -d ó --discononquit Desconectar todos los Clientes al salir. 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 cuando el Servidor vuelva a estar operativo. Utilizar esta opción obliga a los Clientes a reestablecer su conexión con el Servidor manualmente.
  • -e ó --directoryserver Registra el Servidor en un Directorio (por ej. para establecer su género (ver también -o)). Ver Tipos de Servidor para más información.
  • --directoryfile Recuerde los Servidores registrados incluso si se reinicia el Directorio. Solo Directorios. Ver esta guía para más información.
  • -f ó --listfilter Lista blanca de Servidores que se registran en la lista de Servidores, formato dirección ip 1[;dirección ip 2] Solo Directorios.
  • -F ó --fastupdate Reduce la latencia si los Cliente se conectan con la opción “Activar Buffers Pequeños”. Requiere un procesador potente para evitar cortes, y más ancho de banda hacia Clientes activos.
  • -l ó --log Habilita registro, establece una ruta y un nombre de archivo
  • -L ó --licence Muestra una ventana de aceptación para que los usuarios se puedan conectar
  • -m ó --htmlstatus Habilita un archivo de estado HTML, establece una ruta y un nombre de archivo
  • -o ó --serverinfo Datos de ubicación en el formato: [nombre];[ciudad];[país como código ISO de dos letras o Locale Qt5] (ver códigos ISO de países de dos letras o valores Locale Qt5) Solo Servidores Registrados
  • -P ó --delaypan Inicia con paneo con retardo activado Ver notas
  • -R ó --recording Establece el directorio para grabaciones; el Servidor grabará por defecto cuando haya una sesión activa. Ver Opciones.
  • --norecordConfigura el Servidor para no grabar por defecto (cuando la grabación está configurada por ej. con -R)
  • -s ó --server Arranca en modo Servidor
  • --serverbindip Especifica la dirección IP a la que vincularse
  • -T ó --multithreading Utiliza multithreading para hacer un mejor uso de CPUs multi-núcleo, para dar soporte a más Clientes
  • -u ó --numchannels Número máximo de canales (Clientes)
  • -w ó --welcomemessage Mensaje de bienvenida al conectarse. Puede ser una cadena de caracteres o un nombre de archivo, y puede contener HTML.
  • -z ó --startminimized Arranca minimizado
  • --serverpublicip La dirección IP del Servidor si se conecta a un Directorio tras el mismo NAT. Ver las Notas sobre Directorios
  • -h o --help Mostrar texto de ayuda
  • -i o --inifile Establece ubicación de archivo de inicialización (anula la predeterminada)
  • -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.
  • -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

Ejecutar un Servidor Sin Registrar

Se recomienda encarecidamente que pruebes tu Servidor registrándolo en uno de los Directorios incluidos primero, para así acotar cualquier problema posterior en modo sin registrar.

Configurar un Servidor tras un router doméstico

Si configuras tu Servidor en casa, probablemente tengas que cambiar algunos ajustes en tu router/cortafuegos:

Redireccionamiento de puertos

Las personas de fuera de tu red doméstica no podrán ver lo que hay dentro. Para permitir que Clientes externos de Jamulus se conecten a tu Servidor, tienes que configurar el redireccionamiento de puertos en los ajustes de tu Router. Los ajustes exactos varían para cada router. Para más ayuda ver la documentación de tu Router o portforward.com.

Nota: El puerto por defecto para la versión actual de Jamulus es el puerto UDP (no TCP) 22124. Normalmente redireccionas el puerto 22124 desde fuera de tu red al puerto 22124 de la máquina ejecutando el Servidor.

Nota: Tu router doméstico puede cambiar la dirección IP del ordenador en el que ejecutas tu Servidor. Dependiendo de tu router, quizás tengas que darle a este ordenador una dirección IP estática (a menudo en la configuración DHCP del router).

Obtener la IP externa

Para permitir a otras personas conectarse a tu Servidor desde internet, debes obtener tu dirección IP (WAN) externa, por ejemplo usando Google y dándosela. Tú tienes que conectarte utilizando la dirección de red local (LAN) del ordenador en el que ejecuta el Servidor. Si estás ejecutando un Cliente en la misma máquina que tu Servidor, sería localhost o 127.0.0.1.

DNS dinámica y por qué es probable que lo necesites

La mayoría de las conexiones domésticas de internet cambian su dirección IP interna tras un periodo corto. Para evitar problemas con esto, quizá quieras montar una “DNS dinámica” para tener un (sub)dominio estático que puedas compartir con otras personas. Por favor investiga cómo hacer eso para tu caso concreto. Tu router podría tener soporte para proveedores de “DNS dinámica” de fábrica. Si no es el caso, monta un cliente con DNS dinámica tal como lo describe el proveedor de DNS dinámica que elijas.

Copia de seguridad del Servidor

Ten en cuenta que los Servidores headless no utilizan archivos .ini. Toda la configuración se realiza con opciones de línea de comandos.

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

Resolución de Problemas

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