Windows28 maggio 2026 11 visualizzazioni

Installer un serveur TeamSpeak sur VPS Windows

Installer un serveur TeamSpeak sur VPS Windows

Riepilogo rapido: 5 passaggi per avere un server TeamSpeak operativo in meno di 20 minuti:

  1. Connettiti al tuo VPS tramite RDP

  2. Scarica TeamSpeak Server 3.13.7 (64-bit) su teamspeak.com/en/downloads

  3. Estrai in C:\TeamSpeak3-Server\, avvia ts3server.exe, salva immediatamente la privilege key e le credenziali ServerQuery

  4. Apri le porte 9987/UDP, 10011/TCP, 30033/TCP, 41144/TCP nel firewall di Windows

  5. 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 automaticamente

Conservali 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

  1. Apri il client TeamSpeak

  2. Connessioni → Connetti (o Ctrl+S)

  3. Indirizzo: IP_DEL_TUO_VPS:9987

  4. Soprannome: il tuo nickname

  5. 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

  1. Permessi → Gruppi di server

  2. Clic destro → Aggiungi un gruppo

  3. Nominalo (es: "VIP", "Streamer")

  4. Seleziona i permessi desiderati (es: b_channel_create_permanent per creare canali permanenti)

Assegnare permessi per canale

  1. Fai clic destro su un canale → Modifica il canale

  2. Scheda Permessi: imposta i valori i_channel_needed_join_power per limitare l'accesso

  3. Oppure 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 canaleCodec: 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à

ts3server.sqlitedb

Database completo (utenti, canali, permessi)

🔴 Critico

licensekey.dat

La tua licenza TeamSpeak

🔴 Critico

query_ip_allowlist.txt

IP autorizzati per ServerQuery

🟡 Importante

query_ip_denylist.txt

IP banniti ServerQuery

🟡 Importante

ts3server.ini

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.com senza digitare la porta

  • Se 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

_ts3

Protocollo

_udp

Nome

ts.mondomaine.com

Priorità

0

Peso

5

Porto

9987

Destinazione

ts.mondomaine.com

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 :

  1. Firewall di Windows : verifica che le regole create al passo 4 siano attivate

    Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, Enabled
    
  2. Firewall 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?

  1. Salva i file critici sul vecchio server: ts3server.sqlitedb, licensekey.dat, ts3server.ini, query_ip_allowlist.txt

  2. Installa TeamSpeak Server sul nuovo VPS (passi 1 a 5 di questa guida)

  3. Fermare il nuovo server prima di copiare i file

  4. Copia i file salvati in C:\TeamSpeak3-Server\ sul nuovo VPS

  5. Riavvia il server: tutti i tuoi canali, gruppi e utenti sono ripristinati

  6. Aggiorna il tuo record DNS A per puntare al nuovo IP


Fonti utili