Menu
 

TeamSpeak Self-Hosting Guide 2025

TeamSpeak Self-Hosting Guide 2025

Complete guide to self-hosting your own TeamSpeak server for maximum control, privacy, and cost savings in 2025.

🏠 Why Self-Host?

  • Complete Control: Full control over your server and data
  • Privacy: No data sharing with third parties
  • Cost Savings: Free hosting for up to 512 slots (with NPL)
  • Customization: Full access to server configuration
  • Reliability: Depend on your own infrastructure

Prerequisites

System Requirements

  • Minimum (32 users): 512MB RAM, 1 vCPU, 10GB storage
  • Recommended (100 users): 2GB RAM, 2 vCPU, 20GB storage
  • Large Communities (500+ users): 4GB+ RAM, 4+ vCPU, 50GB+ storage
  • Network: 10+ Mbps upload for 100 users

Operating Systems Supported

  • Linux: Ubuntu, Debian, CentOS, AlmaLinux, Rocky Linux
  • Windows: Windows Server 2019/2022, Windows 10/11
  • macOS: macOS 10.15+ (not recommended for production)

TeamSpeak 3 Server Setup (Linux)

Step 1: Prepare System

# Update system
sudo apt update && sudo apt upgrade -y

# Install required packages
sudo apt install -y wget bzip2 tar

# Create dedicated user
sudo adduser --disabled-password --gecos "" ts3server

Step 2: Download & Install

# Switch to ts3server user
su - ts3server

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

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

# Move to clean directory
cd teamspeak3-server_linux_amd64

# Accept license (required for first start)
touch .ts3server_license_accepted

Step 3: Start Server

# Start TS3 server
./ts3server_startscript.sh start

# Note the serveradmin token and server query credentials
# Save these securely!

Step 4: Create Systemd Service

# Exit from ts3server user
exit

# Create systemd service file
sudo nano /etc/systemd/system/ts3server.service
[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
User=ts3server
Group=ts3server
WorkingDirectory=/home/ts3server/teamspeak3-server_linux_amd64
ExecStart=/home/ts3server/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/ts3server/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
Restart=on-failure
Type=forking

[Install]
WantedBy=multi-user.target
# Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable ts3server
sudo systemctl start ts3server
sudo systemctl status ts3server

TeamSpeak 6 Server Setup (Beta)

⚠️ Beta Warning

TeamSpeak 6 Server is in beta as of 2025. Use for testing only. For production, use TS3.

Linux Installation

# Create user
sudo adduser --disabled-password --gecos "" ts6server

# Download TS6 server beta
su - ts6server
wget https://github.com/TeamSpeak-Systems/teamspeak-server/releases/download/v6.0.0-beta6/teamspeak-server_linux_amd64-v6.0.0-beta6.tar.gz

# Extract
tar xzf teamspeak-server_linux_amd64-v6.0.0-beta6.tar.gz
cd teamspeak-server

# Start server
./ts6server start

# Note credentials

Windows Installation

  1. Download TS6 server from teamspeak.com
  2. Extract to folder (e.g., C:\TeamSpeak6)
  3. Run ts6server.exe
  4. Note server admin token
  5. Configure server settings

Windows Server Setup (TeamSpeak 3)

Step-by-Step Installation

  1. Download: Download TS3 server from teamspeak.com
  2. Extract: Extract to folder (e.g., C:\TeamSpeakServer)
  3. License: Create license file or accept free license
  4. Run: Run ts3server.exe as Administrator
  5. Token: Save serveradmin token securely
  6. Firewall: Allow through Windows Firewall
  7. Service: Install as Windows Service (optional)

Windows Firewall Rules

# Allow TeamSpeak through Windows Firewall
netsh advfirewall firewall add rule name="TeamSpeak Voice" dir=in action=allow protocol=UDP localport=9987
netsh advfirewall firewall add rule name="TeamSpeak FileTransfer" dir=in action=allow protocol=TCP localport=30033
netsh advfirewall firewall add rule name="TeamSpeak ServerQuery" dir=in action=allow protocol=TCP localport=10011

Port Forwarding

Required Ports

Port Protocol Purpose Required
9987 UDP Voice communication Yes
30033 TCP File transfer Optional
10011 TCP Server Query Optional
41144 TCP File transfer (TS6) Optional

Router Configuration

  1. Login to router (usually 192.168.1.1 or 192.168.0.1)
  2. Find Port Forwarding section
  3. Forward required ports to your server's local IP
  4. Save and apply changes
  5. Test with telnet your-ip 9987

Configuration

Server Configuration File (ts3server.ini)

# Basic server configuration
voice_ip=0.0.0.0
default_voice_port=9987
filetransfer_ip=0.0.0.0
filetransfer_port=30033
query_ip=0.0.0.0
query_port=10011

# Database configuration
dbplugin=ts3db_sqlite3
dbconnections=10

# Performance settings
connection_bandwidth=0

# Logging
query_ip_whitelist=192.168.1.100
logappend=1
logquerycommands=0

Performance Tuning

# Increase maximum concurrent users
maxclients=512

# Adjust bandwidth settings
connection_bandwidth=3  # 0=unlimited, 1=640k, 2=1280k, 3=1920k

# File transfer limits
max_upload_total_bandwidth=81920  # bytes/sec
max_download_total_bandwidth=81920  # bytes/sec

Server Licensing

Free License (32 Slots)

  • Slots: Up to 32 concurrent users
  • Cost: Free
  • Setup: Automatic, no registration required
  • Suitable for: Small groups, friends, testing

Non-Profit License (NPL)

  • Slots: Up to 512 concurrent users
  • Cost: Free
  • Requirements: Non-profit organization
  • Application: Apply at teamspeak.com
  • Duration: Must renew annually

Authorized TeamSpeak Host Provider (ATHP)

  • Slots: Unlimited
  • Cost: Licensing fee (starting ~$55/year for 64 slots)
  • Requirements: Commercial hosting business
  • Application: Strict approval process

Backup & Restore

Backup Script

#!/bin/bash
# Backup TeamSpeak server

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

# Create backup directory
mkdir -p $BACKUP_DIR

# Backup database and files
tar czf $BACKUP_DIR/ts3_backup_$DATE.tar.gz \
  $TS3_DIR/ts3server.sqlitedb \
  $TS3_DIR/files \
  $TS3_DIR/query_ip_whitelist.txt

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

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

Automated Backup with Cron

# Add to crontab for daily backups
0 3 * * * /home/ts3server/backup_ts3.sh

Restore from Backup

# Stop server
sudo systemctl stop ts3server

# Extract backup
tar xzf /backups/ts3/ts3_backup_20250101_030000.tar.gz -C /home/ts3server/teamspeak3-server_linux_amd64/

# Start server
sudo systemctl start ts3server

Monitoring & Maintenance

Check Server Status

# Check systemd service status
sudo systemctl status ts3server

# View real-time logs
sudo journalctl -u ts3server -f

# Check server uptime
ts3server serverinfo

Resource Monitoring

# Monitor resource usage
htop

# Check network connections
netstat -tulpn | grep ts3

# Monitor disk usage
df -h
du -sh /home/ts3server/teamspeak3-server_linux_amd64/

Log Management

# Rotate logs to prevent disk filling
# Add to logrotate configuration

sudo nano /etc/logrotate.d/ts3server
/home/ts3server/teamspeak3-server_linux_amd64/logs/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    copytruncate
}

Security Hardening

Firewall Configuration

# UFW setup
sudo ufw allow 9987/udp
sudo ufw allow 30033/tcp
sudo ufw allow 10011/tcp from 192.168.1.100  # Restrict to admin IP
sudo ufw enable

Server Query Security

# Restrict Server Query access to specific IPs
# In ts3server.ini
query_ip_whitelist=192.168.1.100,10.0.0.5

# Change default query port (optional)
query_port=10011

User Security

  • Use dedicated, non-root user for server
  • Set strong passwords for Server Query accounts
  • Enable 2FA on myTeamSpeak account
  • Regularly review and update permissions
  • Monitor logs for suspicious activity

Frequently Asked Questions

Can I host TeamSpeak on my home computer?

Yes, but you'll need to forward ports and have a stable internet connection with sufficient upload speed.

How much bandwidth do I need?

Approximately 10-20 Kbps per user for voice. For 100 users, you need ~2 Mbps upload bandwidth.

What's the difference between TS3 and TS6 servers?

TS3 is stable and production-ready. TS6 is in beta with new features like screen sharing and camera sharing.

Can I migrate from TS3 to TS6?

Migration tools are available, but TS6 is still in beta. Wait for stable release before migrating production servers.

How do I get more than 32 slots for free?

Apply for a Non-Profit License (NPL) at teamspeak.com for up to 512 free slots.

Can I host multiple servers on one machine?

Yes, you can run multiple virtual servers on one TeamSpeak instance, or multiple instances on different ports.

How do I update my TeamSpeak server?

Download the latest version, stop the server, backup your files, extract new version over existing files, and restart.

What happens if I lose my serveradmin token?

You can use Server Query to generate a new token, or delete the server instance and start fresh (losing all data).

Professional Hosting: Don't want to manage your own server? Get a TeamSpeak server with Supercraft with instant setup, DDoS protection, and expert support!

Top