Jamulus Icon. Enlaces a inicio
Abrir navegación

Manual Administración de Servidores

Tabla de contenidos

¿Necesito ejecutar un servidor?

La respuesta corta es no. Por varias razones, deberías de probar a utilizar los servidores de otras personas, al menos al principio mientras configuras tu audio con el cliente de Jamulus.

Ten en cuenta que puedes realizar una sesión “privada” con otras personas en un Servidor Público simplemente activando el botón de “solo” de tus compañer@s. No escucharás a nadie más si entran al servidor.

Si decides ejecutar un servidor, por favor lee lo siguiente. Configurar un servidor es fácil, sin embargo es mejor conocer la teoría primero:

Velocidad y latencia

Mucha gente atribuye problemas al servidor que en realidad son problemas con el cliente. Mucho depende de la configuración del hardware/software del cliente, las redes en las que opera, y su adherencia a la Regla Número Uno.

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

Si tienes intención de tocar regularmente con las mismas personas, se recomienda encarecidamente que primero os aseguréis de que cada miembro del grupo tiene la configuración adecuada para utilizar Jamulus. Haz esto buscando un servidor público con un tiempo de ping razonablemente bajo para todos (20 ms o menos quizá), os conectáis todos allí y trabajáis para solucionar cualquier problema individual (verificando que pueden seguir la Regla Número Uno en particular). Utiliza la técnica descrita arriba de usar el botón de “solo” para impedir interrupciones si es necesario.

Una vez se haya solucionado cualquier problema que puedan tener los músicos, ahora puedes investigar sobre cómo ejecutar tu propio servidor en casa o en un host en la nube como Amazon, que puede resultar en una mejor latencia que con servidores ejecutados en casa. Por ejemplo, ver esta guía para utilizar AWS Lightsail por parte del usuario de Jamulus Simon Tomlinson (Facebook)

Ancho de banda - ¿tienes suficiente?

A menos que tengas pensado dar cobertura a más de unas 5 personas tocando en una conexión doméstica lenta (por ej. unos 10 Mbit/s de bajada y 1 Mbit/s de subida), es poco probable que tu ancho de banda se quede corto. Puedes leer más sobre los requisitos de red con diferentes configuraciones de calidad más adelante en este documento.

En general

  • Considera el uso de un host en la nube para conseguir mejores tiempos de ping si tienes problemas

  • 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 Privado en casa requerirá que redirecciones puertos en tu router. Al ejecutar un Servidor Público, 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 en uno de tres “modos” (bien en casa o en un host de terceros):

1. Público

Utiliza este modo cuando quieres que cualquiera se una a tu servidor, quienquiera que sea.

Tu servidor aparecerá listado en el Directorio que los clientes utilizan por defecto. Los músicos ya pueden ver y conectarse a tu servidor.

Diagrama de conexiones entre clientes en un Servidor Jamulus Público
Cómo funcionan los Servidores Públicos

2. Privado

Esto el lo predeterminado cuando se arranca un servidor por primera vez. Los Servidores Privados 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 (en cualquier modo de servidor) no te deja controlar quién se puede conectar a un servidor.

Diagrama de conexiones entre clientes en un Servidor Jamulus Privado
Cómo funcionan los Servidores Privados

3. Directorio

Para cuando quieres ejecutar varios Servidores Privados, posiblemente también tras un cortafuegos o en una LAN. Ejemplos incluyen eventos online, asociaciones musicales, ensayos seccionales or clases de música para colegios.

Para ver servidores listados por un Servidor de Directorios personalizado, los músicos deben introducir la dirección en el campo “Servidor de Directorio Personalizado” de su cliente. Verán entonces una lista en Configuración de Conexión que es generada por tu Directorio.

Se pueden registrar hasta 150 servidores con tu Directorio escribiendo la dirección de tu Directorio en su opción de --directoryserver al iniciar.

Para ejecutar un servidor como Directorio, se debe configurar con --directoryserver localhost (esto es, se especifica a sí mismo como el Directorio que recibe consultas en busca de servidores).

A tener en cuenta sobre los Directorios

  • Si quieres controlar qué servidores pueden registrarse en tu Directorio, puedes habilitar una lista blanca con la opción de línea de comandos --listfilter. Ver la sección sobre las opciones de la línea de comandos más abajo en este documento.

  • Al ejecutar un Servidor de Directorio público tras un cortafuegos NAT en una red privada, utiliza la opción --serverpublicip para especificar la dirección IP pública del/los servidor/es listados en tu Directorio. Esto es necesario para permitir a los clientes de la Internet pública conectarse a ellos a través de NAT. Ten en cuenta que para los servidores utilizando esta opción, seguirás necesitando abrir los puertos apropiados en tu router/cortafuegos.

Uso de ancho de banda

Ancho de banda de audio

La configuración de audio tiene un impacto en el ancho de banda de red requerido. La tabla siguiente resume los requisitos con respecto a la configuración de:

  • Canales : estéreo/mono
  • Calidad : alta/media/baja
  • Duración buffer audio: 2,67 ms, 5,33 ms, 10,67 ms, 21,33 ms

Con las siguientes unidades

  • ms : milisegundos
  • Kbit/s : Kilo-bits por segundo (Recordatorio: 1 Mbit/s = 1024 Kbit/s, 1 KByte/s = 8 Kbit/s)
  • Mbit/s : Mega-bits por segundo
CanalesCalidadAncho de banda (para buffer: 2,67 ms)Ancho de banda (para buffer: 5,33 ms)Ancho de banda (para buffer: 10,67 ms)Ancho de banda (para buffer: 21,33 ms)
EstéreoAlta894 Kbit/s657 Kbit/s541 Kbit/s483 Kbit/s
EstéreoMedia672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s
EstéreoBaja606 Kbit/s372 Kbit/s256 Kbit/s198 Kbit/s
MonoAlta672 Kbit/s444 Kbit/s328 Kbit/s270 Kbit/s
MonoMedia594 Kbit/s366 Kbit/s250 Kbit/s192 Kbit/s
MonoBaja534 Kbit/s306 Kbit/s190 Kbit/s132 Kbit/s

Ancho de banda de red

Hay un flujo de datos de subida (músico enviando al servidor) y otro de bajada (el servidor enviando la mezcla de vuelta al músico)

Un diagrama de anchos de banda en Jamulus con diferentes calidades de audio, de baja a alta
Cálculo del ancho de banda

Nótese que la tasa de transferencia media de ADSL2 es de 10 Mbit/s para bajada y 1 Mbit/s para subida. El rendimiento real depende de la distancia al proveedor, que puede variar en teoría de 24 Mbit/s a 0,3 km hasta 1,5 Mbit/s a 5,2 km para la tasa de descarga.

Iniciar un servidor

  • 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 - Abre una terminal (CTRL+ALT+t en Ubuntu y distros relacionadas) y teclea jamulus -s. Dale a Enter y deberías ver la ventana del servidor. Puedes detener el servidor cerrando la ventana o tecleando CTRL+C` en la terminal. _(Para ejecutar un servidor “headless” lee esta guía)

Configuración del Servidor

Imagen de la ventana de configuración del servidor Jamulus

Mi Servidor es Público

Por defecto, ejecutarás un Servidor Privado y tendrás que leer estas instrucciones para que otras personas se conecten a tí en este modo.

Cuando haces que tu servidor sea público, verás un mensaje informando sobre si tu servidor se ha registrado con éxito o no. Si no, y lo dejas arrancado, seguirá intentando registrarse hasta que haya un hueco libre.

Género

Ya que hay un límite de 150 servidores por cada Directorio, necesitas escoger en qué Servidor de Directorio quieres publicitar tu servidor. Selecciona un género si tienes intención de limitar la música a ese estilo (los músicos pueden ver entonces tu servidor en la lista bajo ese género). Esto hará que tu servidor aparezca en la lista del servidor relevante para clientes.

Info Mi Servidor

Escribe el nombre, la ciudad y el país para que otros usuarios puedan identificarte con facilidad.

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

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.

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. Ten en cuenta que para conseguir este efecto, los clientes deben estar configurados con ‘entrada mono / salida estéreo’ (o a ‘estéreo’, pero solo si transmiten una señal estéreo).

Dirección Personalizada de Servidor de Directorio

Deja este campo vacío a menos que necesites listar tu servidor en un Directorio privado

Arranca Minimizado

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

Ejecutar un Servidor Privado

Se recomienda encarecidamente que pruebes a ejecutar tu servidor en modo público primero para así acotar cualquier problema posterior en modo privado.

Redireccionamiento de puertos

Normalmente, las personas de fuera de tu red doméstica no pueden ver lo que sucede dentro de ella. Por tanto, si quieres operar un servidor Jamulus en casa, tienes que abrir una puerta en tu router para dejar que clientes de Jamulus puedan conectarse a él.

El puerto por defecto para la versión actual de Jamulus es el puerto UDP (no TCP) 22124.

La configuración exacta del redireccionamiento de puertos difiere para cada router. Para más ayuda consulta portforward.com.

Una vez configurado el router, puedes obtener tu dirección IP (WAN) externa por ejemplo usando Google. Dales esta dirección a tus amig@s para que puedan conectarse a tu servidor (pero también lee la nota sobre DNS dinámica abajo). Tú tienes que conectarte a tu propio ordenador, puesto que tu ordenador es el que ejecuta el servidor. Por tanto, solo tú tienes que conectarte a 127.0.0.1.

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

La mayoría de las conexiones domésticas a internet cambian su dirección IP tras un periodo de tiempo (horas, días o semanas). Por tanto, para facilitar que las personas se puedan conectar a ti, probablemente quieras establecer una dirección DNS dinámica. Puedes hacer esto en el ordenador en el cual ejecutas el servidor Jamulus, o preferiblemente en tu router si es compatible.

Nótese también que tu router doméstico puede cambiar la dirección IP del ordenador en el que ejecutas tu servidor. En este caso, tienes que darle a ese ordenador una IP estática en la configuración DHCP del router, o simplemente abre los puertos a todas las direcciones en tu red local.

Ejecutar un servidor “headless” en Linux

Aquellas personas que quieran ejecutar un servidor en una nube Linux o en otra plataforma de hosting de terceros deberían leer esta guía.

Copia de seguridad para el servidor

Ten en cuenta que los servidores 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, mira en la carpeta %APPDATA%. Habrá uno o más archivos .ini en una carpeta llamada Jamulus.

Para las demás plataformas, ejecuta lo siguiente desde la línea de comandos para encontrar su ubicación:

find ~ -name Jamulus.ini -ls

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 a mano (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).

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 o --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 o --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 Para que el directorio recuerde los servidores registrados incluso si se reinicia el directorio. Necesitarás especificar una ruta a una ubicación con permisos de escritura en la cual se guarda la información del servidor.
  • -f o --listfilter Lista blanca de servidores que se registran en la lista de servidores, formato dirección ip 1[;dirección ip 2] Solo Servidores de Directorio. Ver tipos de servidor
  • -F o --fastupdate Reduce la latencia si el cliente se conecta con la opción “Activar Buffers Pequeños”. Requiere un procesador potente para evitar cortes, y más ancho de banda hacia clientes activados.
  • -l o --log Habilitar registro, establece ruta y nombre del archivo
  • -L o --licence Muestra una ventana de aceptación para que los usuarios se puedan conectar
  • -m o --htmlstatus Habilita un archivo de estado HTML, establece una ruta y un nombre de archivo
  • -o o --serverinfo Datos de ubicación en el formato: [nombre];[ciudad];[valor locale] (ver valores) Solo servidores públicos
  • -P o --delaypan Inicia con paneo con retardo activado Ver notas
  • -R o --recording Incluye una ruta editable donde se deben guardar los archivos (entrecomillado si procede). Ver Opciones.
  • --norecord Desactiva la grabación cuando se habilita por defecto con -R
  • -s o --server Arranca en modo servidor
  • --serverbindip Especifica la dirección IP a la que vincularse
  • -T o --multithreading Utiliza multithreading para hacer un mejor uso de CPUs multi-núcleo, para dar soporte a más clientes
  • -u o --numchannels Número máximo de canales (clientes)
  • -w o --welcomemessage Mensaje de bienvenida al conectarse
  • -z o --startminimized Arranca minimizado
  • --serverpublicip La dirección IP del servidor si se conecta a un Directorio tras el mismo NAT. Ver las Notas sobre Servidores de Directorio
  • -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
  • -Q o --qos Establece el valor de la calidad de servicio (QoS) DSCP. Por defecto 128. Desactivado con 0. QoS es ignorado por Windows. Para habilitarlo, ver la sección de abajo
  • -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

Quality of Service (QoS)

Jamulus utiliza DSCP/CS4 oportunísticamente para ocuparse de “bufferbloat” (valor DSCP/CS4 de 128 (o 0x80). Esto es compatible con IPv4 y IPv6. Se pueden establecer otros valores utilizando la opción -Q, por ejemplo -Q [0..255] (donde 0 deshabilita QoS). Si quieres explorar el efecto de configuraciones no predeterminadas, ver RFC4594. Sin embargo, la mayoría de las personas no tendrán necesidad de hacer esto.

Utilizar Quality of Service en Windows

La configuración de QoS en Jamulus (incluyendo la predeterminada) no tiene efecto en Windows porque el sistema operativo la ignora. Para habilitarlo, debes seguir estas instrucciones. También ten en cuenta que quizá tengas que repetir este procedimiento cada vez que se actualiza Jamulus.

En el campo de Búsqueda al lado del menú de Arranque teclea: Editor de Directivas de Grupo Local (enter)
En la nueva ventana, (clic) en el icono del menú para mostrar el tercer panel de Acción
Mirando el primer panel del Editor de Directivas de Grupo Local
 Local Computer Policy
  Computer Configuration
   Windows Settings
    Policy-based QoS (clic)
Mirando el tercer panel (Acción) del Editor de Directivas de Grupo Local
 Policy-based QoS
  Más Acciones
   Crear nueva Directiva (clic)
    Nombre Directiva: Jamulus
    Especificar valor DSCP: 32
    Siguiente
    Esta directiva QoS se aplica solo a las aplicaciones con el nombre Jamulus.exe
    Siguiente
    Siguiente
    UDP
    Terminar

(Nota: la directiva para Jamulus en el panel central puede editarse)

Resolución de Problemas

Pueden surgir varios problemas cuando se configuran los servidores, y generalmente animamos a que al comenzar se utilicen los servidores (públicos) de terceros para aislar los problemas que en realidad pueden deberse a la configuración del cliente.

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

Cuéntanos algo sobre Jamulus - completa esta encuesta anónima (en inglés)

Esta documentación se publica bajo una Licencia Creative Commons. ¿Te gustaría involucrarte?