Voice communication servers need low latency, not high CPU power. A VPS is the perfect and cost-effective platform for running TeamSpeak, Mumble, or custom VoIP solutions.
TeamSpeak 3 Server Setup
Installation
# Create teamspeak user
adduser --disabled-login teamspeak
# Download TeamSpeak server
cd /opt
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
tar xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
mv teamspeak3-server_linux_amd64 teamspeak3
chown -R teamspeak:teamspeak teamspeak3
# Accept license
su - teamspeak -s /bin/bash -c "touch /opt/teamspeak3/.ts3server_license_accepted"
Systemd Service
# /etc/systemd/system/teamspeak.service
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
User=teamspeak
WorkingDirectory=/opt/teamspeak3
ExecStart=/opt/teamspeak3/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/teamspeak3/ts3server_startscript.sh stop
Type=forking
PIDFile=/opt/teamspeak3/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable teamspeak
sudo systemctl start teamspeak
Firewall Rules
sudo ufw allow 9987/udp # Voice
sudo ufw allow 10011/tcp # ServerQuery
sudo ufw allow 30033/tcp # File transfer
First Login
The server outputs a privilege key on first start:
journalctl -u teamspeak | grep "privilege key"
Use this key in the TeamSpeak client to claim admin rights.
Mumble Server (Murmur)
Open-source alternative to TeamSpeak:
sudo apt install mumble-server
sudo dpkg-reconfigure mumble-server
Configuration: /etc/mumble-server.ini
bandwidth=72000
users=50
registerName=Your Server Name
welcometext="Welcome to our Mumble server!"
sudo ufw allow 64738/tcp
sudo ufw allow 64738/udp
Resource Requirements
Voice servers are lightweight:
| Slots | RAM | CPU | Bandwidth |
|---|---|---|---|
| 10 | 128MB | Minimal | 0.5 Mbps |
| 25 | 256MB | Minimal | 1 Mbps |
| 50 | 512MB | Low | 2.5 Mbps |
| 100 | 1GB | Low | 5 Mbps |
| 250 | 2GB | Moderate | 12 Mbps |
You can run a 50-slot voice server on the smallest VPS plan available.
Optimizing for Low Latency
Network
Voice quality depends on latency, not bandwidth:
| Latency | Voice Quality |
|---|---|
| < 30ms | Excellent (like being in the same room) |
| 30-60ms | Good (barely noticeable) |
| 60-100ms | Acceptable (slight delay) |
| 100-150ms | Poor (noticeable delay) |
| 150ms+ | Bad (conversation is difficult) |
Server Location
Choose a VPS location close to your users:
| Your Users | Best VPS Location | Expected Latency |
|---|---|---|
| Western Europe | Netherlands | 5-25ms |
| All of Europe | Netherlands/Germany | 10-40ms |
| US East Coast | US East | 10-30ms |
| Mixed EU/US | Netherlands (EU majority) | 5-85ms |
Audio Codec Settings
TeamSpeak codec selection:
| Codec | Bandwidth | Quality | CPU Usage |
|---|---|---|---|
| Opus Voice | Low | Good | Low |
| Opus Music | Medium | Excellent | Medium |
| Speex | Very low | Decent | Low |
Opus Voice is the best default. It provides excellent quality at low bandwidth.
Running Multiple Services
A voice server uses so few resources, you can run other things alongside:
| Combination | RAM Needed |
|---|---|
| TeamSpeak + small website | 1GB |
| TeamSpeak + game server | 4-8GB |
| TeamSpeak + Mumble + Discord bot | 1GB |
| TeamSpeak + file server | 2GB |
TeamSpeak vs Mumble vs Discord
| Feature | TeamSpeak | Mumble | Discord (self-hosted bot) |
|---|---|---|---|
| Self-hosted | Yes | Yes | Bot only |
| Audio quality | Excellent | Excellent | Good |
| Latency | Lowest | Very low | Variable |
| Slots | License-dependent | Unlimited | N/A |
| Privacy | Complete | Complete | Discord's servers |
| Cost | Free (up to 32 slots) | Free | Free |
| Plugins | Yes | Yes | Via bot |
| Mobile app | Yes | Third-party | Yes |
For gaming communities, TeamSpeak on a VPS provides the best latency and full control.
A Netherlands-based Space-Node VPS gives sub-30ms latency to most European users, ideal for voice communication. Even the smallest VPS plan handles 50+ voice users easily.
