Windows28 de mayo de 2026 11 vistas

Installer un serveur TeamSpeak sur VPS Windows

Installer un serveur TeamSpeak sur VPS Windows

Resumen rápido: 5 pasos para tener un servidor TeamSpeak operativo en menos de 20 minutos:

  1. Conéctese a su VPS a través de RDP

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

  3. Extraiga en C:\TeamSpeak3-Server\, ejecute ts3server.exe, guarde inmediatamente la clave de privilegio y las credenciales ServerQuery

  4. Abra los puertos 9987/UDP, 10011/TCP, 30033/TCP, 41144/TCP en el firewall de Windows

  5. Crear una tarea programada (Task Scheduler) para el inicio automático

# Comando PowerShell: abrir los 4 puertos a la vez
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

Requisitos previos

Especificaciones VPS recomendadas según el número de usuarios

Usuarios simultáneos

RAM

vCPU

Ancho de banda

Hasta 10

1 GB

1 vCPU

100 Mbps

Hasta 50

2 GB

2 vCPU

200 Mbps

Hasta 100

4 GB

2 vCPU

500 Mbps

Hasta 200

8 GB

4 vCPU

1 Gbps

TeamSpeak es ligero. Un VPS de 2 GB de RAM es suficiente para la gran mayoría de las comunidades de juegos.

Puertos a abrir

Puerto

Protocolo

Uso

9987

UDP

Tráfico de voz (puerto principal)

10011

TCP

ServerQuery (administración)

30033

TCP

Transferencia de archivos

41144

TCP

TSDNS (resolución DNS interna)

Sistemas operativos requeridos

Windows Server 2019 o 2022 (64-bit). Windows Server 2016 también funciona, pero se recomienda 2022 por razones de seguridad.


Paso 1: Conexión RDP a su VPS Windows

Antes que nada, conéctese a su VPS a través del Escritorio remoto (RDP).

En Windows 10/11: Win + R → escriba mstsc → ingrese la IP de su VPS, su nombre de usuario y su contraseña.

Verifique que está conectado como Administrador: es indispensable para crear reglas de firewall y tareas programadas.


Paso 2: Descargar TeamSpeak Server

Visite la página oficial: teamspeak.com/en/downloads

Elija Server 64-bit para Windows. La versión actual es 3.13.7. Descargue el archivo .zip y verifique el hash SHA256 proporcionado en la página.

TeamSpeak 3 vs TeamSpeak 5: ¿qué elegir en 2026?

Criterio

TeamSpeak 3

TeamSpeak 5

Estabilidad del servidor

✅ Maduro, probado

⚠️ Aún en evolución

Sistema de permisos

✅ Completo y documentado

⚠️ Funcionalidades incompletas

Plugins y bots

✅ Ecosistema rico

❌ Soporte limitado

Interfaz del cliente

Interfaz clásica

Interfaz moderna

Consumo de RAM

Muy bajo

Más alto

Auto-alojamiento

✅ Recomendado

⚠️ En desarrollo

Nuestra recomendación en 2026: TeamSpeak 3. El servidor TS5 aún no ofrece la madurez necesaria para un alojamiento serio. TS3 sigue siendo la referencia para crear un servidor TeamSpeak estable y administrable.


Paso 3: Instalar y configurar el servidor

Extracción de archivos

Abra PowerShell como Administrador y ejecute:

# Crear el directorio de instalación
New-Item -ItemType Directory -Path "C:\TeamSpeak3-Server" -Force

# Extraer el archivo (adapte la ruta según su descarga)
Expand-Archive -Path "$env:USERPROFILE\Downloads\teamspeak3-server_win64-3.13.7.zip" -DestinationPath "C:\TeamSpeak3-Server" -Force

# Mover los archivos si es necesario (según la estructura del ZIP)
# Los archivos deben estar directamente en C:\TeamSpeak3-Server\

Primer lanzamiento

# Colocarse en el directorio
Set-Location "C:\TeamSpeak3-Server"

# Iniciar el servidor
.\ts3server.exe

Se abre una ventana de consola. Lea atentamente: muestra la información de conexión inicial.

⚠️ GUARDAR ESTA INFORMACIÓN INMEDIATAMENTE

🔴 ALERTA CRÍTICA: Estos datos solo aparecen UNA SOLA VEZ

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

Copie y guarde inmediatamente:

  • El token (clave de privilegio): sin él, no podrá administrar su servidor

  • El login ServerQuery (serveradmin) y su contraseña generada automáticamente

Almacénelos en un gestor de contraseñas (Bitwarden, KeePass). Si pierde la clave de privilegio, la recuperación a través de ServerQuery es posible pero tediosa.

Aceptación de la licencia

En el primer lanzamiento, se crea automáticamente un archivo license_accepted si acepta a través de la consola. También puede crear este archivo manualmente:

# Aceptar la licencia manualmente
New-Item -ItemType File -Path "C:\TeamSpeak3-Server\license_accepted" -Force

Paso 4: Configurar el firewall de Windows

Abra PowerShell como Administrador y pegue este bloque completo:

# Regla 1: Puerto de voz principal (UDP 9987)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - Voice (UDP 9987)" `
  -Direction Inbound `
  -Protocol UDP `
  -LocalPort 9987 `
  -Action Allow `
  -Profile Any

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

# Regla 3: Transferencia de archivos (TCP 30033)
New-NetFirewallRule `
  -DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 30033 `
  -Action Allow `
  -Profile Any

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

Write-Host "✅ 4 reglas de firewall creadas con éxito" -ForegroundColor Green

Verifique que las reglas se hayan creado correctamente:

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

Nota: Si su proveedor ofrece un firewall de red (además del firewall de Windows), asegúrese de abrir los mismos puertos desde su espacio de cliente.


Paso 5: Inicio automático a través de Task Scheduler

Este es el paso que la mayoría de las guías descuidan. Aquí está el método completo y confiable.

Crear el script de inicio

# Crear el script de inicio
$scriptContent = @'
# Script de inicio TeamSpeak 3
$tsPath = "C:\TeamSpeak3-Server"
$tsExe  = "$tsPath\ts3server.exe"

# Verificar si el servidor ya está en funcionamiento
$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 "Servidor TeamSpeak 3 iniciado" `
                   -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 creado: C:\Scripts\Start-TeamSpeak3.ps1" -ForegroundColor Green

Crear la tarea programada

# Parámetros de la tarea
$taskName    = "TeamSpeak3-AutoStart"
$scriptPath  = "C:\Scripts\Start-TeamSpeak3.ps1"
$description = "Inicio automático del servidor TeamSpeak 3 al arranque"

# Acción: iniciar PowerShell con el script
$action = New-ScheduledTaskAction `
    -Execute "powershell.exe" `
    -Argument "-NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$scriptPath`""

# Desencadenador: al inicio del sistema, con 30 segundos de retraso
$trigger = New-ScheduledTaskTrigger -AtStartup
$trigger.Delay = "PT30S"  # 30 segundos de retraso (importante para la estabilidad)

# Parámetros: ejecutar incluso sin sesión abierta, con derechos 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

# Registrar la tarea
Register-ScheduledTask `
    -TaskName $taskName `
    -Action $action `
    -Trigger $trigger `
    -Settings $settings `
    -Principal $principal `
    -Description $description `
    -Force

Write-Host "✅ Tarea programada '$taskName' creada con éxito" -ForegroundColor Green

Verificar el correcto funcionamiento

# Verificar que la tarea existe
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object TaskName, State

# Probar manualmente (simular un inicio)
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"

# Esperar 5 segundos y luego verificar el proceso
Start-Sleep -Seconds 5
Get-Process -Name "ts3server" -ErrorAction SilentlyContinue

Reinicie su VPS y verifique que ts3server.exe aparece en el Administrador de tareas después del arranque.


Paso 6: Conexión y configuración inicial

Descargar el cliente TeamSpeak

Descargue el cliente en teamspeak.com/en/downloads → sección Cliente.

Conectarse al servidor

  1. Abra el cliente TeamSpeak

  2. Conexiones → Conectar (o Ctrl+S)

  3. Dirección: IP_DE_SU_VPS:9987

  4. Apodo: su apodo

  5. Haga clic en Conectar

Usar la clave de privilegio (token admin)

En la primera conexión, una ventana le pedirá que ingrese un token. Pegue su clave de privilegio guardada en el paso 3. Obtendrá los derechos de Administrador del Servidor.

Si la ventana no aparece automáticamente: Permisos → Usar el token de privilegio.

Parámetros básicos del servidor

Haga clic derecho en el nombre del servidor → Modificar el servidor virtual:

  • Nombre del servidor: elija un nombre claro para su comunidad

  • Mensaje del día (MOTD): mensaje mostrado al conectarse

  • Slots máximos: 32 con la licencia gratuita, hasta 1024 con una licencia Gamer

  • Contraseña: opcional, para restringir el acceso


Paso 7: Sistema de permisos avanzado

El sistema de permisos de TeamSpeak 3 es potente pero a menudo mal entendido. Aquí se explica cómo abordarlo.

Activar el modo avanzado

En el cliente: Herramientas → Opciones → Aplicación → marque Modo avanzado. Sin esto, solo tendrá acceso a una fracción de los permisos.

Jerarquía de grupos

TeamSpeak distingue dos tipos de grupos:

Grupos de servidor (server groups): se aplican en todo el servidor:

Grupo

Rol típico

Server Admin

Control total del servidor

Moderador

Kick, ban, mover

Miembro

Acceso a los canales estándar

Invitado

Acceso limitado, solo lectura

Grupos de canal (channel groups): se aplican únicamente en un canal:

Grupo

Rol típico

Channel Admin

Gestiona los subcanales y permisos locales

Channel Operator

Puede expulsar miembros del canal

Normal

Habla y escucha

Crear un grupo personalizado

  1. Permisos → Grupos de servidor

  2. Clic derecho → Agregar un grupo

  3. Nombrarlo (ej: "VIP", "Streamer")

  4. Marque los permisos deseados (ej: b_channel_create_permanent para crear canales permanentes)

Asignar permisos por canal

  1. Haga clic derecho en un canal → Modificar el canal

  2. Pestaña Permisos: defina los valores i_channel_needed_join_power para restringir el acceso

  3. O use Permisos → Permisos de canal para un control granular

Consejo práctico: use i_channel_join_power del lado del grupo y i_channel_needed_join_power del lado del canal. Si el valor del grupo es menor que el del canal, se niega el acceso.


Paso 8: Aseguramiento avanzado

Alojar un servidor TeamSpeak expone su VPS. Estos pasos van más allá del simple firewall.

1. Cambiar la contraseña ServerQuery

La contraseña por defecto se genera aleatoriamente, pero es mejor cambiarla. Conéctese a través de telnet o un cliente ServerQuery:

telnet IP_VPS 10011
login serveradmin SU_CONTRASEÑA_ACTUAL
clientupdate client_login_password=NUEVA_CONTRASEÑA_FUERTE

O a través de PowerShell con el módulo TS3:

# Conexión ServerQuery a través de TCP
$client = New-Object System.Net.Sockets.TcpClient("127.0.0.1", 10011)
$stream = $client.GetStream()
# Luego envíe los comandos login + clientupdate

2. Desactivar los puertos no utilizados

Si no utiliza la transferencia de archivos, desactive el puerto 30033:

# Desactivar la regla de transferencia de archivos
Set-NetFirewallRule -DisplayName "TeamSpeak3 - FileTransfer (TCP 30033)" -Enabled False

3. Activar el cifrado de los canales (códec Opus Voice)

En el cliente, haga clic derecho en cada canal → Modificar el canalCódec: elija Opus Voice y active el cifrado. Opus ofrece la mejor calidad/comprensión y soporta el cifrado de extremo a extremo.

4. Limitar las conexiones por IP

A través de ServerQuery:

serveredit virtualserver_max_clients_per_identity=3

Esto limita a 3 conexiones simultáneas por identidad, lo que reduce el impacto de los floods.

5. Banear IPs maliciosas

# A través de ServerQuery
banclient clid=ID_CLIENT banreason=Spam time=3600
# o banear directamente una IP
banadd ip=1.2.3.4 banreason=Flood time=0

time=0 = baneo permanente.

6. Checklist de seguridad: 6 puntos

  • Contraseña ServerQuery cambiada (diferente de la contraseña generada)

  • Puerto 10011 (ServerQuery) accesible únicamente desde su IP si es posible

  • Códec Opus Voice + cifrado activado en los canales sensibles

  • Límite de conexiones por IP configurada

  • Contraseña del servidor activada si la comunidad es privada

  • Logs activados y consultados regularmente (C:\TeamSpeak3-Server\logs\)


Paso 9: Copias de seguridad y restauración

Archivos críticos a respaldar

Archivo

Contenido

Prioridad

ts3server.sqlitedb

Base de datos completa (usuarios, canales, permisos)

🔴 Crítico

licensekey.dat

Su licencia TeamSpeak

🔴 Crítico

query_ip_allowlist.txt

IPs autorizadas para ServerQuery

🟡 Importante

query_ip_denylist.txt

IPs prohibidas ServerQuery

🟡 Importante

ts3server.ini

Configuración del servidor

🟡 Importante

Script PowerShell de copia de seguridad automatizada

# Script : C:\Scripts\Backup-TeamSpeak3.ps1
# Copia de seguridad diaria con rotación de 7 días

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

# Crear el directorio de copia de seguridad
New-Item -ItemType Directory -Path $backupDir -Force | Out-Null

# Archivos a respaldar
$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 "✅ Respaldado : $file" -ForegroundColor Green
    } else {
        Write-Host "⚠️  Archivo no encontrado : $file" -ForegroundColor Yellow
    }
}

# Rotación : eliminar las copias de seguridad de más de 7 días
$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 "🗑️  Antiguo respaldo eliminado : $($dir.Name)" -ForegroundColor Gray
    }
}

Write-Host "✅ Respaldo terminado : $backupDir" -ForegroundColor Cyan

Programar el respaldo diario

$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 "Copia de seguridad diaria TeamSpeak 3" `
    -Force

Write-Host "✅ Copia de seguridad diaria programada a las 03h00" -ForegroundColor Green

Procedimiento de restauración

# 1. Detener el servidor TeamSpeak
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 3

# 2. Definir la copia de seguridad a restaurar (adapte la fecha)
$backupToRestore = "C:\Backups\TeamSpeak3\2026-05-27_03-00"
$targetDir       = "C:\TeamSpeak3-Server"

# 3. Restaurar los archivos
$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 "✅ Restaurado : $file" -ForegroundColor Green
    }
}

# 4. Reiniciar el servidor
Start-Process -FilePath "$targetDir\ts3server.exe" -WorkingDirectory $targetDir
Write-Host "✅ Servidor TeamSpeak 3 reiniciado" -ForegroundColor Cyan

Paso 10: Actualización del servidor TeamSpeak

No reemplace los binarios en caliente. Siga este procedimiento.

Procedimiento manual

# Paso 1 : Detener el servidor
Stop-Process -Name "ts3server" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
Write-Host "✅ Servidor detenido"

# Paso 2 : Copia de seguridad antes de la actualización
& "C:\Scripts\Backup-TeamSpeak3.ps1"

# Paso 3 : Descargar la nueva versión
$newVersion = "3.13.7"  # Actualice este número
$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 "✅ Nueva versión descargada"

# Paso 4 : Extraer en un directorio temporal
$tempDir = "$env:TEMP\ts3server_new"
Expand-Archive -Path $zipPath -DestinationPath $tempDir -Force

# Paso 5 : Copiar los nuevos binarios (sin sobrescribir la DB y la configuración)
$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 "✅ Binarios actualizados"

# Paso 6 : Limpiar y reiniciar
Remove-Item $zipPath, $tempDir -Recurse -Force
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"
Write-Host "✅ Servidor reiniciado con la versión $newVersion" -ForegroundColor Green

Consejo : consulte las notas de la versión oficiales antes de cada actualización para verificar los cambios de configuración.


Paso 11: Configuración DNS (dominio personalizado)

En lugar de compartir una IP cruda (185.x.x.x:9987), configure un dominio como ts.mondomaine.com.

¿Por qué usar un registro DNS SRV?

  • Sus usuarios se conectan con ts.mondomaine.com sin tener que escribir el puerto

  • Si cambia de IP, solo necesita actualizar el DNS: no es necesario redistribuir una nueva dirección

  • Aspecto profesional para su comunidad

Crear los registros DNS

Paso 1: Registro A (en su gestor DNS) :

Tipo : A
Nombre  : ts
Valor : IP_DE_SU_VPS
TTL  : 3600

Paso 2: Registro SRV :

Tipo     : SRV
Nombre    : _ts3._udp.ts.mondomaine.com
Prioridad : 0
Peso      : 5
Puerto     : 9987
Destino    : ts.mondomaine.com
TTL        : 3600

En la mayoría de los registradores (OVH, Namecheap, Cloudflare), el formulario se ve así :

Campo

Valor

Servicio

_ts3

Protocolo

_udp

Nombre

ts.mondomaine.com

Prioridad

0

Peso

5

Puerto

9987

Destino

ts.mondomaine.com

Después de la propagación DNS (unos minutos a 24h), sus usuarios pueden conectarse con ts.mondomaine.com sin especificar el puerto.

Verificar la resolución

# Verificar el registro SRV
Resolve-DnsName -Name "_ts3._udp.ts.mondomaine.com" -Type SRV

Solución de problemas: 6 errores frecuentes

1. "failed to bind network interface": puerto ya utilizado

El puerto 9987 está ocupado por otro proceso.

# Identificar el proceso que utiliza el puerto 9987
netstat -ano | findstr :9987

# Encontrar el nombre del proceso a partir del PID
Get-Process -Id NUMERO_PID

Detenga el proceso en conflicto o cambie el puerto de TeamSpeak en ts3server.ini :

default_voice_port=9988

2. El servidor no arranca después del reinicio

La tarea programada está mal configurada. Verifique :

# Verificar el estado de la tarea
Get-ScheduledTask -TaskName "TeamSpeak3-AutoStart" | Select-Object State, LastRunTime, LastTaskResult

# LastTaskResult = 0 → éxito | otro valor → error
# Reiniciar manualmente para probar
Start-ScheduledTask -TaskName "TeamSpeak3-AutoStart"

Causa frecuente : la política de ejecución de PowerShell bloquea el script. Verifique con Get-ExecutionPolicy y asegúrese de que el parámetro -ExecutionPolicy Bypass esté en la acción de la tarea.

3. Imposible conectarse desde el exterior

Dos firewalls a verificar :

  1. Firewall de Windows : verifique que las reglas creadas en el paso 4 estén activadas

    Get-NetFirewallRule | Where-Object { $_.DisplayName -like "TeamSpeak3*" } | Select-Object DisplayName, Enabled
    
  2. Firewall de red del proveedor : inicie sesión en su área de cliente y verifique que los puertos 9987/UDP, 10011/TCP, 30033/TCP estén abiertos en entrada.

4. "You are banned": IP prohibida por error

Vía ServerQuery (telnet en el puerto 10011) :

login serveradmin SU_CONTRASEÑA
use sid=1
banlist
bandel banid=ID_DEL_BAN

Si su propia IP está prohibida y no puede conectarse, agregue su IP en query_ip_allowlist.txt y reinicie el servidor.

5. Pérdida de la clave de privilegio

Si ha perdido el token de administrador, recupérelo a través de ServerQuery :

login serveradmin SU_CONTRASEÑA
use sid=1
tokenadd tokentype=0 tokenid1=6 tokenid2=0

Esto genera un nuevo token para el grupo Server Admin (grupo ID 6 por defecto).

6. Base de datos corrupta

# 1. Detener el servidor
Stop-Process -Name "ts3server" -Force

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

# 3. Restaurar desde la última copia de seguridad
$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. Reiniciar
Start-Process -FilePath "C:\TeamSpeak3-Server\ts3server.exe" -WorkingDirectory "C:\TeamSpeak3-Server"

Si no tiene una copia de seguridad, el servidor recrea una base vacía en el próximo arranque: perderá los canales, grupos y usuarios, pero el servidor volverá a ser funcional.


FAQ

¿TeamSpeak 3 o TeamSpeak 5 en 2026?

TeamSpeak 3 sigue siendo la opción recomendada para un servidor autoalojado en 2026. TS5 ofrece una interfaz más moderna, pero el sistema de permisos y las herramientas de administración aún están incompletos del lado del servidor. Para una comunidad de juegos seria, manténgase en TS3: es estable, ligero y el ecosistema de bots/plugins es maduro.

¿Cuántos usuarios simultáneos en un VPS de 4 GB de RAM?

Un VPS de 4 GB de RAM con 2 vCPU maneja cómodamente 100 usuarios simultáneos con TeamSpeak 3. El servidor TS3 consume aproximadamente 30-50 MB de RAM para 50 usuarios activos. El ancho de banda es el factor limitante real: cuente ~10 Kbps por usuario en Opus Voice, es decir, ~1 Mbps para 100 personas.

¿TeamSpeak es gratuito para uso privado?

Sí. La licencia gratuita (Licencia Sin Fines de Lucro) cubre hasta 32 usuarios simultáneos y 1 servidor virtual, sin costo. Para más slots, la Licencia Gamer (hasta 1024 slots) está disponible a solicitud de TeamSpeak. Consulte teamspeak.com/features/licensing para más detalles.

¿Cómo cambiar el puerto por defecto (9987)?

Modifique ts3server.ini en C:\TeamSpeak3-Server\ :

default_voice_port=9988

Luego actualice la regla del firewall :

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

Y actualice su registro DNS SRV si tiene uno.

¿Se puede ejecutar TeamSpeak y FiveM en el mismo VPS?

Sí, siempre que tenga suficientes recursos. FiveM consume mucho más que TeamSpeak: cuente al menos 8 GB de RAM y 4 vCPU para ejecutar ambos cómodamente. Los puertos no se superponen (FiveM usa 30120, TeamSpeak 9987), por lo que no hay conflicto de red.

¿Cómo migrar un servidor TeamSpeak existente a un nuevo VPS?

  1. Respaldar los archivos críticos en el antiguo servidor: ts3server.sqlitedb, licensekey.dat, ts3server.ini, query_ip_allowlist.txt

  2. Instalar TeamSpeak Server en el nuevo VPS (pasos 1 a 5 de esta guía)

  3. Detener el nuevo servidor antes de copiar los archivos

  4. Copiar los archivos respaldados en C:\TeamSpeak3-Server\ en el nuevo VPS

  5. Reiniciar el servidor: todos sus canales, grupos y usuarios se restauran

  6. Actualizar su registro DNS A para apuntar a la nueva IP


Fuentes útiles