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/
(Visited 1 times, 1 visits today)
Franco Diaz Hurtado
Sobre Franco Diaz Hurtado 14 Artículos
Ing. Telecomunicaciones y Electrónica; Administrador de redes en la dirección general de ECASA

5 Comentarios

  1. 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???

    • 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

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

Dejar una contestacion

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


*