Riepilogo rapido: 5 passaggi per avere un server TeamSpeak operativo in meno di 20 minuti:
Connettiti al tuo VPS tramite RDP
Scarica TeamSpeak Server 3.13.7 (64-bit) su teamspeak.com/en/downloads
Estrai in
C:\TeamSpeak3-Server\, avviats3server.exe, salva immediatamente la privilege key e le credenziali ServerQueryApri le porte 9987/UDP, 10011/TCP, 30033/TCP, 41144/TCP nel firewall di Windows
Crea un'attività pianificata (Task Scheduler) per l'avvio automatico
# Comando PowerShell: aprire le 4 porte in una volta
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
Requisiti
Specs VPS raccomandati in base al numero di utenti
Utenti simultanei | RAM | vCPU | Bandwidth |
|---|---|---|---|
Fino a 10 | 1 GB | 1 vCPU | 100 Mbps |
Fino a 50 | 2 GB | 2 vCPU | 200 Mbps |
Fino a 100 | 4 GB | 2 vCPU | 500 Mbps |
Fino a 200 | 8 GB | 4 vCPU | 1 Gbps |
TeamSpeak è leggero. Un VPS con 2 GB di RAM è sufficiente per la grande maggioranza delle comunità di gaming.
Porti da aprire
Porto | Protocollo | Uso |
|---|---|---|
9987 | UDP | Traffico vocale (porta principale) |
10011 | TCP | ServerQuery (amministrazione) |
30033 | TCP | Trasferimento file |
41144 | TCP | TSDNS (risoluzione DNS interna) |
OS richiesti
Windows Server 2019 o 2022 (64-bit). Windows Server 2016 funziona anche, ma il 2022 è raccomandato per la sicurezza.
Passo 1: Connessione RDP al tuo VPS Windows
Prima di tutto, connettiti al tuo VPS tramite Desktop remoto (RDP).
Su Windows 10/11: Win + R → digita mstsc → inserisci l'IP del tuo VPS, il tuo nome utente e la tua password.
Verifica di essere connesso come Amministratore: è indispensabile per creare regole del firewall e attività pianificate.
Passo 2: Scaricare TeamSpeak Server
Visita la pagina ufficiale: teamspeak.com/en/downloads
Scegli Server 64-bit per Windows. La versione attuale è 3.13.7. Scarica il file .zip e verifica l'hash SHA256 fornito sulla pagina.
TeamSpeak 3 vs TeamSpeak 5: cosa scegliere nel 2026?
Criterio | TeamSpeak 3 | TeamSpeak 5 |
|---|---|---|
Stabilità del server | ✅ Maturo, collaudato | ⚠️ Ancora in evoluzione |
Sistema di permessi | ✅ Completo e documentato | ⚠️ Funzionalità incomplete |
Plugin & bot | ✅ Ecosistema ricco | ❌ Supporto limitato |
Interfaccia client | Interfaccia classica | Interfaccia moderna |
Consumo di RAM | Molto basso | Più elevato |
Auto-ospitare | ✅ Raccomandato | ⚠️ In sviluppo |
La nostra raccomandazione nel 2026: TeamSpeak 3. Il server TS5 non offre ancora la maturità necessaria per un hosting serio. TS3 rimane il riferimento per creare un server TeamSpeak stabile e gestibile.
Passo 3: Installare e configurare il server
Estrazione dei file
Apri PowerShell come Amministratore ed esegui:
# Creare la directory di installazione
New-Item -ItemType Directory -Path "C:\TeamSpeak3-Server" -Force
# Estrarre l'archivio (adatta il percorso in base al tuo download)
Expand-Archive -Path "$env:USERPROFILE\Downloads\teamspeak3-server_win64-3.13.7.zip" -DestinationPath "C:\TeamSpeak3-Server" -Force
# Sposta i file se necessario (in base alla struttura dello ZIP)
# I file devono essere direttamente in C:\TeamSpeak3-Server\
Primo avvio
# Posizionarsi nella directory
Set-Location "C:\TeamSpeak3-Server"
# Avviare il server
.\ts3server.exe
Si apre una finestra della console. Leggila attentamente: mostra le informazioni di connessione iniziali.
⚠️ SALVA QUESTE INFORMAZIONI IMMEDIATAMENTE
🔴 ALLERTA CRITICA: Questi dati appaiono solo UNA VOLTA
------------------------------------------------------------------ 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 ------------------------------------------------------------------Copia e salva immediatamente:
Il token (privilege key): senza di esso, non potrai amministrare il tuo server
Il login ServerQuery (
serveradmin) e la sua password generata automaticamenteConservali in un gestore di password (Bitwarden, KeePass). Se perdi la privilege key, il recupero tramite ServerQuery è possibile ma laborioso.
Accettazione della licenza
Al primo avvio, un file license_accepted viene creato automaticamente se accetti tramite la console. Puoi anche creare questo file manualmente:
# Accettare la licenza manualmente
New-Item -ItemType File -Path "C:\TeamSpeak3-Server\license_accepted" -Force
Passo 4: Configurare il firewall di Windows
Apri PowerShell come Amministratore e incolla questo blocco completo:
# Regola 1: Porta vocale principale (UDP 9987)
New-NetFirewallRule `
-DisplayName "TeamSpeak3 - Voice (UDP 9987)" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 9987 `
-Action Allow `
-Profile Any
# Regola 2: ServerQuery (TCP 10011)
New-NetFirewallRule `
-DisplayName "TeamSpeak3 - ServerQuery (TCP 10011)" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 10011 `
-Action Allow `
-Profile Any
# Regola 3: Trasferimento file (TCP 30033)
New-NetFirewallRule `
-DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 30033 `
-Action Allow `
-Profile Any
# Regola 4: TSDNS (TCP 41144)
New-NetFirewallRule `
-DisplayName "TeamSpeak3 - TSDNS (TCP 41144)" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 41144 `
-Action Allow `
-Profile Any
Write-Host "✅ 4 regole del firewall create con successo" -ForegroundColor Green
Verifica che le regole siano state create correttamente:
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, Enabled, Direction
Nota: Se il tuo provider offre un firewall di rete (oltre al firewall di Windows), assicurati di aprire le stesse porte dal tuo spazio cliente.
Passo 5: Avvio automatico tramite Task Scheduler
Questo è il passaggio che la maggior parte delle guide tralascia. Ecco il metodo completo e affidabile.
Creare lo script di avvio
# Creare lo script di avvio
$scriptContent = @'
# Script di avvio TeamSpeak 3
$tsPath = "C:\TeamSpeak3-Server"
$tsExe = "$tsPath\ts3server.exe"
# Verificare se il server è già in esecuzione
$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 avviato" `
-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 creato: C:\Scripts\Start-TeamSpeak3.ps1" -ForegroundColor Green
Creare l'attività pianificata
# Parametri dell'attività
$taskName = "TeamSpeak3-AutoStart"
$scriptPath = "C:\Scripts\Start-TeamSpeak3.ps1"
$description = "Avvio automatico del server TeamSpeak 3 all'avvio"
# Azione: avviare PowerShell con lo script
$action = New-ScheduledTaskAction `
-Execute "powershell.exe" `
-Argument "-NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$scriptPath`""
# Trigger: all'avvio del sistema, con 30 secondi di ritardo
$trigger = New-ScheduledTaskTrigger -AtStartup
$trigger.Delay = "PT30S" # 30 secondi di ritardo (importante per la stabilità)
# Parametri: eseguire anche senza sessione aperta, con i diritti 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
# Registrare l'attività
Register-ScheduledTask `
-TaskName $taskName `
-Action $action `
-Trigger $trigger `
-Settings $settings `
-Principal $principal `
-Description $description `
-Force
Write-Host "✅ Attività pianificata '$taskName' creata con successo" -ForegroundColor Green
Verificare il corretto funzionamento
# Verificare che l'attività esista
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object TaskName, State
# Testare manualmente (simulare un avvio)
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"
# Attendere 5 secondi e poi verificare il processo
Start-Sleep -Seconds 5
Get-Process -Name "ts3server" -ErrorAction SilentlyContinue
Riavvia il tuo VPS e verifica che ts3server.exe appaia nel Task Manager dopo l'avvio.
Passo 6: Connessione e configurazione iniziale
Scaricare il client TeamSpeak
Scarica il client su teamspeak.com/en/downloads → sezione Client.
Connettersi al server
Apri il client TeamSpeak
Connessioni → Connetti (o
Ctrl+S)Indirizzo:
IP_DEL_TUO_VPS:9987Soprannome: il tuo nickname
Clicca su Connetti
Utilizzare la privilege key (token admin)
Alla prima connessione, una finestra ti chiede di inserire un token. Incolla la tua privilege key salvata al passo 3. Otterrai i diritti di Server Admin.
Se la finestra non appare automaticamente: Permessi → Utilizzare il token di privilegio.
Impostazioni di base del server
Fai clic destro sul nome del server → Modifica il server virtuale:
Nome del server: scegli un nome chiaro per la tua comunità
Messaggio del giorno (MOTD): messaggio visualizzato al momento della connessione
Slot massimi: 32 con la licenza gratuita, fino a 1024 con una licenza Gamer
Password: opzionale, per limitare l'accesso
Passo 7: Sistema di permessi avanzato
Il sistema di permessi di TeamSpeak 3 è potente ma spesso mal compreso. Ecco come affrontarlo.
Attivare la modalità avanzata
Nel client: Strumenti → Opzioni → Applicazione → seleziona Modalità avanzata. Senza questo, avrai accesso solo a una frazione dei permessi.
Gerarchia dei gruppi
TeamSpeak distingue due tipi di gruppi:
Gruppi di server (server groups): si applicano su tutto il server:
Gruppo | Ruolo tipico |
|---|---|
Server Admin | Controllo totale del server |
Moderatore | Kick, ban, spostamento |
Membro | Accesso ai canali standard |
Ospite | Accesso limitato, sola lettura |
Gruppi di canale (channel groups): si applicano solo in un canale:
Gruppo | Ruolo tipico |
|---|---|
Channel Admin | Gestisce i sotto-canali e i permessi locali |
Channel Operator | Può espellere membri dal canale |
Normale | Parla e ascolta |
Creare un gruppo personalizzato
Permessi → Gruppi di server
Clic destro → Aggiungi un gruppo
Nominalo (es: "VIP", "Streamer")
Seleziona i permessi desiderati (es:
b_channel_create_permanentper creare canali permanenti)
Assegnare permessi per canale
Fai clic destro su un canale → Modifica il canale
Scheda Permessi: imposta i valori
i_channel_needed_join_powerper limitare l'accessoOppure utilizza Permessi → Permessi di canale per un controllo granulare
Consiglio pratico: utilizza i_channel_join_power lato gruppo e i_channel_needed_join_power lato canale. Se il valore del gruppo è inferiore a quello del canale, l'accesso è negato.
Passo 8: Sicurezza avanzata
Ospitare un server TeamSpeak espone il tuo VPS. Questi passaggi vanno oltre il semplice firewall.
1. Cambiare la password ServerQuery
La password predefinita è generata casualmente, ma è meglio cambiarla. Connettiti tramite telnet o un client ServerQuery:
telnet IP_VPS 10011
login serveradmin LA_TUA_PASSWORD_ATTUALE
clientupdate client_login_password=NUOVA_PASSWORD_FORTE
Oppure tramite PowerShell con il modulo TS3:
# Connessione ServerQuery tramite TCP
$client = New-Object System.Net.Sockets.TcpClient("127.0.0.1", 10011)
$stream = $client.GetStream()
# Poi invia i comandi login + clientupdate
2. Disabilitare le porte non utilizzate
Se non utilizzi il trasferimento file, disabilita la porta 30033:
# Disabilitare la regola di trasferimento file
Set-NetFirewallRule -DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" -Enabled False
3. Attivare la crittografia dei canali (codec Opus Voice)
Nel client, fai clic destro su ogni canale → Modifica il canale → Codec: scegli Opus Voice e attiva la crittografia. Opus offre la migliore qualità/compressione e supporta la crittografia end-to-end.
4. Limitare le connessioni per IP
Via ServerQuery:
serveredit virtualserver_max_clients_per_identity=3
Questo limita a 3 connessioni simultanee per identità, riducendo l'impatto dei flood.
5. Bannare gli IP malevoli
# Via ServerQuery
banclient clid=ID_CLIENT banreason=Spam time=3600
# o bannare direttamente un IP
banadd ip=1.2.3.4 banreason=Flood time=0
time=0 = ban permanente.
6. Checklist sicurezza: 6 punti
Password ServerQuery cambiata (diversa dalla password generata)
Porto 10011 (ServerQuery) accessibile solo dal tuo IP se possibile
Codec Opus Voice + crittografia attivata sui canali sensibili
Limite di connessioni per IP configurato
Password del server attivata se la comunità è privata
Log attivati e consultati regolarmente (
C:\TeamSpeak3-Server\logs\)
Passo 9: Backup e ripristino
File critici da salvare
File | Contenuto | Priorità |
|---|---|---|
| Database completo (utenti, canali, permessi) | 🔴 Critico |
| La tua licenza TeamSpeak | 🔴 Critico |
| IP autorizzati per ServerQuery | 🟡 Importante |
| IP banniti ServerQuery | 🟡 Importante |
| Configurazione del server | 🟡 Importante |
Script PowerShell per backup automatizzato
# Script : C:\Scripts\Backup-TeamSpeak3.ps1
# Backup quotidiano con rotazione su 7 giorni
$sourceDir = "C:\TeamSpeak3-Server"
$backupRoot = "C:\Backups\TeamSpeak3"
$date = Get-Date -Format "yyyy-MM-dd_HH-mm"
$backupDir = "$backupRoot\$date"
$maxBackups = 7
# Creare la directory di backup
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null
# File da salvare
$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 "✅ Salvato : $file" -ForegroundColor Green
} else {
Write-Host "⚠️ File non trovato : $file" -ForegroundColor Yellow
}
}
# Rotazione : eliminare i backup di oltre 7 giorni
$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 "🗑️ Vecchio backup eliminato : $($dir.Name)" -ForegroundColor Gray
}
}
Write-Host "✅ Backup completato : $backupDir" -ForegroundColor Cyan
Pianificare il backup quotidiano
$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 quotidiano TeamSpeak 3" `
-Force
Write-Host "✅ Backup quotidiano pianificato per le 03:00" -ForegroundColor Green
Procedura di ripristino
# 1. Fermare il server TeamSpeak
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 3
# 2. Definire il backup da ripristinare (adattare la data)
$backupToRestore = "C:\Backups\TeamSpeak3\2026-05-27_03-00"
$targetDir = "C:\TeamSpeak3-Server"
# 3. Ripristinare i file
$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 "✅ Ripristinato : $file" -ForegroundColor Green
}
}
# 4. Riavviare il server
Start-Process -FilePath "$targetDir\ts3server.exe" -WorkingDirectory $targetDir
Write-Host "✅ Server TeamSpeak 3 riavviato" -ForegroundColor Cyan
Passo 10: Aggiornamento del server TeamSpeak
Non sostituire mai i binari a caldo. Segui questa procedura.
Procedura manuale
# Passo 1 : Fermare il server
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
Write-Host "✅ Server fermato"
# Passo 2 : Backup prima dell'aggiornamento
& "C:\Scripts\Backup-TeamSpeak3.ps1"
# Passo 3 : Scaricare la nuova versione
$newVersion = "3.13.7" # Aggiorna questo numero
$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 "✅ Nuova versione scaricata"
# Passo 4 : Estrarre in una cartella temporanea
$tempDir = "$env:TEMP\ts3server_new"
Expand-Archive -Path $zipPath -DestinationPath $tempDir -Force
# Passo 5 : Copiare i nuovi binari (senza sovrascrivere il DB e 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 "✅ Binari aggiornati"
# Passo 6 : Pulire e riavviare
Remove-Item $zipPath, $tempDir -Recurse -Force
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"
Write-Host "✅ Server riavviato con la versione $newVersion" -ForegroundColor Green
Consiglio : consulta le note di rilascio ufficiali prima di ogni aggiornamento per verificare le modifiche di configurazione.
Passo 11: Configurazione DNS (dominio personalizzato)
Invece di condividere un IP grezzo (185.x.x.x:9987), configura un dominio come ts.mondomaine.com.
Perché utilizzare un record DNS SRV?
I tuoi utenti si connettono con
ts.mondomaine.comsenza digitare la portaSe cambi IP, basta aggiornare il DNS: non è necessario ridistribuire un nuovo indirizzo
Aspetto professionale per la tua comunità
Creare i record DNS
Passo 1: Record A (nel tuo gestore DNS) :
Tipo : A
Nome : ts
Valore : IP_DEL_TUO_VPS
TTL : 3600
Passo 2: Record SRV :
Tipo : SRV
Nome : _ts3._udp.ts.mondomaine.com
Priorità : 0
Peso : 5
Porto : 9987
Destinazione : ts.mondomaine.com
TTL : 3600
Presso la maggior parte dei registrar (OVH, Namecheap, Cloudflare), il modulo appare così :
Campo | Valore |
|---|---|
Servizio |
|
Protocollo |
|
Nome |
|
Priorità |
|
Peso |
|
Porto |
|
Destinazione |
|
Dopo la propagazione DNS (da pochi minuti a 24 ore), i tuoi utenti possono connettersi con ts.mondomaine.com senza specificare la porta.
Verificare la risoluzione
# Verificare il record SRV
Resolve-DnsName -Name "_ts3._udp.ts.mondomaine.com" -Type SRV
Risoluzione dei problemi: 6 errori comuni
1. "failed to bind network interface": porta già in uso
La porta 9987 è occupata da un altro processo.
# Identificare il processo che utilizza la porta 9987
netstat -ano | findstr :9987
# Trovare il nome del processo dal PID
Get-Process -Id NUMERO_PID
Fermare il processo in conflitto o cambiare la porta TeamSpeak in ts3server.ini :
default_voice_port=9988
2. Il server non si avvia dopo il riavvio
Il task pianificato è mal configurato. Controlla :
# Verificare lo stato del task
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object State, LastRunTime, LastTaskResult
# LastTaskResult = 0 → successo | altro valore → errore
# Riavviare manualmente per testare
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"
Cause comuni: la politica di esecuzione PowerShell blocca lo script. Controlla con Get-ExecutionPolicy e assicurati che il parametro -ExecutionPolicy Bypass sia presente nell'azione del task.
3. Impossibile connettersi dall'esterno
Due firewall da controllare :
Firewall di Windows : verifica che le regole create al passo 4 siano attivate
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, EnabledFirewall di rete dell'hosting : accedi al tuo spazio clienti e verifica che le porte 9987/UDP, 10011/TCP, 30033/TCP siano aperte in entrata.
4. "You are banned": IP bannito per errore
Via ServerQuery (telnet sulla porta 10011) :
login serveradmin LA_TUA_PASSWORD
use sid=1
banlist
bandel banid=ID_DEL_BAN
Se il tuo stesso IP è bannito e non puoi più connetterti, aggiungi il tuo IP in query_ip_allowlist.txt e riavvia il server.
5. Perdita della privilege key
Se hai perso il token admin, recuperalo tramite ServerQuery :
login serveradmin LA_TUA_PASSWORD
use sid=1
tokenadd tokentype=0 tokenid1=6 tokenid2=0
Questo genera un nuovo token per il gruppo Server Admin (gruppo ID 6 per impostazione predefinita).
6. Database corrotto
# 1. Fermare il server
Stop-Process -Name "ts3server" -Force
# 2. Rinomina il DB corrotto
Rename-Item "C:\TeamSpeak3-Server\ts3server.sqlitedb" "ts3server.sqlitedb.corrupt"
# 3. Ripristina dall'ultimo 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. Riavviare
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"
Se non hai un backup, il server ricrea un database vuoto al prossimo avvio: perdi i canali, i gruppi e gli utenti, ma il server torna a funzionare.
FAQ
TeamSpeak 3 o TeamSpeak 5 nel 2026?
TeamSpeak 3 rimane la scelta raccomandata per un server auto-ospitato nel 2026. TS5 offre un'interfaccia più moderna, ma il sistema di permessi e gli strumenti di amministrazione sono ancora incompleti lato server. Per una comunità di gioco seria, rimani su TS3: è stabile, leggero e l'ecosistema di bot/plugin è maturo.
Quanti utenti simultanei su un VPS da 4 Go di RAM?
Un VPS da 4 Go di RAM con 2 vCPU gestisce comodamente 100 utenti simultanei con TeamSpeak 3. Il server TS3 consuma circa 30-50 Mo di RAM per 50 utenti attivi. La larghezza di banda è il fattore limitante reale: conta ~10 Kbps per utente in Opus Voice, ovvero ~1 Mbps per 100 persone.
TeamSpeak è gratuito per uso privato?
Sì. La licenza gratuita (Non-Profit License) copre fino a 32 utenti simultanei e 1 server virtuale, senza costi. Per più slot, la Gamer License (fino a 1024 slot) è disponibile su richiesta presso TeamSpeak. Consulta teamspeak.com/features/licensing per i dettagli.
Come cambiare la porta predefinita (9987)?
Modifica ts3server.ini in C:\TeamSpeak3-Server\ :
default_voice_port=9988
Poi aggiorna la regola del firewall :
Remove-NetFirewallRule -DisplayName "TeamSpeak3 - Voice (UDP 9987)"
New-NetFirewallRule -DisplayName "TeamSpeak3 - Voice (UDP 9988)" -Direction Inbound -Protocol UDP -LocalPort 9988 -Action Allow
E aggiorna il tuo record DNS SRV se ne hai uno.
È possibile far girare TeamSpeak e FiveM sullo stesso VPS?
Sì, a condizione di avere risorse sufficienti. FiveM consuma molto più di TeamSpeak: conta almeno 8 Go di RAM e 4 vCPU per far funzionare entrambi comodamente. Le porte non si sovrappongono (FiveM utilizza 30120, TeamSpeak 9987), quindi non ci sono conflitti di rete.
Come migrare un server TeamSpeak esistente su un nuovo VPS?
Salva i file critici sul vecchio server:
ts3server.sqlitedb,licensekey.dat,ts3server.ini,query_ip_allowlist.txtInstalla TeamSpeak Server sul nuovo VPS (passi 1 a 5 di questa guida)
Fermare il nuovo server prima di copiare i file
Copia i file salvati in
C:\TeamSpeak3-Server\sul nuovo VPSRiavvia il server: tutti i tuoi canali, gruppi e utenti sono ripristinati
Aggiorna il tuo record DNS A per puntare al nuovo IP
Fonti utili
Pagina di download ufficiale TeamSpeak: server e client, tutte le versioni
Licenze TeamSpeak (gratuito vs a pagamento): dettagli della Non-Profit License
Supporto TeamSpeak: record DNS SRV: configurazione ufficiale dei record SRV
Documentazione Microsoft: Register-ScheduledTask: riferimento PowerShell per Task Scheduler
