How to Host a TeamSpeak Server on a Windows VPS
What is TeamSpeak?
TeamSpeak is a proprietary VoIP application that enables voice communication over the internet. It's widely used for:
- Gaming communities - Coordinate with teammates in real-time
- Business communication - Reduce costs of phone calls and meetings
- Educational purposes - Virtual classrooms and study groups
- Event coordination - Manage large groups efficiently
- Social groups - Connect with friends and communities
Why Choose TeamSpeak?
Advantages:
- Low latency - Minimal delay for real-time communication
- High quality audio - Crystal clear voice transmission
- Low resource usage - Lightweight on CPU and bandwidth
- Privacy focused - Self-hosted, you control your data
- Customizable - Extensive permissions and channel system
- Free for up to 32 users - No licensing fees for small servers
- Cross-platform - Works on Windows, Mac, Linux, iOS, Android
Prerequisites
What You'll Need
1. Windows VPS:
- Operating System: Windows Server 2019, 2022, 2025, or Windows 10/11
- RAM: Minimum 512 MB (1 GB+ recommended)
- CPU: 1 vCPU minimum
- Storage: 1 GB available space
- Network: Stable internet connection with public IP address
- Bandwidth: Depends on user count (calculate ~50 Kbps per user)
2. Software Requirements:
- Web browser (for downloading TeamSpeak)
- Extraction tool (7-Zip, WinRAR, or Windows built-in)
- TeamSpeak 3 Client (for connecting and managing)
3. Network Requirements:
- Public IP address (provided by VPS)
- Port access (default ports need to be opened)
- No restrictive firewall blocking VoIP traffic
Server Capacity
Free version limitations:
- 32 slots maximum (without license)
- Unlimited channels and groups
- Unlimited uptime
With license (optional):
- Up to 512 or 1024 slots
- Additional features
- Commercial support
Step 1: Connect to Your Windows VPS
Using Remote Desktop Connection
On Windows:
- Press Windows Key + R
- Type mstsc and press Enter
- Or search for Remote Desktop Connection
Enter Connection Details:
- Computer: Your VPS IP address (e.g., 123.45.67.89)
- Username: Usually
Administrator - Password: Your VPS password
Connect:
- Click Connect
- Accept security certificate if prompted
- Enter credentials if asked
- You're now on your VPS desktop
On Mac:
- Download Microsoft Remote Desktop from App Store
- Add connection with VPS IP and credentials
On Linux:
- Use Remmina or xfreerdp
Step 2: Download TeamSpeak Server
Get Latest Version
On your VPS:
- Open a web browser (Microsoft Edge, Chrome, etc.)
- Go to the official TeamSpeak downloads page:
- Scroll to TeamSpeak 3 Server
- Under Windows, click the download button for:
- SERVER 64-BIT (for modern systems)
- Or SERVER 32-BIT (for older systems)
How to check your Windows version:
- Right-click Start → System
- Look for System type
- 64-bit systems are most common
Direct download links (verify on official site for latest):
- 64-bit: Usually at teamspeak-services.com server downloads
- 32-bit: Same location
File downloaded: teamspeak3-server_win64-[version].zip
Save the File
- Download to Desktop or Downloads folder
- Wait for download to complete
- Note the file location
Step 3: Extract Server Files
Create Installation Directory
Recommended location: C:\TeamSpeak3-Server\
- Open File Explorer (Windows Key + E)
- Navigate to *C:*
- Create new folder: TeamSpeak3-Server
- Keep this window open
Extract Files
Using Windows Built-in Extraction:
- Right-click the downloaded
.zipfile - Select Extract All...
- Choose destination:
C:\TeamSpeak3-Server - Click Extract
Using 7-Zip or WinRAR:
- Right-click the
.zipfile - Select 7-Zip → Extract to "teamspeak3-server_win64"
- Or WinRAR → Extract Here
- Move extracted folder to
C:\TeamSpeak3-Server
Verify Files
Navigate to C:\TeamSpeak3-Server\teamspeak3-server_win64\
You should see files like:
ts3server.exe- Main server executablets3server_win64.exe- Alternative executablelicense.txt- License agreementserverquerydocsfolder- Various DLL files
Step 4: Configure Windows Firewall
TeamSpeak requires specific ports to be open for communication.
Default TeamSpeak Ports
- 9987 (UDP) - Voice communication (default)
- 10011 (TCP) - ServerQuery (text-based admin)
- 30033 (TCP) - File transfers
- 41144 (TCP) - TSDNS (optional)
Method 1: Using PowerShell (Recommended)
Open PowerShell as Administrator:
- Click Start
- Search PowerShell
- Right-click Windows PowerShell
- Select Run as Administrator
Add Firewall Rules:
Copy and paste these commands:
New-NetFirewallRule -DisplayName "TeamSpeak Voice" -Direction Inbound -LocalPort 9987 -Protocol UDP -Action Allow
New-NetFirewallRule -DisplayName "TeamSpeak ServerQuery" -Direction Inbound -LocalPort 10011 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "TeamSpeak File Transfer" -Direction Inbound -LocalPort 30033 -Protocol TCP -Action Allow
Method 2: During First Launch (Easier)
When you first start TeamSpeak server, Windows Firewall will prompt you:
- Windows Security Alert appears
- Check Private networks and Public networks
- Click Allow access
- This automatically creates firewall rules
Method 3: Manual Windows Firewall Configuration
- Open Windows Defender Firewall with Advanced Security
- Click Inbound Rules → New Rule
- Select Port → Next
- Choose UDP and enter port: 9987
- Select Allow the connection
- Apply to all profiles
- Name: "TeamSpeak Voice"
- Repeat for other ports (10011 TCP, 30033 TCP)
Step 5: Start TeamSpeak Server (First Time)
Launch Server
- Navigate to:
C:\TeamSpeak3-Server\teamspeak3-server_win64\ - Right-click ts3server.exe
- Select Run as administrator
Important: Always run as administrator for proper permissions.
Accept License Agreement
- A command prompt window opens
- License agreement appears
- Type Y and press Enter to accept
Server Starts
After accepting the license:
- Server initializes
- Command prompt displays startup information
- Critical information appears (see next step)
Save Important Information
The server displays (ONLY ONCE):
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
Server Query Admin Account created
loginname= "serveradmin", password= "a1b2c3d4"
------------------------------------------------------------------
------------------------------------------------------------------
I M P O R T A N T
------------------------------------------------------------------
ServerAdmin privilege key created, please use it to gain
serveradmin rights for your virtualserver. please
also check the doc/privilegekey_guide.txt for details.
token=eKnFZQ9EheWvsYvbVjPBYWEfRzD7PXCL4qYvZ6rX
------------------------------------------------------------------
CRITICAL: Copy and save this information immediately!
- ServerQuery Admin:
- Username:
serveradmin - Password: (displayed once)
- Username:
- Privilege Key (Server Admin Token):
- Long alphanumeric code
- Needed to claim server administrator rights
Save to a text file:
- Create
TeamSpeak_Credentials.txton your desktop - Copy all information
- Save securely
Warning: This information is shown only once. If you lose it, you must delete the database and restart the server.
Server is Running
The command prompt window stays open showing:
- Server status
- Connected clients
- Channel activity
- Any errors or warnings
Keep this window open while the server is running.
Step 6: Connect with TeamSpeak Client
Now connect to your server to claim administrator rights.
Download TeamSpeak Client
On your personal computer (not VPS):
- Go to: https://www.teamspeak.com/en/downloads/
- Download TeamSpeak 3 Client for your operating system
- Install with default settings
- Launch TeamSpeak Client
Connect to Your Server
In TeamSpeak Client:
- Click Connections → Connect
- Or press Ctrl + S
Connection settings:
- Server Address: Your VPS IP address
- Example:
123.45.67.89
- Example:
- Server Password: Leave blank (unless you set one)
- Nickname: Choose your display name
- Server Nickname: Optional label (e.g., "My TS Server")
- Click Connect
First Connection
TeamSpeak attempts to connect:
- Shows connection progress
- May take a few seconds
- You're now connected!
You'll be placed in the "Default Channel"
Step 7: Claim Server Administrator Rights
Use Privilege Key
After connecting the first time:
- A popup appears: "Use Privilege Key"
- Paste your privilege key/token from earlier
- Click OK
If popup doesn't appear:
- Click Permissions → Use Privilege Key
- Paste token
- Click OK
Verify Admin Rights
Check your status:
- Your name should have a different color
- A star or special icon appears next to your name
- You can now access all server settings
Test permissions:
- Right-click server name
- You should see options like "Edit Virtual Server"
- If visible, you have admin rights!
Step 8: Configure Your Server
Basic Server Settings
Right-click server name → Edit Virtual Server
Main tab:
- Server Name: Change from "TeamSpeak ]I[ Server"
- Example: "My Gaming Community"
- Server Password: Optional - protects server from unwanted users
- Max Clients: Maximum connected users (default 32 for free)
- Phonetic Name: How text-to-speech pronounces server name
Messages tab:
- Welcome Message: Shown to users when they connect
- Host Message: Displayed in server info
- Host Button: Add website link
Security tab:
- Security Level: Encryption strength (usually leave default)
Click "OK" to save changes
Create Channels
Right-click "Default Channel" → Edit Channel
Channel settings:
- Channel Name: Descriptive name
- Examples: "Lobby", "Gaming", "AFK", "Admin Room"
- Channel Password: Optional password protection
- Codec: Voice quality (Opus Voice is best)
- Max Clients: Limit users in channel (-1 for unlimited)
Channel Types:
- Permanent: Stays after server restart
- Semi-Permanent: Exists until last user leaves
- Temporary: Deleted when empty
Create multiple channels:
- Right-click server name → Create Channel
- Configure settings
- Repeat for each channel
Example structure:
My Server
├── Lobby (default)
├── Gaming
│ ├── Game 1
│ └── Game 2
├── AFK
└── Admin Only (password protected)
Set Channel Permissions
Right-click channel → Edit Channel → Permissions tab
Or: Permissions → Channel Permissions
Common permissions:
- Join Power: Who can enter channel
- Subscribe Power: Who can see/hear channel
- Modify Power: Who can edit channel settings
Create Server Groups
Groups define user permissions across the entire server.
Permissions → Server Groups
Default groups:
- Server Admin - Full control
- Channel Admin - Manage channels
- Guest - Basic permissions
- Normal - Regular users
Create custom group:
- Right-click in groups list → Add Server Group
- Name: e.g., "Moderator", "VIP", "Member"
- Click OK
- Right-click group → Edit Permissions
- Configure permissions
- Click OK
Assign users to groups:
- Right-click user name
- Server Groups → Select group
- User inherits group permissions
Set Icon Permissions
Allow users to use custom icons:
- Permissions → Server Groups
- Select group (e.g., "Normal")
- Find permission:
b_icon_manage - Set to true
- Click OK
Step 9: Advanced Configuration
Server Query Admin (Advanced)
For automated administration via scripts:
Connect with ServerQuery:
- Host: Your VPS IP
- Port: 10011 (TCP)
- Username:
serveradmin - Password: From initial startup
Tools that use ServerQuery:
- Web interfaces
- Bot frameworks
- Monitoring systems
- Automated backups
File Transfers
Configure file transfer settings:
- Right-click server → Edit Virtual Server
- Transfer tab:
- Max Bandwidth: Upload/download limits
- Max File Size: Maximum file size allowed
- Default Quota: Storage per client
Upload files/icons:
- Click Files → Upload
- Select files
- Users can download from server
TSDNS (Optional)
Make server accessible via domain name instead of IP:
Instead of: 123.45.67.89Use: ts.yourdomain.com
Setup requires:
- Domain name
- DNS configuration
- TSDNS server setup
- Port 41144 open
Backup Configuration
Important files to backup:
ts3server.sqlitedb- All server data, channels, usersts3server.ini- Server configurationlicensekey.dat- License file (if using licensed version)
Backup location:
- Same folder as
ts3server.exe
How to backup:
- Stop TeamSpeak server
- Copy database file
- Store safely
- Restart server
Restore from backup:
- Stop server
- Replace database file with backup
- Start server
Step 10: Keep Server Running
Run as Windows Service (Recommended)
Make server start automatically and run in background:
Using NSSM (Non-Sucking Service Manager):
- Download NSSM from: https://nssm.cc/download
- Extract and run
nssm.exe - In command prompt:
nssm install TeamSpeak3 - Configure:
- Path:
C:\TeamSpeak3-Server\teamspeak3-server_win64\ts3server.exe - Startup directory:
C:\TeamSpeak3-Server\teamspeak3-server_win64\ - Service name: TeamSpeak3
- Path:
- Click Install service
- Start service:
nssm start TeamSpeak3
Benefits:
- Starts automatically on server boot
- Runs in background
- Restarts on crash
- No command window
Manual Startup Script
Create a batch file for easy starting:
- Open Notepad
- Type:
@echo off cd /d C:\TeamSpeak3-Server\teamspeak3-server_win64\ start ts3server.exe - Save as:
Start_TeamSpeak.bat - Place on desktop
- Double-click to start server
Auto-start on Login
- Press Windows + R
- Type:
shell:startup - Copy your startup batch file here
- Server starts when you log in
Managing Your Server
View Server Status
In TeamSpeak Client:
- Server info shows: Uptime, version, clients online, channels
In Command Prompt:
- Server console shows real-time activity
Monitor Connected Users
View online users:
- Look at user list in TeamSpeak
- Right-click user for options:
- Kick from Channel
- Kick from Server
- Ban Client
- Edit Client
- Move to Channel
Kick or Ban Users
Kick user:
- Right-click user → Kick from Server
- Enter reason (optional)
- User is disconnected
Ban user:
- Right-click user → Ban Client
- Choose duration (hours/permanent)
- Enter reason
- User cannot reconnect
Manage bans:
- Permissions → Ban List
- View all bans
- Edit or remove bans
View Server Logs
On VPS:
- Location:
C:\TeamSpeak3-Server\teamspeak3-server_win64\logs\ - Files named by date:
ts3server_YYYY-MM-DD__HH_MM_SS.log - Open with text editor
What logs contain:
- User connections/disconnections
- Channel changes
- Permission changes
- Errors and warnings
Troubleshooting
Server Won't Start
Common causes and solutions:
- Port already in use:
- Another program using port 9987
- Close conflicting applications
- Or change TeamSpeak port
- Missing files:
- Re-extract server files
- Ensure all DLLs present
- Firewall blocking:
- Check Windows Firewall rules
- Temporarily disable firewall to test
- Insufficient permissions:
- Run as Administrator
Can't Connect to Server
Check the following:
- Server is running:
- Command window should be open
- Check Task Manager for
ts3server.exe
- Correct IP address:
- Use VPS public IP
- Not localhost or 127.0.0.1 (unless connecting from VPS)
- Firewall rules:
- Verify port 9987 UDP is open
- Check VPS firewall/security groups
- Server password:
- If set, must enter correctly
Lost Admin Token
If you lost privilege key:
- Stop TeamSpeak server
- Delete:
ts3server.sqlitedb(this deletes all data!) - Start server again
- New token generated
- Warning: All channels, groups, users deleted
Better solution:
- Use ServerQuery admin account
- Create new privilege key via ServerQuery
High CPU or RAM Usage
Solutions:
- Reduce codec quality:
- Lower channel codec bitrate
- Use lower quality audio
- Limit connected users:
- Set lower max clients
- Upgrade VPS:
- More RAM/CPU if needed
- Check for attacks:
- Look for connection spam in logs
Users Can't Hear Each Other
Client-side issues:
- Microphone settings:
- Check client microphone settings
- Test voice activation
- Output device:
- Verify correct speakers/headset selected
- Channel permissions:
- Ensure users have Talk Power
Best Practices
Security
- Set server password:
- Prevents unwanted access
- Share only with trusted users
- Regular backups:
- Backup database weekly
- Store backups off-server
- Update regularly:
- Check for TeamSpeak updates
- Install security patches
- Limit admin rights:
- Don't give everyone admin
- Use server groups wisely
- Monitor logs:
- Check for suspicious activity
- Ban abusive users
Performance
- Choose appropriate codec:
- Opus Voice for best quality/performance ratio
- Lower bitrate for limited bandwidth
- Limit file transfers:
- Set reasonable file size limits
- Prevent bandwidth abuse
- Regular restarts:
- Restart server weekly
- Clears memory leaks
Organization
- Clear channel structure:
- Organize channels logically
- Use descriptive names
- Set channel descriptions:
- Explain channel purpose
- Add rules or guidelines
- Welcome message:
- Greet new users
- Explain server rules
- Provide helpful links
Summary
To host a TeamSpeak 3 server on Windows VPS:
- Connect to VPS via Remote Desktop
- Download TeamSpeak 3 Server from official website
- Extract files to installation directory
- Configure firewall - Open port 9987 UDP
- Start server - Run ts3server.exe as administrator
- Save credentials - Copy admin password and privilege key
- Connect with TeamSpeak Client
- Claim admin using privilege key
- Configure server, channels, and permissions
- Manage your community
Your TeamSpeak server is now live and ready for communication!
Quick Reference
Important Files
- Server executable:
ts3server.exe - Database:
ts3server.sqlitedb - Configuration:
ts3server.ini - Logs:
logs/folder
Default Ports
- 9987 (UDP) - Voice
- 10011 (TCP) - ServerQuery
- 30033 (TCP) - File Transfer
- 41144 (TCP) - TSDNS (optional)
Important Directories
- Installation:
C:\TeamSpeak3-Server\ - Logs:
C:\TeamSpeak3-Server\teamspeak3-server_win64\logs\ - Files:
C:\TeamSpeak3-Server\teamspeak3-server_win64\files\
Official Resources
- Website: https://www.teamspeak.com
- Downloads: https://www.teamspeak.com/en/downloads/
- Support: https://support.teamspeak.com/
- Forum: https://forum.teamspeak.com/
Your TeamSpeak server is ready for crystal-clear voice communication!


















