Default Ports
TeamSpeak 6 Server uses the following default ports:| Port | Protocol | Service | Required |
|---|---|---|---|
| 9987 | UDP | Voice communication | Yes |
| 30033 | TCP | File transfers | Yes |
| 10080 | TCP | HTTP ServerQuery | Optional |
| 10022 | TCP | SSH ServerQuery | Optional |
| 10443 | TCP | HTTPS ServerQuery | Optional |
Only the voice port (9987/UDP) and file transfer port (30033/TCP) are required for basic operation. ServerQuery ports are optional and must be explicitly enabled.
Voice Port Configuration
Permanently sets the default UDP voice port for the first virtual server created.Range: 1-65535
Environment Variable:
Environment Variable:
TSSERVER_DEFAULT_PORTIP address(es) for the server to bind the voice port to. Supports both IPv4 and IPv6.Environment Variable:
TSSERVER_VOICE_IPTo listen on all interfaces (both IPv4 and IPv6), use both
0.0.0.0 and :: in the voice-ip configuration.File Transfer Port
Port on which to listen and advertise for file transfer connections.Range: 1-65535
Environment Variable:
Environment Variable:
TSSERVER_FILE_TRANSFER_PORTThe address on which to listen for file transfer connections.Environment Variable:
TSSERVER_FILE_TRANSFER_IPServerQuery Configuration
ServerQuery provides programmatic access to server administration. TeamSpeak 6 supports three query interfaces: HTTP, HTTPS, and SSH.General Query Options
How many threads to use for query command processing.Range: 2-32
Environment Variable:
Environment Variable:
TSSERVER_QUERY_POOL_SIZETimeout in seconds before query connections expire.Environment Variable:
TSSERVER_QUERY_TIMEOUTHow much memory (in MB) to allocate for query connection buffering.Range: 20-100
Environment Variable:
Environment Variable:
TSSERVER_QUERY_BUFFER_MBSets a password for the serveradmin query account, overriding the database value.Environment Variable:
TSSERVER_QUERY_ADMIN_PASSWORDPath to the query documentation files.Environment Variable:
TSSERVER_QUERY_DOCUMENTATION_PATHHTTP ServerQuery
The HTTP interface provides a RESTful API for server management.Enables the HTTP query interface.Environment Variable:
TSSERVER_QUERY_HTTP_ENABLED (set to true or 1)The port for the HTTP query interface.Range: 1-65535
Environment Variable:
Environment Variable:
TSSERVER_QUERY_HTTP_PORTAddress to listen on for HTTP query connections.Environment Variable:
TSSERVER_QUERY_HTTP_IP- Docker Compose
- CLI
- YAML
HTTPS ServerQuery
The HTTPS interface provides secure, encrypted API access.Enables the HTTPS query interface.Environment Variable:
TSSERVER_QUERY_HTTPS_ENABLEDPort on which to listen for secure Web Query connections.Range: 1-65535
Environment Variable:
Environment Variable:
TSSERVER_QUERY_HTTPS_PORTAddress to listen on for secure Web Query connections.Environment Variable:
TSSERVER_QUERY_HTTPS_IPPath to certificate file for HTTPS Web Query.Environment Variable:
TSSERVER_QUERY_HTTPS_CERTPath to private key file used with the certificate.Environment Variable:
TSSERVER_QUERY_HTTPS_PRIVATE_KEYHTTPS ServerQuery requires a valid SSL/TLS certificate. You can use Let’s Encrypt or self-signed certificates for testing.
SSH ServerQuery
The SSH interface provides command-line access via SSH protocol.Enables the SSH query interface.Environment Variable:
TSSERVER_QUERY_SSH_ENABLEDPort on which to listen for SSH query connections.Range: 1-65535
Environment Variable:
Environment Variable:
TSSERVER_QUERY_SSH_PORTAddress to listen on for SSH query connections.Environment Variable:
TSSERVER_QUERY_SSH_IPPath to the SSH RSA host key file. Generated automatically if not found.Environment Variable:
TSSERVER_QUERY_SSH_RSA_KEY- Docker Compose
- CLI
Security Options
Admin Password
Override the query password for the built-in serveradmin account.Environment Variable:
TSSERVER_QUERY_ADMIN_PASSWORDIP Allow List
File path listing IPs exempt from query flood protection. One IP per line.Environment Variable:
TSSERVER_QUERY_ALLOW_LISTquery_ip_allowlist.txt
IP Block List
File path listing IPs blocked from the query interface. One IP per line.Environment Variable:
TSSERVER_QUERY_DENY_LISTquery_ip_denylist.txt
Brute Force Protection
Skip brute force checking on query interface connections. Only use in trusted networks.Environment Variable:
TSSERVER_QUERY_SKIP_BRUTE_FORCE_CHECKLogging Options
Log every command received on the query interface.Environment Variable:
TSSERVER_QUERY_LOG_COMMANDSInterval in seconds after which to log query statistics.Range: 10-31556952
Environment Variable:
Environment Variable:
TSSERVER_QUERY_LOG_TIMINGComplete Configuration Example
- All Query Interfaces
- YAML Config
docker-compose.yml
Firewall Configuration
Ensure your firewall allows traffic on the required ports:Troubleshooting
Connection Issues
If clients cannot connect:- Verify the voice port (9987/UDP) is open in your firewall
- Check that the server is listening on the correct IP address
- Ensure port forwarding is configured correctly on your router
- Test connectivity with
netstat -tuln | grep 9987
File Transfer Problems
If file transfers fail:- Verify Docker port mapping matches the configured port
- Ensure the file transfer port (30033/TCP) is accessible
- Check firewall rules allow TCP traffic on port 30033
- Confirm the port is not in use by another service
ServerQuery Not Accessible
If ServerQuery interfaces are not responding:- Verify the interface is enabled (
query-*-enable) - Check the ports are not blocked by firewall
- Ensure no other service is using the query ports
- Review server logs for binding errors
- Test with
curl http://localhost:10080(for HTTP query)
Next Steps
YAML Configuration
Complete YAML file reference
Server Settings
Configure core server options