Menu
 

Server Setup Guide - TeamSpeak Wiki

TeamSpeak: Complete Server Setup Guide

Comprehensive guide for installing and configuring TeamSpeak 3 servers on Linux, Windows, and Docker. Includes hosting platform comparisons and best practices for production deployments.

System Requirements

Component Minimum Recommended
CPU 1 Core @ 1.5 GHz 2 Cores @ 2.5 GHz+
RAM 512 MB 2 GB+
Storage 1 GB 10 GB SSD
Bandwidth 1 Mbps 10 Mbps+ (100 users)

Port Requirements

  • 9987 UDP: Voice communication (default)
  • 10011 TCP: ServerQuery (admin interface)
  • 30033 TCP: File transfers
  • 41144 TCP: TSDNS (optional)

Linux Installation (Ubuntu/Debian)

Step 1: Create TeamSpeak User

# Create dedicated user for security
sudo adduser --disabled-login teamspeak

# Switch to teamspeak user
sudo su - teamspeak

Step 2: Download TeamSpeak Server

# Download latest version
cd /home/teamspeak
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

# Extract archive
tar xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

# Navigate to directory
cd teamspeak3-server_linux_amd64

Step 3: Accept License and Start Server

# Accept license
touch .ts3server_license_accepted

# Start server
./ts3server_startscript.sh start

# Server will display admin token - SAVE THIS!

Important: Save the ServerAdmin privilege key displayed on first start. You'll need this to claim admin rights.

Step 4: Configure Firewall

# UFW (Ubuntu/Debian)
sudo ufw allow 9987/udp
sudo ufw allow 10011/tcp
sudo ufw allow 30033/tcp
sudo ufw enable

# iptables alternative
sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
sudo iptables-save

Step 5: Create Systemd Service

# Create service file
sudo nano /etc/systemd/system/teamspeak.service

# Add the following content:
[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
Type=forking
User=teamspeak
Group=teamspeak
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64
ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

# Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable teamspeak
sudo systemctl start teamspeak

Windows Installation

Step-by-Step Windows Setup

  1. Download: Get TeamSpeak 3 Server from official website
  2. Extract: Unzip to C:\TeamSpeak3-Server\
  3. Accept License: Create empty file "ts3server_license_accepted.txt"
  4. Run: Execute ts3server_win64.exe
  5. Save Token: Copy the ServerAdmin privilege key
  6. Firewall: Allow ports 9987 UDP, 10011 TCP, 30033 TCP

Windows Service Installation

# Run as Administrator in PowerShell
cd C:\TeamSpeak3-Server

# Install service
.\ts3server_win64.exe -install

# Start service
Start-Service TeamSpeak3

# Set to auto-start
Set-Service TeamSpeak3 -StartupType Automatic

Docker Installation

Docker Compose Setup

# Create docker-compose.yml
version: '3.8'

services:
  teamspeak:
    image: teamspeak:latest
    container_name: teamspeak3
    restart: unless-stopped
    ports:
      - "9987:9987/udp"
      - "10011:10011/tcp"
      - "30033:30033/tcp"
    environment:
      - TS3SERVER_LICENSE=accept
      - TS3SERVER_QUERY_PROTOCOLS=raw
    volumes:
      - ./data:/var/ts3server/
      - ./logs:/var/ts3server/logs/

# Start container
docker-compose up -d

# View admin token
docker logs teamspeak3

Docker CLI Installation

# Pull image
docker pull teamspeak:latest

# Run container
docker run -d \
  --name=teamspeak3 \
  --restart=unless-stopped \
  -p 9987:9987/udp \
  -p 10011:10011/tcp \
  -p 30033:30033/tcp \
  -e TS3SERVER_LICENSE=accept \
  -v $(pwd)/data:/var/ts3server/ \
  teamspeak:latest

# Get admin token
docker logs teamspeak3 | grep token

Initial Configuration

Claim Admin Rights

  1. Connect: Open TeamSpeak client
  2. Add Server: Enter your server IP
  3. Use Token: Permissions > Use Privilege Key
  4. Paste Token: Enter the ServerAdmin token
  5. Confirm: You now have full admin rights

Basic Server Settings

Setting Recommended Value Purpose
Server Name Your Community Name Branding
Max Clients 32-512 Capacity planning
Welcome Message Custom greeting User experience
Host Message Server rules/info Communication
Reserved Slots 2-5 Admin access

Hosting Platform Comparison

Self-Hosted vs Managed Hosting

🏠 Self-Hosted

Pros: Full control, no recurring costs, custom configs

Cons: Maintenance, security, uptime responsibility

Best For: Technical users, large communities

☁️ Managed Hosting

Pros: Easy setup, support, guaranteed uptime

Cons: Monthly cost, limited customization

Best For: Beginners, small-medium communities

Recommended Hosting Providers

Provider Starting Price Slots Features
Supercraft.host $3/month 10-Unlimited DDoS protection, instant setup
DigitalOcean $6/month Self-managed VPS, full control
Linode $5/month Self-managed VPS, global locations

Performance Optimization

Server Configuration Tweaks

# Edit ts3server.ini
[Server]
# Increase connection limits
virtualserver_maxclients=512
virtualserver_reserved_slots=5

# Optimize voice quality
default_voice_port=9987
voice_ip=0.0.0.0

# Query settings
query_port=10011
query_ip=127.0.0.1  # Restrict to localhost

# File transfer
filetransfer_port=30033
filetransfer_ip=0.0.0.0
filetransfer_bandwidth_sent=6553600
filetransfer_bandwidth_received=6553600

Linux Performance Tuning

# Increase file descriptors
sudo nano /etc/security/limits.conf

# Add:
teamspeak soft nofile 65536
teamspeak hard nofile 65536

# Network optimization
sudo nano /etc/sysctl.conf

# Add:
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216

# Apply changes
sudo sysctl -p

Backup and Recovery

Automated Backup Script

#!/bin/bash
# teamspeak_backup.sh

BACKUP_DIR="/backups/teamspeak"
TS_DIR="/home/teamspeak/teamspeak3-server_linux_amd64"
DATE=$(date +%Y%m%d_%H%M%S)

# Create backup directory
mkdir -p "$BACKUP_DIR"

# Stop server
systemctl stop teamspeak

# Backup files
tar -czf "$BACKUP_DIR/ts3_backup_$DATE.tar.gz" \
    "$TS_DIR/ts3server.sqlitedb" \
    "$TS_DIR/files/" \
    "$TS_DIR/ts3server.ini"

# Start server
systemctl start teamspeak

# Keep only last 7 backups
find "$BACKUP_DIR" -name "ts3_backup_*.tar.gz" -mtime +7 -delete

echo "Backup completed: ts3_backup_$DATE.tar.gz"

Restore from Backup

# Stop server
systemctl stop teamspeak

# Extract backup
cd /home/teamspeak/teamspeak3-server_linux_amd64
tar -xzf /backups/teamspeak/ts3_backup_YYYYMMDD_HHMMSS.tar.gz

# Set permissions
chown -R teamspeak:teamspeak /home/teamspeak/teamspeak3-server_linux_amd64

# Start server
systemctl start teamspeak

Troubleshooting Common Issues

Issue Cause Solution
Server won't start License not accepted Create .ts3server_license_accepted file
Can't connect Firewall blocking ports Open ports 9987 UDP, 10011 TCP, 30033 TCP
Poor voice quality Bandwidth limitations Increase server bandwidth allocation
Database errors Corrupted SQLite database Restore from backup or rebuild

Get your TeamSpeak server running in minutes. Host your TeamSpeak server with Supercraft for instant setup and DDoS protection.

Top