Teamspeak plusieurs serveurs

Fermé
jemnoos Messages postés 3 Date d'inscription mercredi 4 décembre 2013 Statut Membre Dernière intervention 10 mars 2016 - 10 mars 2016 à 01:46
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 - 16 mars 2016 à 10:20
Bien le bonjour !

Je cherche a faire fonctionner plusieurs serveur teamspeak sur mon serveur dédié sous ubuntu server 15.10.

De ce que je sais =>

On creer le fichier ts3server.ini avec la commande :

./ts3server_minimal_runscript.sh createinifile=1

Et je crois qu'il faut changer le port par defaut (9987) : dans le fichier ts3server.ini

et ensuite on modifie le fichier pour changer le port...? Mais moi ça ne marche pas x) le serveur est toujours accessible juste avec l'ip du serveur sans port, du coup je ne vois pas comment faire plusieurs serveur.

En espérant que vous pourrez m'aider. :)
A voir également:

1 réponse

mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
16 mars 2016 à 10:20
Bonjour,

Sur une machine

Il faut effectivement que chaque application lancé sur une machine donné écoute sur un port différent. En l'occurrence, le fait qu'il s'agit de plusieurs fois la même application ne change rien au problème. Tu peux voir sur quels ports ta machine écoute et avec quelles applications avec la commande :

netstat -ntlp


Le port sur lequel écoute un serveur teamspeak est :
- soit précisé en paramètre de la commande utilisée pour le lancer
- soit sous-entendu (au(x) port(s) par défaut)
- soit précisé dans le fichier de configuration (dont le chemin peut lui-même être sous-entendu ou précisé en paramètre).

Ça veut dire que chaque instance de teamspeak doit lire un fichier de configuration dédié si celui-ci est en charge de préciser le port (ce qui est le mieux)
- Si le port est précisé dans le fichier de configuration : tu as un fichier de configuration par instance, et chaque instance doit être lancée en précisant le chemin du fichier de configuration adéquat.
- Sinon il faut lancer chaque instance en précisant sur quel port teamspeak doit écouter. Il faudrait regarder l'aide pour voir quelles options de teamspeak permet de le préciser.

Si on regarde ici, on dirait que teamspeak utilise 3 ports (voix, query, file transfer) :
https://terminal28.com/how-to-install-and-configure-teamspeak3-server-linux-debian-ubuntu/

Regardons maintenant les conséquence côté client. Un client (en général) s'attend à ce que le serveur utilise les ports par défauts (par exemple 80 pour du web). Ça t'évite d'avoir à préciser à chaque fois le port (https://www.commentcamarche.net/ vs https://www.commentcamarche.net/ Si tu ne précises rien, le client tente sa chance de manière opportuniste.

Ceci tient pour la plupart des clients et teamspeak n'échappe probablement pas à la règle. Si tu ne précises rien le client se connectera donc toujours au(x) port(s) par défaut.

Dans ton cas seule une instance pourra utiliser les ports standards (mettons instance1). Un client qui ne précise rien se connectera donc à instance1. Du coup quand tu sors des sentiers battus (par exemple pour instance2), le client doit préciser tous les ports relatifs à instance2.

Sur plusieurs "machines"

La seule manière de contourner la limitation des ports serait d'avoir plusieurs machines (éventuellement des VMs ou des containers) munis d'IP publique différente. Sur chacune d'elle tu installerais un instance. Le client n'aurait qu'à choisir l'IP du bon serveur pour se connecter à la bonne instance.

Quid de la base

teamspeak semble utiliser une base de donnée teamspeak. Quelle que soit la stratégie adoptée, tu peux envisager de n'utiliser qu'un seul serveur de base de données. Pour isoler chaque serveur, il faudra simplement que chacun d'eux travail dans une database différente (donc un schéma par instance).

Plus précisément, si toutes tes instances sont dans la même machine, alors 127.0.0.1 (= soi-même en IP) sera l'IP de ton serveur, qui écoutera typiquement sur le port 3306 pour un serveur mysql. Ensuite tu assigneras pour chaque instance des schémas dédiés (par exemple teamspeak3_1, teamspeak3_2, etc.). Si tu as une machine par instance tu peux aussi installer sur chaque machine son propre serveur.

Bonne chance
0