System Requirements
- Operating System: Linux (64-bit)
- Ubuntu 20.04 LTS or later
- Debian 11 or later
- CentOS 8 / Rocky Linux 8 or later
- Other modern Linux distributions
- Architecture: x86_64 (AMD64)
- RAM: Minimum 512 MB (1 GB+ recommended)
- Disk Space: 100 MB for server files + space for database and logs
- Network: Open ports 9987/UDP and 30033/TCP
Installation
Download the server package
Download the latest TeamSpeak 6 Server for Linux from the official website:
Visit the TeamSpeak Downloads page to get the latest version URL.
Extract the archive
Extract the downloaded archive:List the extracted files:You should see files including
tsserver, LICENSE, and various directories.Make the server binary executable
Ensure the server binary has execute permissions:Verify the server version:
Start the server
Run the server for the first time, accepting the license:
The server will start in the foreground and display log output. You should see the ServerAdmin privilege key in the output - save this key immediately!
Test the connection
With the server running, test the connection:
- Download the TeamSpeak 6 Client
- Connect to
localhost:9987(or your server’s IP) - Use the ServerAdmin privilege key to gain admin access
Running as a Background Service
For production use, you should run the server as a systemd service.Create a dedicated user
Create a system user for running the TeamSpeak server:
The
-r flag creates a system user, -m creates a home directory, and -d specifies the directory location.Create a systemd service file
Create a systemd service file:Add the following content:Save and close the file (Ctrl+X, then Y, then Enter).
/etc/systemd/system/teamspeak6.service
Enable and start the service
Reload systemd, enable the service to start on boot, and start it:Check the service status:The status should show “active (running)”.
Service Management
Use these commands to manage your TeamSpeak 6 Server service:Firewall Configuration
You need to open the required ports in your firewall:- UFW (Ubuntu/Debian)
- firewalld (CentOS/RHEL/Rocky)
- iptables
Configuration
You can configure the server using command-line arguments, environment variables, or a configuration file.Using Command-Line Arguments
Modify theExecStart line in the systemd service file:
Using a Configuration File
Generate a default configuration file:tsserver.yaml file. Edit it:
tsserver.yaml
Verification Steps
Check server process
Verify the server process is running:You should see the
tsserver process running as the teamspeak user.Check listening ports
Verify the server is listening on the correct ports:Or using You should see ports 9987 (UDP) and 30033 (TCP) in the LISTEN state.
ss:Check service status
Verify the systemd service is active:The output should show “active (running)” with no errors.
Review logs
Check the logs for any errors:Look for any warnings or errors that might indicate problems.
Test client connection
- Download the TeamSpeak 6 Client
- Connect to your server’s IP address and port 9987
- Verify you can connect successfully
Updating the Server
Replace the binary and files
Keep your existing configuration files, logs, and database. Only replace the binary and SQL files.
Troubleshooting
Server won't start
Server won't start
Check the logs for errors:Common issues:
- License not accepted: Ensure
--accept-licenseis in the ExecStart command - Port already in use: Check if another process is using ports 9987 or 30033
- Permission issues: Verify the teamspeak user has read/write access to
/opt/teamspeak6
Permission denied errors
Permission denied errors
Ensure proper ownership of the server directory:
Cannot connect from client
Cannot connect from client
- Check if the server is running:
sudo systemctl status teamspeak6 - Verify ports are open:
sudo netstat -tulpn | grep tsserver - Check firewall rules:
sudo ufw statusorsudo firewall-cmd --list-all - Test connectivity:
nc -uz <server-ip> 9987
High CPU or memory usage
High CPU or memory usage
- Check the number of connected clients
- Review log files for errors or warnings
- Consider adjusting thread settings in
tsserver.yaml:
Database errors
Database errors
If you see database-related errors:
- Verify database file permissions
- Check disk space:
df -h - For SQLite integrity issues, the server will attempt to repair on startup
- If problems persist, consider switching to MariaDB for better reliability
Next Steps
Configuration
Learn how to customize your server settings
Database Setup
Configure MariaDB for better performance