Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Manual: Instalar y configurar un servidor Team Speak 3


El programa TeamSpeak 3 (TS3) es un sistema de comunicación a través de VoIP que nos permite, entre otras cosas, hablar con personas que pueden estar en cualquier parte del mundo. El TS3 es muy popular entre los jugadores on-line (gamers) para planificar estrategias o simplemente para charlar. TS además tiene, la posibilidad de transferir archivos y también la de crear canales personales temporales o permanentes.






Team Speak tiene versiones cliente para prácticamente todas las plataformas existentes (sistemas operativos soportados):


  • Windows 2000, XP, 2003, 2008, Vista, 7 y 8. 
  • Linux, Mac OS X, FreeBSD
  • Android (aunque de pago)


Las últimas versiones del TS3 es el "Overwolf" que es un software adicional que nos va a permitir ver en pantalla el nombre de las personas que están hablando mientras jugamos. Un comentario al respecto el Overwolf en muy pocos casos es incompatible con el software anti trucos de los juegos.

Instalar servidor TeamSpeak en GNU/Linux (Debian, Ubuntu, Centos)

Lo primero es crear un usuario con los privilegios justos para ejecutar el proceso del TS3. No es recomendable ejecutar  el TS como usuario root.

useradd teamspeak
Y creamos su directorio

mkdir /home/teamspeak
chown teamspeak /home/teamspeak

Existen dos tipos de  versiones para Linux, para sistemas 32 bits y para sistemas 64 bits.


  • teamspeak3-server_linux-x86 (32 bits)
  • teamspeak3-server_linux-amd64 (64 bits)
Debemos elegir de la página de descargas según nuestra arquitectura:

http://www.teamspeak.com/?page=downloads

Descargamos el fichero tar.gz, lo descomprimimos:

wget http://dl.4players.de/ts/releases/3.0.11.2/teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
tar -zxvf teamspeak3-server_linux-amd64-3.0.11.2.tar.gz
chown teamspeak3:teamspeak3 teamspeak3-server_linux-amd64 -R
cd teamspeak3-server_linux-amd64
TeamSpeak permite usar tres tipos de motores para la Base de Datos (dónde se guardaran los canales, sus nombres, las propiedades, los usuarios, las contraseñas, etc). Llamado dpplugin:

  • MySQL
  • MariaBD
  • SQLite
Migrar un TS3 existente de MySQL a MariaDB
  • dbplugin=ts3db_mysql cambiar a dbplugin=ts3db_mariadb
  • dbsqlcreatepath=create_mysql/ cambiar a dbsqlcreatepath=create_mariadb/
  • dbpluginparameter=ts3db_mysql.ini cambiar a dbpluginparameter=ts3db_mariadb.ini
  • Ejecutar script sql convert_mysql_to_mariadb.sql (para convertir algunas tablas a utf8mb4) y mariadb_fix_latin_utf8.sql

En las últimas versiones (a partir de 3.0.11.1) ya no se hará uso de MySQL y se ha movido en favor de MariaDB (un fork de MySQL). SQLite es con ficheros de texto.

sudo apt-get install sqlite3
Los datos del servidor (canales, permisos, usuarios, etc) se guardarán entonces en el fichero ts3server.sqlitedb

El plugin MySQL se retiró en favor de MariaDB. Al menos se requiere hMySQL 5.5.3 o MariaDB 5.5  para ejecutar el servidor, si usted no desea utilizar la base de datos SQLite por defecto. Debe convertir su base de datos MySQL actual para Maria DB y con soporte del charset utf8mb4

  • dbplugin=ts3db_mariadb
  • dbplugin=ts3db_sqlite3

Crear el usuario con la Base de Datos en MariaDB

create database teamspeak3;
GRANT ALL PRIVILEGES ON teamspeak3.* TO teamspeak3@localhost IDENTIFIED BY 'PASSWORD';
flush privileges;
Hay que mover la librería libmariadb.so.2 de la carpeta /redist al directorio dónde está el binario del servidor TeamSpeak

Starting the TeamSpeak 3 server|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_mariadb.so", halting!

La carpeta por defecto se llama teamspeak3-server_linux-x86, el binario ts3server_linux_x86

Podemos comprobar que las librerías compartidas funcionan correctamente con el uso del comando ldd

ldd libmariadb.so.2
ldd libts3db_mariadb.so
Si aparece:

libmariadb.so.2 => not found
Deberemos instalar las librerías de libMariaDB

aptitude install libmariadb2

Fichero de configuración ts3server.ini con MariaDB:

machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbplugin=ts3db_mariadb
dbsqlcreatepath=create_mariadb/
dbpluginparameter=ts3db_mariadb.ini
dbconnections=10
dblogkeepdays=90
logpath=logs
logquerycommands=0
dbclientkeepdays=30 

Si elegimos MariaDB debemos crear el fichero ini ts3db_mariadb.ini

[config]
host=127.0.0.1
port=3306
username=teamspeak3
password=PASSWORD
database=teamspeak3
socket=

Fichero de configuración ts3server.ini para SQLite:

machine_id=
default_voice_port=port number between 6,000 and 30,000
voice_ip=0.0.0.0
licensepath=
filetransfer_port=port number between 30,001 and 40,000
filetransfer_ip=0.0.0.0
query_port=port number between 40,001 and 50,000
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbplugin=ts3db_sqlite3
dbpluginparameter=
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
dblogkeepdays=90
logpath=logs
logquerycommands=0
dbclientkeepdays=30
Para aseguramos que las librerias necesarias por teamspeak están dentro del ld_path del sistema.

Editamos el fichero

 nano -w /etc/profile 

y añadimos al final

export TEAMSPEAK_HOME=/teamspeak3
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${TEAMSPEAK_HOME} 

recargamos el fichero

source /etc/profile 

Las tablas que crea Team Speak son:

tokens
servers
server_properties
perm_server_group
perm_client
perm_channel_groups
perm_channel_clients
perm_channel
messages
instance_properties
groups_server
groups_channel
group_server_to_client
group_channel_to_client
clients
client_properties
channels
channel_properties
bindings
bans

Iniciar el servidor TeamSpeak 3


/ts3server_startscript.sh start inifile=ts3server.ini
o
/ts3server_minimal_runscript.sh start inifile=ts3server.ini

Debemos apuntar el token y la contraseña de administrador (serveradmin)
INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0
INFO |DatabaseQuery | | dbPlugin name: SQLite3 plugin, Version 2, (c)TeamSpeak Systems GmbH
|INFO |DatabaseQuery | | dbPlugin version: 3.7.3
|INFO |DatabaseQuery | | checking database integrity (may take a while)
|INFO |SQL | | db_CreateTables() tables created
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Account created
loginname= "serveradmin", password= "XXXX"
------------------------------------------------------------------
|WARNING |Accounting | | Unable to find valid license key, falling back to limited functionality
|INFO |FileManager | | listening on 0.0.0.0:30033
|INFO |VirtualSvrMgr | | executing monthly interval
|INFO |VirtualSvrMgr | | reset virtualserver traffic statistics
|INFO |VirtualServer | 1| listening on 0.0.0.0:9987
|INFO |VirtualServer | 1| client 'server'(id:0) added privilege key for servergroup 'Server Admin'(id:6)
|VirtualServer | 1| --------------------------------------------------------
|WARNING |VirtualServer | 1| ServerAdmin privilege key created, please use the line below
|WARNING |VirtualServer | 1| token=XXXXXXXXX
|WARNING |VirtualServer | 1| --------------------------------------------------------
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
ServerAdmin privilege key created, please use it to gain
serveradmin rights for your virtualserver. please
also check the doc/privilegekey_guide.txt for details.
token=XXXXXXXXXX
------------------------------------------------------------------
|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.1,
|INFO |Query | | listening on 0.0.0.0:10011  

Crear un script de inicio para arrancar el servidor TS3

/etc/init.d/ts3
#! /bin/sh
### BEGIN INIT INFO
# Provides: ts3
# Required-Start: $network mysql
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: TeamSpeak3 Server Daemon
# Description: Starts/Stops/Restarts the TeamSpeak Server Daemon
### END INIT INFO
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="TeamSpeak3 Server"
NAME=teamspeak3-server
USER=teamspeak3-user
DIR=/opt/teamspeak3-server
OPTIONS=inifile=ts3server.ini
DAEMON=$DIR/ts3server_startscript.sh
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
sleep 2
sudo -u $USER $DAEMON $1 $OPTIONS 

/etc/init.d/ts3 {start|stop|restart|status}
Usage: ./ts3server_startscript.sh {start|stop|restart|status}

También podemos comprobar con netstat si el proceso se está ejecutando:

netstat -lnp | grep ts3

Por defecto la instalación permite 32 clientes (slots), pero podemos aplicar una licencia NPL  Non Profit License que permite hasta 512 clientes.

A vuestra disposición tenéis un servidor gratuito de TeamSpeak que soporta hasta 512 clientes en teamspeak.elhacker.net:

PostHeaderIcon Servidor Team Speak 3 gratis gentileza de elhacker.NET



Cambiar la contraseña de administrador


En el fichero ts3server_startscript.sh

COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here 
Y ejecutar el cambio:

su - teamspeakr ./ts3server_startscript.sh start serveradmin_password=NEW_PASSWORD 

Puertos Utilizados por TeamSpeak

Estos son los puertos predeterminados de TeamSpeak 3:


  • Por defecto el puerto de voz (UDP in): 9987
  • Por defecto transferencia de archivos de puerto (TCP in): 30033
  • El puerto por defecto serverquery (TCP in): 10011
  • Puerto tsdns predeterminados (TCP in): 41.144
  • El puerto por defecto weblist (UDP out): 2011-2110 (primer puerto disponible en el rango dado)


Además de eso, los paquetes procedentes de o enviados a accounting.teamspeak.com:2008 (TCP) y weblist.teamspeak.com:2010 (UDP) no deben ser bloqueadas. El puerto local para estas conexiones se asigna aleatoriamente por el sistema operativo cuando se establece la conexión. Tenga en cuenta que no podemos garantizar que estos nombres DNS se resolverán en la misma dirección IP en cualquier punto en el tiempo. Estos servicios han cambiado las direcciones IP en el pasado y continuarán haciéndolo en el futuro.

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.