Installation d’un serveur TeamSpeak 3

Installation d’un serveur TeamSpeak 3
Jérémie Kassianoff
24 novembre 2013
5 min de lecture

TeamSpeak 3 est un excellent client/serveur de VOIP, il est parfaitement adapté pour les jeux en réseau. Installer simplement un serveur TeamSpeak3 sous Linux.

Cas d'usage concret

Vous voulez communiquer en vocal avec votre communauté de jeu sans latence : voici comment installer un serveur TeamSpeak 3.

TeamSpeak 3 est un serveur de communication vocale pour les jeux en réseau.
Le programme est optimisé pour les conversations en grand nombre.
TeamSpeak 3 est multi-système et fonctionne en tant que client/Serveur.
La qualité sonore est claire et étudiée pour consommer très peu de bande passante.

Cet article traite d’une installation simple du serveur TeamSpeak 3 sous Debian 7.
L’ajout d’une interface web de gestion du serveur TeamSpeak sera expliqué.

Création d’un utilisateur pour TeamSpeak 3

L’utilisateur « teamspeak » sera utilisé pour gérer le serveur :

bash
useradd teamspeak
mkdir /home/teamspeak
chown -R teamspeak:teamspeak /home/teamspeak

Téléchargement du serveur  TeamSpeak 3

Dans le répertoire de notre utilisateur on lance le téléchargement du serveur.
Rendez-vous sur le site officiel pour télécharger le serveur (en fonction de votre distribution).

bash
wget http://dl.4players.de/ts/releases/3.0.10.1/teamspeak3-server_linux-amd64-3.0.10.1.tar.gz

Installation du serveur TeamSpeak 3

Décompresser l’ensemble de l’archive :

bash
tar xvfz teamspeak3-server_linux-amd64-3.0.10.1.tar.gz

Renommer l’archive :

bash
mv teamspeak3-server_linux-amd64-3.0.10.1 ts3server

Se rendre dans le dossier « ts3server« :

bash
cd ts3server

Lancement du serveur avec le script « ts3server » :

bash
sh ts3server_startscript.sh start

Voici le résultat du lancement du script :

bash
------------------------------------------------------------------
                      I M P O R T A N T                           
------------------------------------------------------------------
               Server Query Admin Account created                 
         loginname= "serveradmin", password= "xxxxxxxx"
------------------------------------------------------------------

------------------------------------------------------------------
                      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=kiSpXS5VGJe45gd4IZJHvCAV43dO3R5aqG4Us1
------------------------------------------------------------------

Maintenant, lancer le client TeamSpeak sur votre machine puis vous conneter avec vos identifiants.
Vous pouvez vous arrêter la, ou continuer la configuration de votre serveur TeamSpeak 3.

Configuration du serveur TeamSpeak 3

Créer un fichier de configuration « ts3server.ini » dans le dossier « ts3server » :

bash
nano /home/teamspeak/ts3server/ts3server.ini
bash
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_sqlite3 #ou ts3db_mysql
dbpluginparameter= #ou ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/ #ou create_mysql
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0

J’utilise « sqlite » et le port par défaut « 9987 » (pour Mysql voir les commentaires).

Création une base de donnée  » Mysql » pour TeamSpeak 3

bash
# mysql -u root -p votre_mot_de_pass
mysql > CREATE DATABASE ts3server;
mysql > GRANT ALL on ts3server.* to ts3@localhost IDENTIFIED BY 'votre_mot_de_passe';

Configuration de la base de donnée

Créer un fichier de configuration « ts3db_mysql.ini » dans le dossier « ts3server » :

ini
[config]
host=localhost
port=3306
username=ts3server
password=votre_mot_de_passe
database=ts3server
socket=

Script de lancement automatique de TeamSpeak

Créer le script dans « /etc/init.d/teamspeak » :

bash
nano /etc/init.d/teamspeak
bash
#!/bin/bash

TS_DIR="/home/teamspeak/ts3server"
TS_USER="teamspeak"
RUN_SCRIPT="ts3server_minimal_runscript.sh"
INI_FILE="ts3server.ini"

start_ts() {
echo "Lancement du serveur TeamSpeak"
su $TS_USER $TS_DIR/$RUN_SCRIPT init=$TS_DIR/$INI_FILE > /dev/null &
}

stop_ts() {
echo "Arrêt du serveur TeamSpeak"
skill -KILL -u $TS_USER > /dev/null
}

case "$1" in
start)
start_ts
;;
stop)
stop_ts
;;
restart)
stop_ts
sleep 2
start_ts
;;
*)
echo "Usage du script : $0 {start|stop|restart}"
;;
esac

Vous pouvez maintenant démarrer votre serveur teamspeak :

bash
/etc/init.d/teamspeak start

Lancement du Script au démarrage :

bash
update-rc.d teamspeak defaults

Petite astuce concernant les mises à jour futures : télécharger le script suivant.

Interface web de gestion du serveur TeamSpeak :

Création du dossier pour l’interface web :

bash
mkdir /var/www/ts3server-web

Se rendre dans le dossier « ts3server-web » :

bash
cdd /var/www/ts3server-web

Téléchargement de l’archive « ts3wi.rar » :

bash
wget -O ts3wi.rar "http://addons.teamspeak.com/index.php?option=com_mtree&task=att_download&link_id=53&cf_id=24"

Décompresser l’archive :

bash
unrar ts3wi.rar

Ajouter les droits au serveur web sur le dossier « ts3server-web » :

bash
chown -R www-data:www-data /var/www/ts3server-web

Mettre l’interface web en français :

bash
nano /var/www/ts3server-web/config.php

Modifier la variable « cfglang » :

powershell
$cfglang        =       "fr";

Malgré un petit problème d’encodage des polices, l’interface est bien disponible :

Le serveur TeamSpeak 3 est fonctionnel, il ne reste plus qu’à le personnaliser.

Conclusion

Cet article a détaillé l’installation complète d’un serveur TeamSpeak 3 sous Debian 7 : création d’un utilisateur dédié, téléchargement et configuration du serveur (sqlite ou MySQL), mise en place d’un script de démarrage automatique et ajout d’une interface web de gestion. Cette solution reste simple à déployer et permet de disposer rapidement d’un serveur de communication vocale performant et peu gourmand en bande passante pour un usage personnel ou en petite communauté. Il ne reste plus qu’à personnaliser les droits et les canaux selon vos besoins.