Windows28 mai 2026 11 vues

Installer un serveur TeamSpeak sur VPS Windows

Installer un serveur TeamSpeak sur VPS Windows

Résumé rapide : 5 étapes pour avoir un serveur TeamSpeak opérationnel en moins de 20 minutes :

  1. Connectez-vous à votre VPS via RDP

  2. Téléchargez TeamSpeak Server 3.13.7 (64-bit) sur teamspeak.com/en/downloads

  3. Extrayez dans C:\TeamSpeak3-Server\, lancez ts3server.exe, sauvegardez immédiatement la privilege key et les credentials ServerQuery

  4. Ouvrez les ports 9987/UDP, 10011/TCP, 30033/TCP, 41144/TCP dans le pare-feu Windows

  5. Créez une tâche planifiée (Task Scheduler) pour le démarrage automatique

# Commande PowerShell: ouvrir les 4 ports en une fois
New-NetFirewallRule -DisplayName "TS3 Voice" -Direction Inbound -Protocol UDP -LocalPort 9987 -Action Allow
New-NetFirewallRule -DisplayName "TS3 Query" -Direction Inbound -Protocol TCP -LocalPort 10011 -Action Allow
New-NetFirewallRule -DisplayName "TS3 FileTransfer" -Direction Inbound -Protocol TCP -LocalPort 30033 -Action Allow
New-NetFirewallRule -DisplayName "TS3 TSDNS" -Direction Inbound -Protocol TCP -LocalPort 41144 -Action Allow

Prérequis

Specs VPS recommandées selon le nombre d'utilisateurs

Utilisateurs simultanés

RAM

vCPU

Bande passante

Jusqu'à 10

1 Go

1 vCPU

100 Mbps

Jusqu'à 50

2 Go

2 vCPU

200 Mbps

Jusqu'à 100

4 Go

2 vCPU

500 Mbps

Jusqu'à 200

8 Go

4 vCPU

1 Gbps

TeamSpeak est léger. Un VPS 2 Go RAM suffit pour la grande majorité des communautés gaming.

Ports à ouvrir

Port

Protocole

Usage

9987

UDP

Trafic vocal (port principal)

10011

TCP

ServerQuery (administration)

30033

TCP

Transfert de fichiers

41144

TCP

TSDNS (résolution DNS interne)

OS requis

Windows Server 2019 ou 2022 (64-bit). Windows Server 2016 fonctionne aussi, mais 2022 est recommandé pour la sécurité.


Étape 1: Connexion RDP à votre VPS Windows

Avant tout, connectez-vous à votre VPS via le Bureau à distance (RDP).

Sur Windows 10/11 : Win + R → tapez mstsc → entrez l'IP de votre VPS, votre nom d'utilisateur et votre mot de passe.

Vérifiez que vous êtes bien connecté en tant qu'Administrateur: c'est indispensable pour créer des règles de pare-feu et des tâches planifiées.


Étape 2: Télécharger TeamSpeak Server

Rendez-vous sur la page officielle : teamspeak.com/en/downloads

Choisissez Server 64-bit pour Windows. La version actuelle est 3.13.7. Téléchargez le fichier .zip et vérifiez le hash SHA256 fourni sur la page.

TeamSpeak 3 vs TeamSpeak 5: que choisir en 2026 ?

Critère

TeamSpeak 3

TeamSpeak 5

Stabilité serveur

✅ Mature, éprouvé

⚠️ Encore en évolution

Système de permissions

✅ Complet et documenté

⚠️ Fonctionnalités incomplètes

Plugins & bots

✅ Écosystème riche

❌ Support limité

Interface client

Interface classique

Interface moderne

Consommation RAM

Très faible

Plus élevée

Auto-hébergement

✅ Recommandé

⚠️ En développement

Notre recommandation en 2026 : TeamSpeak 3. Le serveur TS5 n'offre pas encore la maturité nécessaire pour un hébergement sérieux. TS3 reste la référence pour créer un serveur TeamSpeak stable et administrable.


Étape 3: Installer et configurer le serveur

Extraction des fichiers

Ouvrez PowerShell en tant qu'Administrateur et exécutez :

# Créer le répertoire d'installation
New-Item -ItemType Directory -Path "C:\TeamSpeak3-Server" -Force

# Extraire l'archive (adaptez le chemin selon votre téléchargement)
Expand-Archive -Path "$env:USERPROFILE\Downloads\teamspeak3-server_win64-3.13.7.zip" -DestinationPath "C:\TeamSpeak3-Server" -Force

# Déplacer les fichiers si nécessaire (selon la structure du ZIP)
# Les fichiers doivent être directement dans C:\TeamSpeak3-Server\

Premier lancement

# Se placer dans le répertoire
Set-Location "C:\TeamSpeak3-Server"

# Lancer le serveur
.\ts3server.exe

Une fenêtre console s'ouvre. Lisez-la attentivement : elle affiche les informations de connexion initiales.

⚠️ SAUVEGARDEZ CES INFORMATIONS IMMÉDIATEMENT

🔴 ALERTE CRITIQUE: Ces données n'apparaissent qu'UNE SEULE FOIS

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

Copiez et sauvegardez immédiatement :

  • Le token (privilege key): sans lui, vous ne pourrez pas administrer votre serveur

  • Le login ServerQuery (serveradmin) et son mot de passe généré automatiquement

Stockez-les dans un gestionnaire de mots de passe (Bitwarden, KeePass). Si vous perdez la privilege key, la récupération via ServerQuery est possible mais fastidieuse.

Acceptation de la licence

Au premier lancement, un fichier license_accepted est créé automatiquement si vous acceptez via la console. Vous pouvez aussi créer ce fichier manuellement :

# Accepter la licence manuellement
New-Item -ItemType File -Path "C:\TeamSpeak3-Server\license_accepted" -Force

Étape 4: Configurer le pare-feu Windows

Ouvrez PowerShell en tant qu'Administrateur et collez ce bloc complet :

# Règle 1: Port vocal principal (UDP 9987)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - Voice (UDP 9987)" `
  -Direction Inbound `
  -Protocol UDP `
  -LocalPort 9987 `
  -Action Allow `
  -Profile Any

# Règle 2: ServerQuery (TCP 10011)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - ServerQuery (TCP 10011)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 10011 `
  -Action Allow `
  -Profile Any

# Règle 3: Transfert de fichiers (TCP 30033)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 30033 `
  -Action Allow `
  -Profile Any

# Règle 4: TSDNS (TCP 41144)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - TSDNS (TCP 41144)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 41144 `
  -Action Allow `
  -Profile Any

Write-Host "✅ 4 règles de pare-feu créées avec succès" -ForegroundColor Green

Vérifiez que les règles sont bien créées :

Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, Enabled, Direction

Note : Si votre hébergeur propose un pare-feu réseau (en plus du pare-feu Windows), pensez à y ouvrir les mêmes ports depuis votre espace client.


Étape 5: Démarrage automatique via Task Scheduler

C'est l'étape que la plupart des guides bâclent. Voici la méthode complète et fiable.

Créer le script de lancement

# Créer le script de démarrage
$scriptContent = @'
# Script de démarrage TeamSpeak 3
$tsPath = "C:\TeamSpeak3-Server"
$tsExe  = "$tsPath\ts3server.exe"

# Vérifier si le serveur tourne déjà
$running = Get-Process -Name "ts3server" -ErrorAction SilentlyContinue

if (-not $running) {
    Start-Process -FilePath $tsExe `
                  -WorkingDirectory $tsPath `
                  -ArgumentList "inifile=ts3server.ini" `
                  -WindowStyle Hidden
    Write-EventLog -LogName Application -Source "TeamSpeak3" -EventId 1000 `
                   -EntryType Information -Message "TeamSpeak 3 Server démarré" `
                   -ErrorAction SilentlyContinue
}
'@

New-Item -ItemType Directory -Path "C:\Scripts" -Force | Out-Null
$scriptContent | Out-File -FilePath "C:\Scripts\Start-TeamSpeak3.ps1" -Encoding UTF8
Write-Host "✅ Script créé : C:\Scripts\Start-TeamSpeak3.ps1" -ForegroundColor Green

Créer la tâche planifiée

# Paramètres de la tâche
$taskName    = "TeamSpeak3-AutoStart"
$scriptPath  = "C:\Scripts\Start-TeamSpeak3.ps1"
$description = "Démarrage automatique du serveur TeamSpeak 3 au boot"

# Action : lancer PowerShell avec le script
$action = New-ScheduledTaskAction `
    -Execute "powershell.exe" `
    -Argument "-NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$scriptPath`""

# Déclencheur : au démarrage du système, avec 30 secondes de délai
$trigger = New-ScheduledTaskTrigger -AtStartup
$trigger.Delay = "PT30S"  # 30 secondes de délai (important pour la stabilité)

# Paramètres : exécuter même sans session ouverte, avec les droits SYSTEM
$settings = New-ScheduledTaskSettingsSet `
    -ExecutionTimeLimit (New-TimeSpan -Hours 0) `
    -RestartCount 3 `
    -RestartInterval (New-TimeSpan -Minutes 1)

$principal = New-ScheduledTaskPrincipal `
    -UserId "SYSTEM" `
    -LogonType ServiceAccount `
    -RunLevel Highest

# Enregistrer la tâche
Register-ScheduledTask `
    -TaskName $taskName `
    -Action $action `
    -Trigger $trigger `
    -Settings $settings `
    -Principal $principal `
    -Description $description `
    -Force

Write-Host "✅ Tâche planifiée '$taskName' créée avec succès" -ForegroundColor Green

Vérifier le bon fonctionnement

# Vérifier que la tâche existe
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object TaskName, State

# Tester manuellement (simuler un démarrage)
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"

# Attendre 5 secondes puis vérifier le processus
Start-Sleep -Seconds 5
Get-Process -Name "ts3server" -ErrorAction SilentlyContinue

Redémarrez votre VPS et vérifiez que ts3server.exe apparaît dans le Gestionnaire des tâches après le boot.


Étape 6: Connexion et configuration initiale

Télécharger le client TeamSpeak

Téléchargez le client sur teamspeak.com/en/downloads → section Client.

Se connecter au serveur

  1. Ouvrez le client TeamSpeak

  2. Connexions → Se connecter (ou Ctrl+S)

  3. Adresse : IP_DE_VOTRE_VPS:9987

  4. Surnom : votre pseudo

  5. Cliquez sur Se connecter

Utiliser la privilege key (token admin)

À la première connexion, une fenêtre vous demande d'entrer un token. Collez votre privilege key sauvegardée à l'étape 3. Vous obtenez les droits Server Admin.

Si la fenêtre ne s'affiche pas automatiquement : Permissions → Utiliser le token de privilège.

Paramètres de base du serveur

Faites un clic droit sur le nom du serveur → Modifier le serveur virtuel :

  • Nom du serveur : choisissez un nom clair pour votre communauté

  • Message du jour (MOTD) : message affiché à la connexion

  • Slots maximum : 32 avec la licence gratuite, jusqu'à 1024 avec une licence Gamer

  • Mot de passe : optionnel, pour restreindre l'accès


Étape 7: Système de permissions avancé

Le système de permissions de TeamSpeak 3 est puissant mais souvent mal compris. Voici comment l'aborder.

Activer le mode avancé

Dans le client : Outils → Options → Application → cochez Mode avancé. Sans ça, vous n'avez accès qu'à une fraction des permissions.

Hiérarchie des groupes

TeamSpeak distingue deux types de groupes :

Groupes de serveur (server groups): s'appliquent sur tout le serveur :

Groupe

Rôle typique

Server Admin

Contrôle total du serveur

Modérateur

Kick, ban, déplacement

Membre

Accès aux canaux standards

Guest

Accès limité, lecture seule

Groupes de canal (channel groups): s'appliquent uniquement dans un canal :

Groupe

Rôle typique

Channel Admin

Gère les sous-canaux et permissions locales

Channel Operator

Peut kicker des membres du canal

Normal

Parle et écoute

Créer un groupe personnalisé

  1. Permissions → Groupes de serveur

  2. Clic droit → Ajouter un groupe

  3. Nommez-le (ex : "VIP", "Streamer")

  4. Cochez les permissions souhaitées (ex : b_channel_create_permanent pour créer des canaux permanents)

Assigner des permissions par canal

  1. Faites un clic droit sur un canal → Modifier le canal

  2. Onglet Permissions : définissez les valeurs i_channel_needed_join_power pour restreindre l'accès

  3. Ou utilisez Permissions → Permissions de canal pour un contrôle granulaire

Conseil pratique : utilisez i_channel_join_power côté groupe et i_channel_needed_join_power côté canal. Si la valeur du groupe est inférieure à celle du canal, l'accès est refusé.


Étape 8: Sécurisation avancée

Héberger un serveur TeamSpeak expose votre VPS. Ces étapes vont au-delà du simple pare-feu.

1. Changer le mot de passe ServerQuery

Le mot de passe par défaut est généré aléatoirement, mais il vaut mieux le changer. Connectez-vous via telnet ou un client ServerQuery :

telnet IP_VPS 10011
login serveradmin VOTRE_MOT_DE_PASSE_ACTUEL
clientupdate client_login_password=NOUVEAU_MOT_DE_PASSE_FORT

Ou via PowerShell avec le module TS3 :

# Connexion ServerQuery via TCP
$client = New-Object System.Net.Sockets.TcpClient("127.0.0.1", 10011)
$stream = $client.GetStream()
# Puis envoyez les commandes login + clientupdate

2. Désactiver les ports inutilisés

Si vous n'utilisez pas le transfert de fichiers, désactivez le port 30033 :

# Désactiver la règle de transfert de fichiers
Set-NetFirewallRule -DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" -Enabled False

3. Activer le chiffrement des canaux (codec Opus Voice)

Dans le client, faites un clic droit sur chaque canal → Modifier le canalCodec : choisissez Opus Voice et activez le chiffrement. Opus offre la meilleure qualité/compression et supporte le chiffrement de bout en bout.

4. Limiter les connexions par IP

Via ServerQuery :

serveredit virtualserver_max_clients_per_identity=3

Cela limite à 3 connexions simultanées par identité, ce qui réduit l'impact des floods.

5. Bannir les IPs malveillantes

# Via ServerQuery
banclient clid=ID_CLIENT banreason=Spam time=3600
# ou bannir directement une IP
banadd ip=1.2.3.4 banreason=Flood time=0

time=0 = ban permanent.

6. Checklist sécurité: 6 points

  • Mot de passe ServerQuery changé (différent du mot de passe généré)

  • Port 10011 (ServerQuery) accessible uniquement depuis votre IP si possible

  • Codec Opus Voice + chiffrement activé sur les canaux sensibles

  • Limite de connexions par IP configurée

  • Mot de passe serveur activé si la communauté est privée

  • Logs activés et consultés régulièrement (C:\TeamSpeak3-Server\logs\)


Étape 9: Sauvegardes et restauration

Fichiers critiques à sauvegarder

Fichier

Contenu

Priorité

ts3server.sqlitedb

Base de données complète (users, channels, permissions)

🔴 Critique

licensekey.dat

Votre licence TeamSpeak

🔴 Critique

query_ip_allowlist.txt

IPs autorisées pour ServerQuery

🟡 Important

query_ip_denylist.txt

IPs bannies ServerQuery

🟡 Important

ts3server.ini

Configuration du serveur

🟡 Important

Script PowerShell de backup automatisé

# Script : C:\Scripts\Backup-TeamSpeak3.ps1
# Sauvegarde quotidienne avec rotation sur 7 jours

$sourceDir  = "C:\TeamSpeak3-Server"
$backupRoot = "C:\Backups\TeamSpeak3"
$date       = Get-Date -Format "yyyy-MM-dd_HH-mm"
$backupDir  = "$backupRoot\$date"
$maxBackups = 7

# Créer le répertoire de backup
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null

# Fichiers à sauvegarder
$filesToBackup = @(
    "ts3server.sqlitedb",
    "licensekey.dat",
    "query_ip_allowlist.txt",
    "query_ip_denylist.txt",
    "ts3server.ini"
)

foreach ($file in $filesToBackup) {
    $src = Join-Path $sourceDir $file
    if (Test-Path $src) {
        Copy-Item -Path $src -Destination $backupDir -Force
        Write-Host "✅ Sauvegardé : $file" -ForegroundColor Green
    } else {
        Write-Host "⚠️  Fichier non trouvé : $file" -ForegroundColor Yellow
    }
}

# Rotation : supprimer les backups de plus de 7 jours
$allBackups = Get-ChildItem -Path $backupRoot -Directory | Sort-Object CreationTime
if ($allBackups.Count -gt $maxBackups) {
    $toDelete = $allBackups | Select-Object -First ($allBackups.Count - $maxBackups)
    foreach ($dir in $toDelete) {
        Remove-Item -Path $dir.FullName -Recurse -Force
        Write-Host "🗑️  Ancien backup supprimé : $($dir.Name)" -ForegroundColor Gray
    }
}

Write-Host "✅ Backup terminé : $backupDir" -ForegroundColor Cyan

Planifier le backup quotidien

$backupAction = New-ScheduledTaskAction `
    -Execute "powershell.exe" `
    -Argument "-NonInteractive -ExecutionPolicy Bypass -File `"C:\Scripts\Backup-TeamSpeak3.ps1`""

$backupTrigger = New-ScheduledTaskTrigger -Daily -At "03:00"

Register-ScheduledTask `
    -TaskName "TeamSpeak3-DailyBackup" `
    -Action $backupAction `
    -Trigger $backupTrigger `
    -Principal (New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount) `
    -Description "Backup quotidien TeamSpeak 3" `
    -Force

Write-Host "✅ Backup quotidien planifié à 03h00" -ForegroundColor Green

Procédure de restauration

# 1. Arrêter le serveur TeamSpeak
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 3

# 2. Définir le backup à restaurer (adaptez la date)
$backupToRestore = "C:\Backups\TeamSpeak3\2026-05-27_03-00"
$targetDir       = "C:\TeamSpeak3-Server"

# 3. Restaurer les fichiers
$filesToRestore = @("ts3server.sqlitedb", "licensekey.dat", "query_ip_allowlist.txt", "ts3server.ini")
foreach ($file in $filesToRestore) {
    $src = Join-Path $backupToRestore $file
    if (Test-Path $src) {
        Copy-Item -Path $src -Destination $targetDir -Force
        Write-Host "✅ Restauré : $file" -ForegroundColor Green
    }
}

# 4. Relancer le serveur
Start-Process -FilePath "$targetDir\ts3server.exe" -WorkingDirectory $targetDir
Write-Host "✅ Serveur TeamSpeak 3 redémarré" -ForegroundColor Cyan

Étape 10: Mise à jour du serveur TeamSpeak

Ne jamais remplacer les binaires à chaud. Suivez cette procédure.

Procédure manuelle

# Étape 1 : Arrêter le serveur
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
Write-Host "✅ Serveur arrêté"

# Étape 2 : Backup avant mise à jour
& "C:\Scripts\Backup-TeamSpeak3.ps1"

# Étape 3 : Télécharger la nouvelle version
$newVersion = "3.13.7"  # Mettez à jour ce numéro
$downloadUrl = "https://files.teamspeak-services.com/releases/server/$newVersion/teamspeak3-server_win64-$newVersion.zip"
$zipPath = "$env:TEMP\ts3server_update.zip"

Invoke-WebRequest -Uri $downloadUrl -OutFile $zipPath
Write-Host "✅ Nouvelle version téléchargée"

# Étape 4 : Extraire dans un dossier temporaire
$tempDir = "$env:TEMP\ts3server_new"
Expand-Archive -Path $zipPath -DestinationPath $tempDir -Force

# Étape 5 : Copier les nouveaux binaires (sans écraser la DB et la config)
$filesToUpdate = @("ts3server.exe", "*.dll", "redist")
foreach ($pattern in $filesToUpdate) {
    Copy-Item -Path "$tempDir\teamspeak3-server_win64\$pattern" `
              -Destination "C:\TeamSpeak3-Server\" `
              -Recurse -Force -ErrorAction SilentlyContinue
}
Write-Host "✅ Binaires mis à jour"

# Étape 6 : Nettoyer et redémarrer
Remove-Item $zipPath, $tempDir -Recurse -Force
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"
Write-Host "✅ Serveur redémarré avec la version $newVersion" -ForegroundColor Green

Conseil : consultez les release notes officielles avant chaque mise à jour pour vérifier les changements de configuration.


Étape 11: Configuration DNS (domaine personnalisé)

Plutôt que de partager une IP brute (185.x.x.x:9987), configurez un domaine comme ts.mondomaine.com.

Pourquoi utiliser un enregistrement DNS SRV ?

  • Vos utilisateurs se connectent avec ts.mondomaine.com sans taper le port

  • Si vous changez d'IP, il suffit de mettre à jour le DNS: pas besoin de redistribuer une nouvelle adresse

  • Aspect professionnel pour votre communauté

Créer les enregistrements DNS

Étape 1: Enregistrement A (dans votre gestionnaire DNS) :

Type : A
Nom  : ts
Valeur : IP_DE_VOTRE_VPS
TTL  : 3600

Étape 2: Enregistrement SRV :

Type     : SRV
Nom      : _ts3._udp.ts.mondomaine.com
Priorité : 0
Poids    : 5
Port     : 9987
Cible    : ts.mondomaine.com
TTL      : 3600

Chez la plupart des registrars (OVH, Namecheap, Cloudflare), le formulaire ressemble à ceci :

Champ

Valeur

Service

_ts3

Protocole

_udp

Nom

ts.mondomaine.com

Priorité

0

Poids

5

Port

9987

Cible

ts.mondomaine.com

Après propagation DNS (quelques minutes à 24h), vos utilisateurs peuvent se connecter avec ts.mondomaine.com sans préciser le port.

Vérifier la résolution

# Vérifier l'enregistrement SRV
Resolve-DnsName -Name "_ts3._udp.ts.mondomaine.com" -Type SRV

Dépannage: 6 erreurs fréquentes

1. "failed to bind network interface": port déjà utilisé

Le port 9987 est occupé par un autre processus.

# Identifier le processus qui utilise le port 9987
netstat -ano | findstr :9987

# Trouver le nom du processus à partir du PID
Get-Process -Id NUMERO_PID

Arrêtez le processus en conflit ou changez le port TeamSpeak dans ts3server.ini :

default_voice_port=9988

2. Le serveur ne démarre pas après reboot

La tâche planifiée est mal configurée. Vérifiez :

# Vérifier l'état de la tâche
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object State, LastRunTime, LastTaskResult

# LastTaskResult = 0 → succès | autre valeur → erreur
# Relancer manuellement pour tester
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"

Cause fréquente : la politique d'exécution PowerShell bloque le script. Vérifiez avec Get-ExecutionPolicy et assurez-vous que le paramètre -ExecutionPolicy Bypass est bien dans l'action de la tâche.

3. Impossible de se connecter depuis l'extérieur

Deux pare-feux à vérifier :

  1. Pare-feu Windows : vérifiez que les règles créées à l'étape 4 sont bien activées

    Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, Enabled
    
  2. Pare-feu réseau de l'hébergeur : connectez-vous à votre espace client et vérifiez que les ports 9987/UDP, 10011/TCP, 30033/TCP sont ouverts en entrée.

4. "You are banned": IP bannie par erreur

Via ServerQuery (telnet sur port 10011) :

login serveradmin VOTRE_MOT_DE_PASSE
use sid=1
banlist
bandel banid=ID_DU_BAN

Si votre propre IP est bannie et que vous ne pouvez plus vous connecter, ajoutez votre IP dans query_ip_allowlist.txt et redémarrez le serveur.

5. Perte de la privilege key

Si vous avez perdu le token admin, récupérez-le via ServerQuery :

login serveradmin VOTRE_MOT_DE_PASSE
use sid=1
tokenadd tokentype=0 tokenid1=6 tokenid2=0

Cela génère un nouveau token pour le groupe Server Admin (groupe ID 6 par défaut).

6. Base de données corrompue

# 1. Arrêter le serveur
Stop-Process -Name "ts3server" -Force

# 2. Renommer la DB corrompue
Rename-Item "C:\TeamSpeak3-Server\ts3server.sqlitedb" "ts3server.sqlitedb.corrupt"

# 3. Restaurer depuis le dernier backup
$latestBackup = Get-ChildItem "C:\Backups\TeamSpeak3" -Directory | Sort-Object CreationTime -Descending | Select-Object -First 1
Copy-Item "$($latestBackup.FullName)\ts3server.sqlitedb" "C:\TeamSpeak3-Server\"

# 4. Redémarrer
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"

Si vous n'avez pas de backup, le serveur recrée une base vide au prochain démarrage: vous perdez les canaux, groupes et utilisateurs, mais le serveur redevient fonctionnel.


FAQ

TeamSpeak 3 ou TeamSpeak 5 en 2026 ?

TeamSpeak 3 reste le choix recommandé pour un serveur auto-hébergé en 2026. TS5 propose une interface plus moderne, mais le système de permissions et les outils d'administration sont encore incomplets côté serveur. Pour une communauté gaming sérieuse, restez sur TS3: c'est stable, léger, et l'écosystème de bots/plugins est mature.

Combien d'utilisateurs simultanés sur un VPS 4 Go de RAM ?

Un VPS 4 Go RAM avec 2 vCPU gère confortablement 100 utilisateurs simultanés avec TeamSpeak 3. Le serveur TS3 consomme environ 30-50 Mo de RAM pour 50 utilisateurs actifs. La bande passante est le facteur limitant réel : comptez ~10 Kbps par utilisateur en Opus Voice, soit ~1 Mbps pour 100 personnes.

TeamSpeak est-il gratuit pour un usage privé ?

Oui. La licence gratuite (Non-Profit License) couvre jusqu'à 32 utilisateurs simultanés et 1 serveur virtuel, sans frais. Pour plus de slots, la Gamer License (jusqu'à 1024 slots) est disponible sur demande auprès de TeamSpeak. Consultez teamspeak.com/features/licensing pour les détails.

Comment changer le port par défaut (9987) ?

Modifiez ts3server.ini dans C:\TeamSpeak3-Server\ :

default_voice_port=9988

Puis mettez à jour la règle de pare-feu :

Remove-NetFirewallRule -DisplayName "TeamSpeak3 - Voice (UDP 9987)"
New-NetFirewallRule -DisplayName "TeamSpeak3 - Voice (UDP 9988)" -Direction Inbound -Protocol UDP -LocalPort 9988 -Action Allow

Et mettez à jour votre enregistrement DNS SRV si vous en avez un.

Peut-on faire tourner TeamSpeak et FiveM sur le même VPS ?

Oui, à condition d'avoir assez de ressources. FiveM consomme beaucoup plus que TeamSpeak : comptez au minimum 8 Go de RAM et 4 vCPU pour faire tourner les deux confortablement. Les ports ne se chevauchent pas (FiveM utilise 30120, TeamSpeak 9987), donc pas de conflit réseau.

Comment migrer un serveur TeamSpeak existant vers un nouveau VPS ?

  1. Sauvegardez les fichiers critiques sur l'ancien serveur : ts3server.sqlitedb, licensekey.dat, ts3server.ini, query_ip_allowlist.txt

  2. Installez TeamSpeak Server sur le nouveau VPS (étapes 1 à 5 de ce guide)

  3. Arrêtez le nouveau serveur avant de copier les fichiers

  4. Copiez les fichiers sauvegardés dans C:\TeamSpeak3-Server\ sur le nouveau VPS

  5. Redémarrez le serveur: tous vos canaux, groupes et utilisateurs sont restaurés

  6. Mettez à jour votre enregistrement DNS A pour pointer vers la nouvelle IP


Sources utiles