Overview
TeamSpeak 6 Server supports running multiple virtual servers on a single instance. Each virtual server operates independently with its own voice port, channels, users, and permissions. This allows you to host multiple communities or organizations from a single installation.Default Virtual Server
When you start TeamSpeak 6 Server for the first time, it automatically creates a default virtual server unless configured otherwise.Automatic Creation
By default, the server creates the first virtual server on port 9987 (UDP) if no virtual servers exist in the database.Sets the UDP voice port for the first virtual server created automatically.Range: 1 - 65535Environment Variable:
TSSERVER_DEFAULT_PORTDisabling Automatic Creation
You can prevent the server from automatically creating a default virtual server:When enabled, no default virtual server is created even if the database is empty.Environment Variable:
TSSERVER_NO_DEFAULT_SERVERIf you disable automatic virtual server creation, you’ll need to manually create virtual servers using Server Query commands.
Voice Port Configuration
Each virtual server requires its own UDP port for voice communication.Binding IP Addresses
IP addresses for the server to bind voice ports to. Supports both IPv4 and IPv6.Environment Variable:
TSSERVER_VOICE_IPMulti-Instance Setups
When running multiple TeamSpeak 6 Server instances that share the same database, you must use themachine-id parameter to distinguish between instances.
Machine ID
A unique identifier string to distinguish this server instance from others using the same database.Environment Variable:
TSSERVER_MACHINE_IDUse Cases for Multi-Instance Setup
- Geographic distribution: Run servers in different regions while maintaining centralized user data
- Load balancing: Distribute virtual servers across multiple physical machines
- High availability: Implement failover configurations with multiple instances
- Resource isolation: Separate high-traffic virtual servers onto dedicated hardware
Example Multi-Instance Configuration
Server Instance 1 (US West):Both instances can use the same voice ports because they run on different physical machines with different IP addresses.
Managing Virtual Servers
Virtual servers are managed through the Server Query interface. Common operations include:Creating Virtual Servers
Use the Server Queryservercreate command to create new virtual servers:
Starting and Stopping
Virtual servers can be started and stopped individually:Listing Virtual Servers
View all virtual servers on the instance:File Transfer Configuration
File transfers are shared across all virtual servers on an instance.TCP port used for file transfers across all virtual servers.Range: 1 - 65535Environment Variable:
TSSERVER_FILE_TRANSFER_PORTIP addresses to bind for file transfer connections.Environment Variable:
TSSERVER_FILE_TRANSFER_IPBest Practices
Port Assignment
- Use a consistent port range for virtual servers (e.g., 9987-9999)
- Document which ports are assigned to which communities
- Leave gaps between port ranges for future expansion
Machine ID Naming
- Use descriptive names that indicate location or purpose
- Include region codes:
us-west-01,eu-central-02 - Use environment indicators:
prod-server-01,staging-server-01 - Maintain a registry of machine IDs in your infrastructure documentation
Database Considerations
- Use a dedicated database for production deployments
- For multi-instance setups, use MariaDB instead of SQLite
- Ensure database connections are sufficient for all instances
- Monitor connection pool usage across instances
Monitoring
- Track virtual server status across all instances
- Monitor port allocation and availability
- Set up alerts for virtual server failures
- Log virtual server start/stop events for audit trails
Troubleshooting
Virtual Server Won’t Start
-
Check port availability: Ensure the voice port isn’t already in use
- Verify machine-id: In multi-instance setups, confirm each instance has a unique ID
-
Review logs: Check server logs for specific error messages
Port Conflicts
If multiple virtual servers are assigned the same port:- Stop the conflicting virtual servers
- Reassign ports using Server Query
- Restart the virtual servers with new port assignments
Database Connection Issues
In multi-instance deployments:- Verify database connectivity from each instance
- Check that the database connection pool is large enough
- Ensure firewall rules allow database connections
- Confirm each instance uses the correct machine-id
Related Topics
- Database Configuration - Configure shared databases for multi-instance setups
- Ports and Networking - Network configuration and firewall rules
- Server Query - Manage virtual servers via Server Query
- Performance Tuning - Optimize server performance for multiple virtual servers