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
- Download TS6 server from teamspeak.com
- Extract to folder (e.g., C:\TeamSpeak6)
- Run ts6server.exe
- Note server admin token
- Configure server settings
Windows Server Setup (TeamSpeak 3)
Step-by-Step Installation
- Download: Download TS3 server from teamspeak.com
- Extract: Extract to folder (e.g., C:\TeamSpeakServer)
- License: Create license file or accept free license
- Run: Run ts3server.exe as Administrator
- Token: Save serveradmin token securely
- Firewall: Allow through Windows Firewall
- 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
- Login to router (usually 192.168.1.1 or 192.168.0.1)
- Find Port Forwarding section
- Forward required ports to your server's local IP
- Save and apply changes
- 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!