Implementación y configuración de TeamSpeak [Debian9]

Este artículo trata sobre cómo configurar un servidor TeamSpeak 3 en Linux. Gracias a los desarrolladores de TeamSpeak 3, este proceso es bastante fácil y debería tener un servidor TeamSpeak 3 en cuestión de minutos.

TeamSpeak 3 es una solución muy utilizada (si no la más utilizada) para hacer chat de voz de baja latencia mientras juegas. Además de TeamSpeak 3, existen otras soluciones de baja latencia basadas en juegos como Discord (que utiliza servidores centrales sin la posibilidad de configurar su propia instancia) y Mumble.

Datos

Versiones del sistema y paquetes para el servidor:

  • Sistema Operativo del servidor: debian-9.5.0-amd64
  • TeamSpeak: 3.0.13.6
  • TS3Video Server: 0.8

Versiones de los paquetes necesarios para los hosts Windows:

  • TeamSpeak Client: 3.1.10
  • Conference_Client-0.13_Setup.exe

Datos de red:

  • ts-debian9: 192.168.9.41 / ts.nodo.local
  • Puertos a tener en cuenta para su Firewall:

         (10011) por el protocolo (TCP), “ServerQuery” para TeamSpeak y debe estar abierto.

         (9987) por el protocolo (UDP), “virtual voice server” para TeamSpeak y debe estar abierto.

         (30033) por el protocolo (TCP), “file transfers” para TeamSpeak y debe estar abierto.

         (13370) por el protocolo (TCP/UDP), para TS3VIDEO y deben estar abierto.

         (13375) por el protocolo (TCP/UDP), para TS3VIDEO y deben estar abierto.

         (2008) por el protocolo (TCP), para TeamSpeak y debe estar abierto para conexiones locales y cerrado para entrada de datos de otras fuentes.

1.  ¿Qué es lo que se quiere?

Se desea un servidor TeamSpeak3 que permita la comunicación ininterrumpida de su servicio entre los usuarios que hagan uso de él, para chatear y establecer comunicaciones a través VoIP y la posibilidad de hacer videollamadas.

1.1.      ¿Qué es TeamSpeak?

TeamSpeak es un servidor de chat y mensajería instantánea, con VoIP entre usuarios que comparten el mismo canal. Da la posibilidad de agregar un servidor de videoconferencia con el TS3VIDEO. Es un software propietario y requiere de activación. Por su popularidad entre los jugadores y usuarios de otros géneros, como los que gustan de hacer de este servicio un tipo de “radio emisora sobre IP”, se decide hacer este tutorial para implementar dicho servicio en Linux, con emulador para burlar la activación original del mismo.

2.  Implementación y configuración de un servidor TeamSpeak3

2.1.      Prerrequisitos

Lo primero será preparar el firewall iptables para permitir y bloquear los puertos necesarios para el funcionamiento del servidor. Se tendrán en cuenta otros puertos para gestión y comunicación con el servidor FTP. Ustedes podrán adaptar su cortafuegos a su propia red, pero han de respetar las reglas referentes al servicio de teamspeak.

Creamos el directorio que albergará los scripts:

Agregamos lo siguiente (adaptando a su red):

Damos los permisos de ejecución:

Creamos el siguiente fichero:

Agregamos lo siguiente:

Creamos el siguiente fichero:

Agregamos lo siguiente:

Damos los permisos de ejecución:

A continuación, se configuran algunos nombres en el fichero hosts, que el propio localhost deberá resolver para que funcione el servicio de teamspeak de manera local:

Borramos todo, y agregamos lo siguiente, adaptando a nuestra red:

Reiniciando la interface de red:

2.2.      Implementando TeamSpeak

Creamos un directorio para teamspeak:

Accedemos al directorio y descargamos el servidor de teamspeak del sitio indicado:

Descomprimimos el fichero comprimido que contiene al servidor:

Iniciando su servidor TeamSpeak por primera vez, en este inicio lo que va a obtener es la “clave de administración” y el valor del “token”, datos que debe salvar puesto que posteriormente van a servir para configurar su TeamSpeak y poder unir el servicio de videoconferencia a TeamSpeak

Primero debe asignarle los permisos correctos, de antemano recomiendo que este permiso sea asignado al directorio que contiene todo lo referente a TeamSpeak, por tanto:

Accedemos al directorio donde se encuentra el servidor:

Posteriormente ejecute los siguientes pasos tal y como aparecen descritos a continuación:

¡ESPERE 10 SEGUNDOS, ESTE PASO ES IMPORTANTE! y luego ejecute el archivo que levanta el teamspeak:

Al ejecutar el último comando debe devolver algo similar a esto (OJO el proceso para devolver el valor del “token” demora un poco, debe esperar a que termine todo el proceso):

De los datos anteriores, copie los siguientes, adaptando a los resultados que obtuvieron:

Lo propio para el token:

2.3.      Arreglos en el servidor TeamSpeak

Creamos el script ts3anticrash.sh:

Agregamos lo siguiente:

Damos permisos de ejecución:

Creamos el script de inicio:

Agregamos lo siguiente:

Damos permisos de ejecución:

Automatizamos la ejecución del script para iptables, el inicio del servidor y el anticrash, mediante el cron:

Agregamos lo siguiente:

Reiniciamos el sistema:

#==========================================

NOTA:

Una vez iniciado el sistema, el tiempo que demoró el servidor de teamspeak en encender usando este procedimiento fue de unos 5min (con 1 vcore y 512MB RAM de recursos hardware).

#==========================================

Verificamos si las reglas que creamos para iptables fueron aplicadas correctamente:

Debe devolver algo como lo siguiente:

Pasado este tiempo, desde otro terminal Linux, accedido por ssh, podemos encuestar por telnet, el servicio de TeamSpeak:

Debe devolver lo siguiente:

Para salir ponemos lo siguiente:

Ó, mediante la siguiente línea:

Una vez cerrado con éxito, devolverá lo siguiente:

2.4.      Gestionando el TS desde el cliente en Windows

Instalamos el cliente “TeamSpeak3-Client-win64-3.1.10.exe”, el cual puede bajarse del sitio oficial:

En esta ocasión se instaló el TS3-v3.1.10:

 

Intentamos acceder a nuestro servidor, especificando el hostname, y nuestro alias a utilizarse en él. Una vez autenticados nos pedirá una clave de privilegio, al ser el primer registroi en el servidor. Le pondremos aquella clave que nos fue devuelta durante el proceso de instalación, la misma que guardamos em el fichero “/opt/instaladores/teamspeak/token”. Una vez introducida, nos devolverá lo siguiente:

Ya contamos con los permisos de “Server Admin” de nuestro TS y podremos comenzar a editarlo desde el cliente. También es posible gestionar nuestro TS desde otra API, llamada “YaTQA-Setup [Controler Admin TS].exe”, pero ésta no se tratará en el presente tutorial:

Sobre las 2 horas y 15 minutos el servidor crashea cuando el procedimiento no se hizo correctamente. A continuación, se muestra una imagen donde se sobrepasó dicho tiempo sin crashear el servidor:

2.5.      Implementando TS3VIDEO

El servidor de videoconferencia para TS no es obligatorio, es un agregado a nuestro servidor que su implementación dependerá de quien lo administre. En este apartado se explica cómo implementarlo al servidor de TS anteriormente implementado.

Accedemos al siguiente directorio:

Descargamos el servidor del siguiente enlace:

Descomprimimos el fichero:

Editamos el fichero de configuración del servidor:

Modificamos las siguientes líneas, según los resultados que obtuvimos de la instalación del servidor, como la contraseña del usuario “serveradmin”, que guardamos en “/opt/instaladores/teamspeak/credentials”, así como el fichero de los logs, la máxima resolución permitida y la contraseña que pedirá para hacer uso del TS3VIDEO:

Creamos el directorio que contendrá a los logs del TS3VIDEO:

Damos los permisos necesarios:

Ejecutamos el servidor de video:

Deberá devolvernos lo siguiente:

Revisamos los logs:

Si levantó bien el servicio, saldrá algo como lo siguiente:

Automatizamos el inicio de este servicio con el cron:

Agregamos al final lo siguiente:

2.6.      Instalando Plugin para TS3VIDEO en Windows

Nos bajamos del siguiente enlace un comprimido con los programas necesarios para este plugin:

https://github.com/Franco-Sparrow/franco-repos/blob/master/TS3-VIDEO-PLUGIN.part1.rar

https://github.com/Franco-Sparrow/franco-repos/blob/master/TS3-VIDEO-PLUGIN.part2.rar

https://github.com/Franco-Sparrow/franco-repos/blob/master/TS3-VIDEO-PLUGIN.part3.rar

Instalamos lo siguientes paquetes:

  • vcredist_x64.exe
  • vcredist_x86.exe
  • Conference_Client-0.13_Setup.exe

Durante la instalación del plugin “Conference_Client-0.13_Setup.exe”, seguimos los pasos descritos en las imágenes:

Confirmamos la instalación, seleccionando “Yes”:

Si tenemos nuestro cliente online, deberemos reiniciarlo para aplicar los cambios:

Accedemos al cliente y siga la siguiente trayectoria:

“Herramientas > Opciones > Complementos”

A continuación, se muestra cómo saldría el plugin habilitado:

Nos ubicamos encima de cualquier canal con permisos del TS para uso del plugin, “click” derecho encima y seleccionamos:

“TS3VIDEO > join now”

Definimos la cámara que se usará y las resoluciones permitidas.

Nos perdirá la contraseña que definimos en el fichero de configuración del servidor de video (adminpassword):

Seleccionamos el ícono de la cámara y hacemos uso del servicio:

2.7.      Implementando estadísticas para TS3VIDEO

Necesitamos un servidor web totalmente funcional.

Instalando Apache2:

Instalando PHP 7:

Agregando extensiones más comunes para PHP:

Reiniciando Apache 2:

Comprobando las funcionabilidades de PHP:

Agregue el siguiente contenido:

Damos los permisos necesarios:

Usted puede visualizar el contenido accediendo a:

http://DIRECCIÓN.IP/info.php

Hasta este punto ya usted dispone de un servidor web con soporta para páginas estáticas y dinámicas. Ahora continuamos con la implementación de las estadísticas para TS3VIDEO:

Creando un alias y virtualhost para apache2:

Agregue el siguiente contenido:

#=============================================

NOTA:

Para usar el virtualhost es necesario crear una entrada en el DNS con el nombre al cual responde el mismo.

#=============================================

Creando un enlace simbólico:

Instalamos el siguiente paquete necesario, para que se muestren las estadísticas en la web:

Reiniciando apache2:

Accediendo a la página de estadísticas:

http://dirección.ip.servidorTS/video

A continuación, se muestran el “dashboard” del sitio:

Las conexiones del plugin con el servidor:

Referencias bibliográficas

  • Blog Debian Paso a Paso: “teamspeak 3-0.13-6 más video conferencia (Debian 8 y 9)”, por Ariel Álvarez Gutiérrez, 2018
  • Artículo web “Setup a TeamSpeak 3 Server on Linux (Ubuntu / Debian)”, 2017, https://unixblogger.com/2017/11/08/setup-a-teamspeak-3-server-on-linux-ubuntu-debian/

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 3

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Franco Diaz Hurtado 27 artículos
Ing. Telecomunicaciones y Electrónica; 1er Especialista en Redes de ECASA Nivel Central

11 comentarios

  1. Microsoft Edge 91.0.864.70 Microsoft Edge 91.0.864.70 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.70

    Ufffff para esto hay que saber de programación todos esos códigos me dan mareo jajajaja. Entre aquí en busca de una fórmula para configurar algún sofware de VoiP pero con un número fijo de Cuba no se si eso se pueda. La idea es llamar a una Video conferencia desde un número fijo. Pero no encontreé nada.

  2. Firefox 77.0 Firefox 77.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0

    Saludos colega este tutorial es valido para debian 10??

  3. Firefox 74.0 Firefox 74.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

    Hola, caballero una pregunta.. he seguido las cosas al pie de la letra…. y todo supuestamente está ok, hasta el punto de hacer la videoconferencia… activo la cámara en la laptop y el led de la c’amara se enciende y todo pero no aparece video ni en la propia maquina ni en la otra que est’a participando en la conferenci’a.. Alguna sugerencia o alg’un hilo del que comenzar a tirar??

  4. Firefox 71.0 Firefox 71.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0

    Saludos colegas, he montado el TeamSpeak completamente con exito, pero me sucede algo extraño. Estoy en una VPN, donde los usuarios remotos que necesito que se conecten al TeamSpeak acceder desde subredes externas a mi, hice una prueba con 3 clientes a la vez y los que se conectaron desde fuera de mi red, se pudieron ver entre ellos con sus webcam, pero yo que estaba conectado desde la LAN interna de mi empresa donde esta el servidor, no me veía con ellos, ni ellos me veían a mi, por lo que me conecte desde fuera yo también y así si nos vimos los 3 clientes, que podrá ser esto???

    Saludos…

    • Firefox 70.0 Firefox 70.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0

      Hola Eduardo. verifica las opciones de configuracion del TS3 en la videoconferencia, a ver si tiene alguna limitante de que subred puede hacer uso del servicio. Si no lo tiene, entonces una solucion puede que sea usar una VPN unica y exclusivamente para este servicio (la videollamada es un servicio que no debe estar disponible para todos por su alto consumo de recursos en la red).
      SL2

  5. Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

    Amigo en caso de tener celulares con android que teamspaeak existe porque los que estan no pinchan con el server de teamspeak

  6. Google Chrome 73.0.3683.86 Google Chrome 73.0.3683.86 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36

    Que ancho de banda necesitas para un server de video conferencia?

    • Firefox 67.0 Firefox 67.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

      Lian tendría que testear más a fondo el pulgin, analizar el consumo de ancho de banda en tiempo real con netdata estableciendo una videollamada entre dos usuarios con el plugin TS3VIDEO de teamspeak. Para producción elegiría otras soluciones, pero puedes probar tu mismo y ver que resultados te arroja.

    • Firefox 69.0 Firefox 69.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0

      Casi siempre y con la mayoría que he probado con 2mpbs es mas que suficiente.

  7. Firefox 69.0 Firefox 69.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0

    Colega, muy buen artículo, dejame preguntarte algo, eso lo implementaste en un servidor físico o un KVM? Esposible hacerlo funcionar en un contenedor LXC???

    • Google Chrome 70.0.3538.80 Google Chrome 70.0.3538.80 Android 8.0.0 Android 8.0.0
      Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36

      Hola Eduardo. Tanto Ariel como yo, montamos el servicio en una VM con virtualización completa por KVM, anque debe ser posible dedplegarlo en un CT LXC de igual forma, según fuentes confiables, amistades mía de la red SNET, que lo han hecho.
      SL2

Responder a Franco Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*