TeamSpeak 3 (TS3) est un logiciel gratuit vous permettant de communiquer vocalement avec des amis.
Un des changement majeurs de TS3 sur TS2 est de ne plus avoir d'interface web integré. Donc il va falloir récupérer et installer 2 éléments pour contrôler totalement TS3
Il faut donc au préalable :
La configuration utilisera sqlite comme base de donnée. (il est possible de l'interfacer avec mysql)
on trouve les adresse réels de téléchargement et on récupère tout ça sur le serveur en ssh avec wget
mkdir dl cd dl wget http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.6.1/teamspeak3-server_linux-x86-3.0.6.1.tar.gz wget "http://addons.teamspeak.com/index.php?option=com_mtree&task=att_download&link_id=53&cf_id=24" -O ts3wi_3.2.rar unrar x ts3wi_3.2.rar tar xzf teamspeak3-server_linux-x86-3.0.6.1.tar.gz
(a adapter au versions du moment)
sudo mkdir /opt sudo mv ts3wi /opt/ts3wi sudo mv teamspeak3-server_linux-x86 /opt/teamspeak3
Création du lien symbolique pour le démarrage du serveur.
sudo ln -s /opt/teamspeak3/ts3server_startscript.sh /etc/init.d/teamspeak3-server
Nous avons crée un lien de démarrage du service que l'on va utiliser tout de suite.
sudo /etc/init.d/teamspeak3-server start
Avant de rendre la main, le script de démarrage devrait afficher deux messages importantes
------------------------------------------------------------------ I M P O R T A N T ------------------------------------------------------------------ Server Query Admin Account created loginname= "serveradmin", password= "d3cjmuM0" ------------------------------------------------------------------
Ce sont les codes pour accéder au serveur dans le mode “Server Query”. Ces codes seront utilisé pour accéder au serveur par l'interface web que l'on a téléchargé a coté
------------------------------------------------------------------ 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=bse9bl+WRkzsr7Gh6EwpSRe1bNRLnii1kt5d4hOm ------------------------------------------------------------------
c'est la ligne token=bse9bl+WRkzsr7Gh6EwpSRe1bNRLnii1kt5d4hOm qui nous intéresse. En effet, elle contient un token qui permet d'obtenir l’accès administrateur sur le premier serveur TS configuré par défaut.
Après avoir récupéré ces données, on insert le service dans les scripts de démarrages du serveur.
sudo update-rc.d teamspeak3-server defaults
A partir de la, le service est en démarrage automatique avec la machine avec les valeurs classiques.
Autre possibilité pour régler plus finement le service
sudo update-rc.d teamspeak3-server start 30 2 . stop 30 0 6 .
Cette commande fait la même chose a l'exception quelle permet de définir la priorité dans l'ordre de démarrage des services. (ici 30) et les 'runlevels' ou il faut démarrer (2) et ou il faut arrêter (0 et 6) le service. Ça permet par exemple de démarrer TS3 après le serveur MySQL si le service TS3 utilise Mysql comme base de donnée.
en cas d'erreur on peut réinitialiser les paramètres de démarrage du service pour pouvoir recommencer.
sudo update-rc.d -f teamspeak3-server remove
Normalement le serveur devrait être en route avec le serveur virtuel par défaut.
Il suffit donc de se connecter dessus en utilisant l'IP ou le DNS du serveur comme destination.
Pour récupérer les droits d'administration utilisez le token depuis le client dans le menu “Permissions → Use Privilege Key”. Vous devriez récupérer immédiatement le status de “Server Admin”.
Dans les logs de TS3, il est fort probable que vous ayez un message comme le suivant.
WARNING|Accounting|Unable to find valid license key, falling back to limited functionality
Ceci indique que vous n'avez pas de clef de licence enregistré chez la société TeamSpeak. Le serveur tournera tout a fait correctement sans cette clef mais il sera limité a un nombre d'utilisateurs concourants de 32 utilisateurs sur un seul serveur virtuel.
Une “Non-Profit license” est récupérable a condition de ne pas “vendre” le serveur TS3. Elle permet de passer de 32 a 512 utilisateurs maximum et de 1 a 10 serveurs virtuels. Après avoir suivi la procédure d'enregistrement, vous récupérez un fichier a placer dans le dossier de TS3. Il sera pris en compte après un redémarrage du serveur. et le log devrait montrer ceci :
INFO|Accounting|Licensing Information type : Non-profit starting date : Mon Aug 6 00:00:00 2012 ending date : Sun Feb 10 00:00:00 2013 max virtualservers: 10 max slots : 512
Note : le nombre de “slots” est global et pas par serveur virtuel.
Pour plus d'information, voir la FAQ sur le site officiel
La configuration est assez simple car l'interface utilise l'interface “Server Query”
Nous allons utiliser le chemin ”/admin/ts3wi” dans la configuration de base d'apache. A adapter suivant vos préférence.
sudo mkdir /var/www/admin sudo ln -s /opt/ts3wi /var/www/admin/ts3wi
ouvrez la configuration avec votre éditeur de fichiers préféré.
sudo vi /opt/ts3wi/config.php
Dans le fichier la seul chose a changer dans notre cas est la langue qui est en allemand par défaut.
$cfglang = "de";
vers
$cfglang = "en";
Les autres options sont assez explicites. mais les plus importants sont
$server[0]['alias']= "Lokaler Server"; $server[0]['ip']= "127.0.0.1"; $server[0]['tport']= "10011";
Un certains nombres de fichiers/dossiers doivent pouvoir accéder au données en lecture/écriture.
chmod 777 /opt/ts3wi/icons chmod 777 /opt/ts3wi/temp chmod 777 /opt/ts3wi/templates_c chmod -R 777 /opt/ts3wi/site/backups
Normalement l'interface web de gestion est fonctionnel et accessible par l'adresse http://serveur.domaine.tld/admin/ts3wi/
Il faut alors utiliser les identifiants récupéré lors du premier lancement de TS3. Dans note exemple serveradmin / d3cjmuM0 .
L'interface permet de gérer les serveur et les droits/configurations associés.
Dans des temps anciens, les joueurs avaient l'habitude de demander l'IP du seveur TS ainsi que le port. une partie d'entre eux savaient a peut prés comment ça marchait mais pas forcément.
Teamspeak 3 permet d'utiliser plusieurs methodes pour identifier un serveur
la dernière méthode est quand même la classe ultime.
Ca tombe bien c'est celle que je vais vous montrer
Elle repose sur l'utilisation de 2 ou plusieurs enregistrements DNS.
Nom Type Valeur TTL srv-ts3 A 123.123.123.123 3h srv-ts3 CNAME un.serveur.quelquepart.net 3h
Note : un seul des deux est nécessaire (on ne crée pas deux enregistrements pour le même nom de machine)
Nom Type Valeur TTL _ts3._udp SRV 10 0 9987 srv-ts3 3h _ts3._udp.ts3 SRV 10 0 9987 srv-ts3 3h _ts3._udp.ts3.clan2 SRV 10 0 9989 srv-ts3 3h
dans cet exemple on définit le service _ts3._udp pour 3 nom d'hote virtuels
On s’aperçoit que les deux premiers sont en fait le même serveur car ils partagent le même nom de machine réel et le même port
Le dernier quand a lui est un deuxième serveur virtuel du service TeamSpeak3 car il renvoie vers la même machine mais pas sur le même port.
A l'usage, l'utilisateur ne rentre que le nom d'hote 'virtuel' de l'enregistrement SRV correspondant sans le N° de port. (sans le _ts3._udp. de devant) Et ce même si le N°de port n'est pas standard car le client TeamSpeak 3 va automatiquement récupérer ces informations depuis le DNS.
Teamspeak3 permet d'utiliser des url de connexion automatiques
au lieux de
Bref, la classe international.
En utilisant plusieurs enregistrement SRV sur la même URI (ex:_ts3._udp.ts3) avec le “priorité” différent, cela permettrait de définir un serveur de “Fail Over”. Ce qui permettrait en cas d'indisponibilité de retomber sur une autre machine.
_ts3._udp.ts3 SRV 10 0 9987 srv-ts3 3h _ts3._udp.ts3 SRV 20 0 9987 srv-ts3-backup 3h
Malheureusement, cette fonctionnalité pourtant standard n'est pas encore géré dans les différents logiciels clients TeamSpeak 3.
il y a quelques choses importantes a sauvegarde.
on crée le dossier de destination :
sudo mkdir /opt/teamspeak3/backup
on crée le script :
sudo vi /opt/teamspeak3/backup.sh
#!/bin/sh Origine='/opt/teamspeak3' Dest='/opt/teamspeak3/backup' cp $Origine/ts3server.sqlitedb $Dest cp $Origine/serverkey.dat $Dest tar czf $Dest/files.tgz $Origine/files
sudo chmod +x /opt/teamspeak3/backup.sh
Rajouter ce script dans la crontab du serveur a une heure peut active (6h du matin par exemple
sudo vi /etc/crontab
# m h dom mon dow user command 0 6 * * * root /opt/teamspeak3/backup.sh
Note : La sauvegarde est faite dans le même dossier que l'installation. Il serait plus judicieux de la placer ailleurs sur le disque pour éviter les mauvaises manipulation. Voir même transmettre ces fichiers dans un emplacement de stockage externe (FTP d'un autre serveur, Mail, ….) a l'exception du fichier 'files.tgz' qui peut être assez gros (il contient les avatars et les fichiers du serveur de fichiers) que l'on pourrait envoyer 1 fois par mois/semaine au lieux de tous les jours.
Sur les versions récentes de Ubuntu (12.04) il n'est pas possible d'utiliser la base mysql avec TS3. Cela est du a un changement de version de la librairie libmysqlclient qui n'est plus disponible que dans les versions 16 et 17 alors que TS3 nécessite une version 15.