TeamSpeak Guide
• Updated Jan 9, 2026
TeamSpeak: Advanced Configuration Guide
Deep dive into TeamSpeak server configuration files, advanced settings, and optimization techniques for better performance and customization.
Configuration File Structure
Primary Configuration Files
| File |
Purpose |
Location |
| ts3server.ini |
Main server configuration |
Server root directory |
| ts3server.sqlitedb |
Database (users, channels, permissions) |
Server root directory |
| query_ip_whitelist.txt |
ServerQuery IP whitelist |
Server root directory |
| query_ip_blacklist.txt |
ServerQuery IP blacklist |
Server root directory |
ts3server.ini Configuration
Complete Configuration Example
# TeamSpeak 3 Server Configuration
# Edit with caution - backup before changes
# Machine ID (auto-generated, do not modify)
machine_id=
# Voice Server Settings
default_voice_port=9987
voice_ip=0.0.0.0
create_default_virtualserver=1
# File Transfer Settings
filetransfer_port=30033
filetransfer_ip=0.0.0.0
filetransfer_bandwidth_sent=6553600
filetransfer_bandwidth_received=6553600
# ServerQuery Settings
query_port=10011
query_ip=0.0.0.0
query_protocols=raw,ssh
query_ssh_rsa_host_key=ssh_host_rsa_key
query_timeout=300
query_pool_size=2
# Logging Settings
logpath=logs/
logquerycommands=1
logappend=0
query_skipbruteforcecheck=0
# Database Settings
dbplugin=ts3db_sqlite3
dbpluginparameter=ts3server.sqlitedb
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
dbconnections=10
dbclientkeepdays=90
dblogkeepdays=90
# License Settings
licensepath=
license_accepted=1
# Advanced Settings
serverquerydocs_path=serverquerydocs/
query_buffer_mb=20
Key Configuration Parameters
Voice Server Configuration
| Parameter |
Default |
Description |
| default_voice_port |
9987 |
UDP port for voice communication |
| voice_ip |
0.0.0.0 |
IP to bind (0.0.0.0 = all interfaces) |
| create_default_virtualserver |
1 |
Auto-create virtual server on startup |
File Transfer Configuration
| Parameter |
Default |
Recommended |
| filetransfer_bandwidth_sent |
6553600 |
10485760 (10 MB/s) |
| filetransfer_bandwidth_received |
6553600 |
10485760 (10 MB/s) |
| filetransfer_port |
30033 |
30033 (standard) |
Virtual Server Configuration
ServerQuery Commands for Configuration
# Connect to ServerQuery
telnet localhost 10011
# Login
login serveradmin YOUR_PASSWORD
# Select virtual server
use sid=1
# Configure server name
serveredit virtualserver_name=My\ TeamSpeak\ Server
# Set max clients
serveredit virtualserver_maxclients=512
# Set reserved slots
serveredit virtualserver_reserved_slots=5
# Configure welcome message
serveredit virtualserver_welcomemessage=Welcome\ to\ our\ server!
# Set host message
serveredit virtualserver_hostmessage=Server\ Rules:\n1.\ Be\ respectful\n2.\ No\ spam
# Configure codec encryption
serveredit virtualserver_codec_encryption_mode=2
Virtual Server Parameters
| Parameter |
Values |
Purpose |
| virtualserver_maxclients |
1-32768 |
Maximum connected users |
| virtualserver_reserved_slots |
0-100 |
Slots for priority users |
| virtualserver_codec_encryption_mode |
0-2 |
0=disabled, 1=optional, 2=forced |
| virtualserver_antiflood_points_needed_warning |
1-1000 |
Anti-flood threshold |
Performance Optimization
Database Optimization
# Optimize SQLite database
sqlite3 ts3server.sqlitedb "VACUUM;"
sqlite3 ts3server.sqlitedb "ANALYZE;"
# Set database parameters in ts3server.ini
dbconnections=10
dbclientkeepdays=30
dblogkeepdays=30
# Enable WAL mode for better performance
sqlite3 ts3server.sqlitedb "PRAGMA journal_mode=WAL;"
Memory and CPU Optimization
# Increase query buffer (ts3server.ini)
query_buffer_mb=50
# Optimize database connections
dbconnections=20
# Reduce log retention
dbclientkeepdays=30
dblogkeepdays=30
logappend=0
# Linux: Set CPU affinity
taskset -c 0,1 ./ts3server_startscript.sh start
Network Optimization
🌐 Bandwidth Management
Increase file transfer limits for better performance
filetransfer_bandwidth_sent=20971520
filetransfer_bandwidth_received=20971520
📡 Connection Limits
Optimize for high user counts
virtualserver_maxclients=512
virtualserver_reserved_slots=10
Advanced Features
ServerQuery SSH Configuration
# Enable SSH for ServerQuery (more secure than telnet)
# In ts3server.ini:
query_protocols=raw,ssh
query_ssh_rsa_host_key=ssh_host_rsa_key
# Generate SSH key
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
# Connect via SSH
ssh -p 10022 serveradmin@localhost
TSDNS Configuration
# Create tsdns_settings.ini
[TSDNS]
ts.example.com=voice.example.com:9987
gaming.example.com=voice.example.com:9988
# Start TSDNS
./tsdnsserver_linux_amd64
# Configure DNS
# A record: ts.example.com -> server IP
# SRV record: _ts3._udp.ts.example.com -> server:9987
Multiple Virtual Servers
# Create additional virtual server via ServerQuery
servercreate virtualserver_name=Second\ Server \
virtualserver_port=9988 \
virtualserver_maxclients=100
# List all virtual servers
serverlist
# Start/stop virtual servers
serverstart sid=2
serverstop sid=2
# Delete virtual server
serverdelete sid=2
Anti-Flood Configuration
Flood Protection Settings
| Parameter |
Default |
Recommended |
| antiflood_points_needed_warning |
250 |
150 |
| antiflood_points_needed_kick |
500 |
300 |
| antiflood_points_needed_ban |
1000 |
600 |
| antiflood_points_tick_reduce |
5 |
5 |
Configure via ServerQuery
# Set anti-flood parameters
serveredit virtualserver_antiflood_points_needed_warning=150
serveredit virtualserver_antiflood_points_needed_kick=300
serveredit virtualserver_antiflood_points_needed_ban=600
serveredit virtualserver_antiflood_points_tick_reduce=5
Logging Configuration
Log Levels and Rotation
# ts3server.ini logging settings
logpath=logs/
logquerycommands=1
logappend=0
dblogkeepdays=30
# Log rotation script
#!/bin/bash
LOG_DIR="/home/teamspeak/teamspeak3-server_linux_amd64/logs"
ARCHIVE_DIR="/backups/teamspeak/logs"
# Compress old logs
find "$LOG_DIR" -name "*.log" -mtime +7 -exec gzip {} \;
# Move to archive
find "$LOG_DIR" -name "*.log.gz" -mtime +30 -exec mv {} "$ARCHIVE_DIR" \;
# Delete very old archives
find "$ARCHIVE_DIR" -name "*.log.gz" -mtime +90 -delete
Query Command Logging
# Enable query command logging
logquerycommands=1
# View query logs
tail -f logs/ts3server_*_query.log
# Disable for performance (production)
logquerycommands=0
Automated Configuration Management
Configuration Backup Script
#!/bin/bash
# backup_config.sh
BACKUP_DIR="/backups/teamspeak/config"
TS_DIR="/home/teamspeak/teamspeak3-server_linux_amd64"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p "$BACKUP_DIR"
# Backup configuration files
tar -czf "$BACKUP_DIR/config_$DATE.tar.gz" \
"$TS_DIR/ts3server.ini" \
"$TS_DIR/query_ip_whitelist.txt" \
"$TS_DIR/query_ip_blacklist.txt" \
"$TS_DIR/ssh_host_rsa_key"
echo "Configuration backed up: config_$DATE.tar.gz"
Configuration Validation Script
#!/bin/bash
# validate_config.sh
CONFIG_FILE="ts3server.ini"
# Check if file exists
if [ ! -f "$CONFIG_FILE" ]; then
echo "ERROR: $CONFIG_FILE not found"
exit 1
fi
# Validate required parameters
REQUIRED_PARAMS=("default_voice_port" "query_port" "filetransfer_port")
for param in "${REQUIRED_PARAMS[@]}"; do
if ! grep -q "^$param=" "$CONFIG_FILE"; then
echo "WARNING: Missing parameter: $param"
fi
done
# Check port conflicts
VOICE_PORT=$(grep "^default_voice_port=" "$CONFIG_FILE" | cut -d= -f2)
QUERY_PORT=$(grep "^query_port=" "$CONFIG_FILE" | cut -d= -f2)
FT_PORT=$(grep "^filetransfer_port=" "$CONFIG_FILE" | cut -d= -f2)
if [ "$VOICE_PORT" == "$QUERY_PORT" ] || [ "$VOICE_PORT" == "$FT_PORT" ] || [ "$QUERY_PORT" == "$FT_PORT" ]; then
echo "ERROR: Port conflict detected"
exit 1
fi
echo "Configuration validation passed"
Common Configuration Issues
| Issue |
Cause |
Solution |
| Server won't start |
Invalid configuration syntax |
Check ts3server.ini for typos |
| Query not accessible |
IP whitelist too restrictive |
Add your IP to query_ip_whitelist.txt |
| Poor performance |
Low database connections |
Increase dbconnections parameter |
| File transfer slow |
Bandwidth limits too low |
Increase filetransfer_bandwidth settings |
Pro Tip: Always backup ts3server.ini before making changes. A single typo can prevent the server from starting.
Optimize your TeamSpeak server for peak performance. Host your TeamSpeak server with Supercraft for pre-optimized configurations.