۵۰٪ تخفیف روی همه پلان‌ها، محدود. شروع از $2.48/mo
12 min left
Gaming & Media

How to Set Up a TeamSpeak Server on Linux (Ubuntu/Debian/Rocky)

Nick Silver By Nick Silver 12 min read Updated Oct 7, 2025
Ultrareal subway strip map in glass, five stations in order with small stops titled: UBUNTU 24.04 → SYSTEMD → UFW/FIREWALLD → SRV; placed in a way that mimics a subway map; a tiny VPS icon at the terminus.

If you want private, low-latency voice with full control, you can set up a TeamSpeak server on Linux in minutes. This guide focuses on current LTS distros, a clean systemd service, and small but important security checks. You will start it as a dedicated user, open the right ports, claim the privilege key, and keep it running on boot. If you are on Windows, you can learn about installing a TeamSpeak server on a Windows Server in another one of our posts.

Prereqs: OS, Ports, and Access

Ultrareal micro-ATX motherboard floats center; three slim glass tiles orbit like satellites engraved UBUNTU 24.04, DEBIAN 12, ROCKY 9. A side rail of hex-tabs clicks in: UDP 9987, TCP 30033, TCP 10011.

Before you install anything, confirm the basics. A VPS or dedicated machine makes life easier, since residential ISPs often sit behind carrier-grade NAT (CGNAT) that blocks inbound traffic. Use an LTS image and a non-root user with sudo. You can set up a TeamSpeak server on Linux on Ubuntu 24.04 LTS, Debian 12, or Rocky/Alma 9; the steps are the same with small firewall changes.

You will need to allow the core ports. Voice runs on UDP 9987, file transfer is TCP 30033, and ServerQuery is TCP 10011. If you plan to use TSDNS, add TCP 41144, and for the legacy weblist, you may see UDP 2010 outbound. TeamSpeak documents SRV records so that you can map names to the correct target and port. For reference, see the official TeamSpeak Downloads page and port info to confirm current defaults:

If you host at home and your public IP belongs to CGNAT, outside users will not reach you, even with router port forwarding. Moving the service to a VPS avoids that roadblock and gives you a fixed IPv4. With the network picture clear, you can fetch the server files and prepare the service.

Download and Prepare the Server

Ultrareal terminal window on a glass slate shows three engraved beats in big caps: DNF / APT, CURL+TAR, FIRST RUN. Beneath it, a slim directory strip: /opt/TeamSpeak and chown. A micro badge reads x86_64.

You will download the current 64-bit server, create a dedicated TeamSpeak user, accept the license, and do a one-time start to obtain the privilege key. These commands work across Ubuntu, Debian, and Rocky-based images.

  1. First, install archive helpers if needed, then add the user and directories:
  • Ubuntu / Debian:
sudo apt update
sudo apt install -y bzip2 tar curl
  • Rocky / Alma:
sudo dnf install -y bzip2 tar curl

 

  1. Create the runtime user and folders:
sudo useradd -r -m -d /opt/TeamSpeak -s /usr/sbin/nologin TeamSpeak
sudo mkdir -p /opt/TeamSpeak
sudo chown -R TeamSpeak:TeamSpeak /opt/TeamSpeak

 

  1. Next, download the latest release and unpack it into /opt/TeamSpeak. The upstream server is 3.13.7 for Linux x86_64 as of this writing. Always check the official download page for updates and hashes.
cd /tmp
curl -LO https://files.TeamSpeak-services.com/releases/server/3.13.7/TeamSpeak3-server_linux_amd64-3.13.7.tar.bz2
tar xvjf TeamSpeak3-server_linux_amd64-3.13.7.tar.bz2
sudo rsync -a TeamSpeak3-server_linux_amd64/ /opt/TeamSpeak/
sudo chown -R TeamSpeak:TeamSpeak /opt/TeamSpeak

 

  1. Accept the license with a file or environment variable. The simplest method on a VM is a small marker file in the TeamSpeak home, then a first run under the TeamSpeak account to generate the admin token.
sudo -u TeamSpeak touch /opt/TeamSpeak/.ts3server_license_accepted
sudo -u TeamSpeak /opt/TeamSpeak/ts3server_minimal_runscript.sh

 

  1. Watch the terminal output and write down the “token” line. This key lets you claim admin in the client. Stop the process with Ctrl+C. With binaries in place and the token saved, convert it into a managed service.

 

A single, clean layout works across distros, so you can set up a TeamSpeak server on Linux once and reuse the playbook for future nodes.

Make it a Service with systemd

Ultrareal 1U server front (fine brushed metal, lit power LED) floats before three thin glass panes forming a pipeline.

A proper unit gives you start, stop, restart, logs, and auto start at boot. Create a minimal systemd service that points to the installed folder and runs as the unprivileged user. The TeamSpeak community documents Linux service units in depth.

  1. Create the unit file:
sudo tee /etc/systemd/system/TeamSpeak.service >/dev/null << 'EOF'
[Unit]
Description=TeamSpeak 3 Server
Wants=network-online.target
After=network.target
[Service]
WorkingDirectory=/opt/TeamSpeak
User=TeamSpeak
Type=forking
PIDFile=/opt/TeamSpeak/ts3server.pid
ExecStart=/opt/TeamSpeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/opt/TeamSpeak/ts3server_startscript.sh stop
ExecReload=/opt/TeamSpeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
EOF

 

  1. Reload systemd and enable the service:
sudo systemctl daemon-reload
sudo systemctl enable --now TeamSpeak

 

  1. Check the service and capture the token again if needed:
sudo systemctl status TeamSpeak --no-pager
journalctl -u TeamSpeak -n 50 --no-pager

 

Now that the service is running, open the necessary ports so clients can reach the voice, query, and file transfer endpoints. Once the server is under systemd, you can install a TeamSpeak server on Linux on any VPS and count on auto-restart after reboots or crashes.

Open the Firewall, UFW, or firewalld

Ultrareal glass door firewall; twin handles UFW and FIREWALLD. Doorframe studs light up with: 9987/UDP, 30033/TCP, 10011/TCP, 41144, 2010 OUT; lintel ticks: IPv6, RELOAD, CONNECT.

Open the voice, file transfer, and query ports. On Ubuntu, you will likely use UFW. On Rocky or Alma, the default is firewalld.

UFW example:

sudo ufw allow 9987/udp comment "TeamSpeak voice"
sudo ufw allow 30033/tcp comment "TeamSpeak file transfer"
sudo ufw allow 10011/tcp comment "TeamSpeak ServerQuery"
sudo ufw reload

 

firewalld example:

sudo firewall-cmd --permanent --add-port=9987/udp
sudo firewall-cmd --permanent --add-port=30033/tcp
sudo firewall-cmd --permanent --add-port=10011/tcp
sudo firewall-cmd --reload

 

If you plan to use TSDNS, add 41144/tcp. If you publish your server in the legacy weblist, allow 2010/udp outbound.

IPv6 note: repeat rules for IPv6 if your host has it; the client can reach you over v4 or v6. With network rules in place, connect from the client and claim admin.

Connect and Claim Admin

Ultrareal laptop screen split into three slim glass panes: CONNECT above an IP input line; PASSWORD handled by a small glass keypad (PIN dots animate as you tap); a lit CHANNEL tile shows a subtle voice waveform.

Open the TeamSpeak client on your desktop, connect to your server IP or domain, and when prompted, paste the privilege key from the first run. Set a server password and confirm you can join a channel and speak normally. You can later regenerate a key if needed by revisiting the logs or creating a new token in the permissions interface.

If you prefer a desktop on the VM for one-off configuration, you can add XRDP to reach a graphical session from Windows. For a step-by-step GUI setup inside Ubuntu, follow our blog guide to install xRDP on Ubuntu

With admin rights confirmed, note the ports you opened and what each one handles. That first login completes your setup of a TeamSpeak server on Linux.

Default TeamSpeak Ports and Purpose

Here is a quick reference table for the defaults. You can change these in configuration, but most setups keep them as written.

Port Proto Purpose
9987 UDP Voice traffic for channels
30033 TCP File transfer service
10011 TCP ServerQuery interface
41144 TCP TSDNS helper, optional
2010 UDP Legacy public server list, out

TeamSpeak’s port info and SRV guidance confirm these defaults. Once ports are solid, the fastest wins come from quick fixes for common connection problems.

Troubleshooting: Can’t Connect, Token Missing, CGNAT

Ultrareal logbook (micro-printed paper) under a glass magnifier highlighting token; beside it, a service unit card etched PID and WORKDIR. Background rack strip shows UDP 9987 and 30033/TCP.

Use a short runbook so you can go straight from symptom to action. These checks apply regardless of distro as long as you set up a TeamSpeak server on Linux with systemd. Many fixes are the same across any TeamSpeak Linux server install.

  • Client times out from the internet, but local LAN works: Verify that UDP 9987 is open on the server firewall and forwarded on any upstream router. Check logs for “listening on 0.0.0.0:9987” to confirm the voice socket.
  • Outside users cannot connect, even with forwarding: Check if your ISP assigns a 100.64.0.0/10 address to your WAN. That hints at CGNAT. Hosting on a VPS avoids that block and keeps a static IPv4 that maps cleanly to clients.
  • Privilege key lost: Read service logs and search for “token” or restart once to generate a fresh key. Capture it in your password manager.
  • Service fails to start: Recheck WorkingDirectory, User, and paths in your unit. A mismatch prevents the PID file from being written. The example shown earlier is a stable baseline.
  • File uploads fail: Open TCP 30033 and confirm the file transfer port has not been altered in configuration. The client learns this value during the voice handshake.

 

Now that you’ve got the basics healthy, add a domain so users connect by name rather than an IP and port.

Optional: Domain and SRV or TSDNS

You can map a friendly name to your voice endpoint with a DNS SRV record. Create an A record for the target, then add an SRV entry like this:

_ts3._udp.play.example.com. 3600 IN SRV 0 5 9987 ts.example.com.

 

Clients will resolve the SRV and connect without needing a port in the address. TeamSpeak also supports a TSDNS service on 41144/tcp for custom name mappings. Both methods are documented by the vendor in the port info article linked earlier.

If you prefer not to manage DNS, you can still give users an easy path by sharing a direct link such as:

ts3server://host.example.com

 

After naming is done, lock in a few small security and maintenance habits so the service stays stable.

Security and Maintenance

Secure the admin path and protect data at rest. These practices add a few minutes today and save hours later.

  • Admin surface: Set a strong server password and review who has ServerQuery access. Use named logins.
  • Encryption: Enable channel voice encryption globally if your CPU budget allows. Start with the most sensitive channels.
  • Backups: Back up ts3server.sqlitedb or your external database and copy ts3server.ini. Save the unit file and any firewall rules.
  • Least privilege: Keep the systemd unit on the dedicated TeamSpeak user. Do not run the binary as root.
  • Updates: Apply distro updates on a schedule and restart the service after a kernel change. Test connectivity after each change.

With fundamentals covered, pick a sensible starting size so the service stays smooth for your group.

Selection Advice: Hosting, Distro, and Size

If your only goal is a quick voice for friends, you can set up a TeamSpeak server on Linux on a tiny VM and keep costs low. Bigger groups gain from better networks and more RAM for file transfer. Use this quick matrix to pick a starting point, then adjust after a week of real traffic.

  • Home lab on CGNAT: Do not fight port forwarding. Move the service to a VPS with public IPv4, then publish DNS. This is the fastest way to install a TeamSpeak server on Linux for outside access.
  • Gaming clan with weekend peaks: Start with 2 vCPU and 2 GB RAM, then watch CPU idle and packet loss. Upgrade once the voice stays near saturation during busy hours.
  • University club: Prefer Ubuntu 24.04 LTS and UFW rules. Campus networks often have IPv6, so test inbound IPv6 after you open ports.
  • Esports team, match days: Use a VPS near the game region and record a baseline. If recordings or heavy file uploads matter, add storage and bump RAM to 4 GB.
  • Mixed modding group: Keep ServerQuery locked down, add channel passwords, and schedule weekly backups. This keeps a busy TeamSpeak server Linux install predictable.

 

Start simple and iterate.  Having chosen a shape, you should know that GUI access on a VM can speed up early configuration, so read the next section for hosted options and a desktop path.

Hosting & Remote Admin

Run TeamSpeak on a platform built for steady voice and clean routing. Our Linux VPS gives you a public IPv4, low-jitter regions, and root control in one place. You can start small, keep latency tight, and scale in minutes as your community grows.

What you get with Cloudzy’s Linux VPS:

  • Compute you can count on: modern vCPUs, consistent clock speeds, and dedicated RAM sized for real-time voice.
  • Storage that keeps up: NVMe or SSD storage for quick file transfers and fast log writes.
  • Network built for voice: 10 Gbps uplinks in core locations, anycast-grade routing, and active DDoS filtering that helps keep UDP 9987 steady.
  • OS images that match your playbook: Ubuntu 24.04 LTS, Debian 12, or Rocky 9, all ready for a clean systemd setup.
  • Access and control: full root, out-of-band console, rDNS, and firewall rules you can modify without tickets.
  • Lifecycle tools: snapshots before upgrades, quick restores, and simple plan resizing.
  • Global regions: with over 12 locations in over 3 continents, pick the closest data center to your players to cut round-trip time.
  • Support and uptime: 24×7 help from real engineers and a 99.95% uptime SLA.

 

If you want a desktop on top of your VPS for quick visual changes, deploy a Linux RDP server as a one-click app on your Linux VPS.

Final Thoughts

You just saw how to set up a TeamSpeak server on Linux with a simple, repeatable path. This approach keeps the setup predictable for future nodes or regions. Use an LTS distro, a dedicated user, and a proper systemd unit. Open the UDP and TCP ports that matter, claim the privilege key, and add SRV if you want a friendlier address. For a smoother path and a stable public IP, consider hosting on a Cloudzy Linux VPS so your server stays reachable day and night.

 

FAQ

Which ports do I need to open for a basic Linux TeamSpeak server?

Open UDP 9987 for voice, TCP 30033 for file transfer, and TCP 10011 for ServerQuery. If you use TSDNS, also open TCP 41144. These defaults cover most installs and match TeamSpeak’s port guidance.

Can I host a Linux TeamSpeak server behind carrier-grade NAT at home?

No. Users outside your ISP cannot initiate inbound sessions to your private address. You can test locally, but internet clients will fail. Use a VPS with a public IPv4 or ask the ISP to switch you off CGNAT.

How do I auto-start the TeamSpeak Linux server on boot?

Create the systemd unit, run systemctl enable TeamSpeak, and the service starts at boot and restarts on failure. Check status and logs with the commands shown earlier.

How do I recover the admin privilege key for my TeamSpeak Linux server?

Search recent logs for the “token” line with journalctl -u TeamSpeak | grep -i token, or generate a fresh token inside the client under permissions.

Is there a TeamSpeak 5 or 6 Linux server to download instead of TS3?

Public production servers use the TS3 server builds. Keep using the 3.13.x server and watch the official downloads page for any updates.

Share

More from the blog

Keep reading.

“Best Plex Alternatives” hero with Jellyfin, Emby, Stremio, and Kodi tiles, a quick guide to plex alternatives.
Gaming & Media

Best Plex Alternatives for Self-Hosting Media Servers: Quick Answer + Detailed Breakdown

If you want the answer, Jellyfin is the best Plex alternative for most people who actually want to self-host their media long term. Emby is the better fit if you want a more polish

Nick SilverNick Silver 14 min read
How to Create a Minecraft Server Backup?
Gaming & Media

How to Create a Minecraft Server Backup?

Running a Minecraft server without a backup is risky. Sooner or later, something breaks. Worlds corrupt, mods clash, plugins misbehave, or unexpected errors bring the server down a

Ivy JohnsonIvy Johnson 10 min read
A glowing portal stands on the right, revealing a castle and floating islands. The text "Best Minecraft Modpacks" appears boldly on the dark left side next to the Cloudzy logo.
Gaming & Media

Best Minecraft Modpacks to Play in 2026

Vanilla Minecraft gets stale after hundreds of hours. You&#8217;ve beaten the Ender Dragon, built farms, and explored biomes. What&#8217;s next? Modpacks fix this by bundling mods

Rexa CyrusRexa Cyrus 13 min read

Ready to deploy? از ۲٫۴۸ دلار در ماه.

Independent cloud, since 2008. AMD EPYC, NVMe, 40 Gbps. 14-day money-back.