Tutos geek

Tutoriaux linux, debian, android et autres

TeamSpeak 3

Installation

Préparer la base de donnée MySQL
mysql -u root -p
CREATE USER ts3_user IDENTIFIED BY 'UN_BON_PASSWORD';
CREATE DATABASE teamspeak3;
GRANT ALL on teamspeak3.* to ts3_user;
FLUSH PRIVILEGES;

Créer un utilisateur dédié
su -
adduser teamspeak
su teamspeak
cd /home/teamspeak

Télécharger et deployer
cd /home/teamspeak
wget http://dl.4players.de/ts/releases/3.0.10.3/teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
tar -xvzf teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
mv teamspeak3-server_linux-amd64 teamspeak3
cd teamspeak3

Configurer
vi ts3db_mysql.ini
[config]
host=localhost
port=3308
username=ts3_user
password=UN_BON_PASSWORD
database=teamspeak3
socket=

vi ts3server.ini
machine_id=176.31.190.70
default_voice_port=9987
voice_ip=0.0.0.0
liscensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10021
query_ip=0.0.0.0
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mysql/
logpath=logs
logquerycommands=1

Rendre debian squeeze (6.x) compatible avec libmysqlclient15off (source)
wget http://archive.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15off_5.0.51a-24+lenny5_amd64.deb
mv libmysqlclient15off_5.0.51a-24+lenny5_amd64.deb libmysqlclient15off.deb
dpkg --install libmysqlclient15off.deb

1er démarrage
./ts3server_minimal_runscript.sh inifile=ts3server.ini

Notez bien le token et le password qui vous est donné dans la console.
Ce code vous sera demandé la 1ère fois que vous vous connecterez à votre serveur via un client TeamSpeak.

Si jamais vous le perdez vous pourrez le retrouver dans la base de donnée.
mysql -u ts3_user -p
select value from server_properties where ident='virtualserver_autogenerated_privilegekey';

Script de démarrage
vi /etc/init.d/teamspeak3
#!/bin/bash

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

start_ts() {
		echo "Lancement du server TeamSpeak"
		sudo -u $TS_USER $TS_DIR/$RUN_SCRIPT start inifile=$TS_DIR/$INI_FILE > /dev/null &
}

stop_ts() {
		echo "Arrêt du serveur TeamSpeak"
		sudo -u $TS_USER $TS_DIR/$RUN_SCRIPT stop
}

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

Lancement automatique au démarrage de la machine
update-rc.d teamspeak3 start 99 2 .

Administration

Vous pouvez administrer votre teamspeak depuis la console Debian (voir la section Login telnet) mais pour plus de confort il existe une interface web qui répondra à la majorité de vos attentes.

cd /var/www
wget http://www.team-bielefeld.de/teamspeak_3/downloads/webinterface/ts3_webinterface_psychokiller_3.3.rar
unrar x ts3_webinterface_psychokiller_3.3.rar
mv ts3wi ts3webadmin
chown -R www-data:www-data ts3webadmin/

Licence

La version sans licence, gratuite, vous permet de créer 1 serveur et d'héberger 32 personnes au maximum.
Vous pouvez acheter différentes licences pour repousser ces limitations ou alors demander une licence NON-PROFIT.
Elle est accordée aux gens ne faisant pas d'argent avec leur site web et accueillant une communauté importante (plus de 32 personnes) régulièrement.
Pour être éligible il faut
  • Un nom de domaine
  • Un site web sur ce domaine montrant de l'activité communautaire (pour info mon simple forum phpbb hébergeant une soixantaine de personne m'a permi d'obtenir la licence)
  • Une adresse email associée à ce nom de domaine
  • Ne faire aucun profit d'aucune sorte. Même les boutons de donations vous excluent de l'offre.

Si votre demande est acceptée vous recevez la licence par email dans un fichier licensekey.dat.

Uploader ce fichier sur votre serveur puis :
sudo mv ./licensekey.dat /home/teamspeak/teamspeak3/
vi ts3server.ini
liscensepath=./licensekey.dat

/etc/init.d/teamspeak3 restart

Login telnet

Si vous voulez envoyer des commandes à teamspeak sans passer par l'interface web loggez vous avec telnet sur l'adresse ip de la machine et sur le port "query_port" défini dans ts3server.ini
telnet 176.31.190.70 10021
login serveradmin [PSW]


Sources :
Installation : http://blog.cp2i.com/post/2010/05/08/Installer-un-serveur-TeamSpeak-3-sous-Debian-Linux
Configuration : https://craym.eu/tutoriels/voip/installer_serveur_teamspeak3.html


Debian version : 6.0.10
Teamspeak version : 3.0.10.3 on Linux

karchnu :

Dommage le choix de teamspeak, alors que mumble fonctionne très bien et est plus simple à installer.

Purexo :

Euh sinon par défaut TS s'en sort très bien avec sqlite sans avoir besoin de s’emmerder avec de la config. C'est un peu dommage de donner l'impression que TS c'est compliqué et chiant à installer alors que c'est bien plus simple

1. télécharger TS serveur
2. le dézipper
3. lancer le script de démarrage

karchnu :

@Purexo :

C'est surtout dommage de ne pas utiliser un soft libre qui fait bien le travail.

Purexo :

Sache que d'habitude je suis un fervent du libre, mais mumble c'est de la merde. c'est tout buggé, le son est dégueulasse, donc d’expérience (j'ai utilisés les deux longtemps) je peux te garantir que Teamspeak fonctionne mieux.

Sinon tout ça c'est un peu hors sujet.

Pour en revenir à Teamspeak. je vois pas trop l’intérêt de recréer un init script, pour au final utiliser le l'init script offert par TS ? C'est un peu s'enquiquiner pour rien non ?

Et concernant MySQL... C'est complétement absurde de l'utiliser pour un serveur virtuelle 32 Slots, même pour un serveur sous NPL à deux serveur virtuelle à 512 Slots. ce seras plus gourmand en ressources et moins optimisé que sqlite (utilisé par défaut) pour de si petites base de données.

Pumbaa :

Sache que d'habitude je suis un fervent du libre, mais mumble c'est de la merde. c'est tout buggé, le son est dégueulasse, donc d’expérience (j'ai utilisés les deux longtemps) je peux te garantir que Teamspeak fonctionne mieux.

Wah, j'allais répondre ça approximativement au mot près avant de lire ta réponse >_<

Pour en revenir à Teamspeak. je vois pas trop l’intérêt de recréer un init script, pour au final utiliser le l'init script offert par TS ?

Hmm, je vois que le but principal de ce blog n'a pas été correctement assimilé, j'ai mal communiqué dessus.

C'est un peu s'enquiquiner pour rien non ?

Si, tout à fait !
Le but de mes manipulations - qui se transforment en tutoriaux - est de bidouiller les choses en profondeur pour en connaitre au maximum les mécanismes internes.
Créer un fichier ini pour ne pas l'utiliser, c'est inutile.
Par contre maintenant je sais où il est et si jamais une fois j'ai besoin d'un réglage précis je sais comment l'appliquer sans chercher des plombes sur internet.

C'est exactement pareil avec le billet sur fail2ban.
Je me suis fait chier à monter 3 prisons pour finalement régler le problème à la source et ne pas les utiliser :)
C'est fait exprès.

En fait c'est peut-être simplement le nom du blog qui n'est pas bon. Il faudrait l'appeler Debian Bidouille ou un truc du genre.

Pumbaa :

Et concernant MySQL... C'est complétement absurde de l'utiliser pour un serveur virtuelle 32 Slots, même pour un serveur sous NPL à deux serveur virtuelle à 512 Slots. ce seras plus gourmand en ressources et moins optimisé que sqlite (utilisé par défaut) pour de si petites base de données.

Merci pour la précision, je note ça dans un coin et je testerai en sqlite un de ces quatre.

karchnu :

J'ai utilisé un peu mumble et beaucoup teamspeak (ah, le lycée et counter strike...) et pour ma part j'ai eu une très bonne expérience avec mumble. Les algo de compression audio sont les meilleurs disponibles (i.e: Opus) donc je ne m'explique pas votre ressenti. Peut-être un mauvais réglage.

Pumbaa :

Peut-être un mauvais réglage

C'est possible.
Je n'ai jamais administré de Mumble, seulement squatté, peut-être que les réglages par défaut sont moisis (ce qui serait un peu con, faut en convenir ^^)

Purexo :

J'ai fait sur mon blog un tuto d'installation vraiment simplifié (qui du coup tient en 3 lignes)

Puis j'ai expliqué deux trois truc pour compléter sur ce qu'il ne faut pas faire, ou dans quel cas précis on peut avoir à le faire, le ton y est volontairement moqueur acerbe et ironique, et il ne faut pas le prendre mal, c'est un peu ma manière de m'exprimer : franche et naturelle ;-)

En tout cas tu m'auras au moins appris une chose : on peut utiliser MySQL avec Teamspeak.

Sinon pour le titre du blog, c'est vrai que Tutos Geek, c'est pas forcement exacte dans le sens ou le but d'un tuto est quand même d'aller à l'essentielle. Montrer des possibilités peu courantes peut être intéressant, mais il faut montrer la possibilité la plus simple / accessible / fonctionnelle. Sinon c'est rédhibitoire pour le lecteur.

Quand j'ai lu ton billet je me suis dit Holala, celui la il va faire peur à tout ce qui veulent installer un serveur TS pénard.

lien de mon billet : https://purexo.eu/blog/enseignements/194-tuto-installation-serveur-teamspeak-simple/

--------------

En résumé
1. Montrer la méthode simple et accessible
2. Détailler les possibilités spécifiques

Pumbaa :

@Purexo : Comme je le faisais remarquer dans mon post d'introduction ce blog est surtout pour moi* ^^'
J'y note les manipulations que je fais sur mon serveur pour les retrouver si j'en ai besoin un jour.
Typiquement, c'est clair que c'est complètement con d'installer MySQL pour faire tourner TeamSpeak.
Mais moi j'ai déjà un serveur MySQL pour plein d'autre chose, alors j'en ai profité pour mettre TS dessus, c'était plus simple.

*J'avoue même être étonné d'avoir des visiteurs, qui plus est réguliers. Vous venez de chez le hollandais volant ?

Purexo :

Effectivement ;-)