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

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

Feature Image 2025 10 05T213207.323

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

Feature Image 2025 10 05T215130.178

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

Feature Image 2025 10 05T222501.074

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 10 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

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.
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.
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.
Search recent logs for the “token” line with journalctl -u TeamSpeak | grep -i token, or generate a fresh token inside the client under permissions.
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 :

59 Responses

  1. It’s like you read my mind! You appear to know so much about the TeamSpeak server, like
    you wrote the book in it or something.

  2. Thanks for your thorough article. I am not using teamspeak server right now but when I do I will definitely use your article to set it up on my OS

  3. You’re so interesting! I don’t think I’ve truly read a single thing like that before.
    So good to discover another person with unique thoughts on this subject.
    Really.. many thanks for starting this up. This web
    site is one thing that’s needed on the web, someone with some originality!

  4. Hi there everyone, it’s my first visit at this web site,
    and article is in fact fruitful designed for me, keep up posting
    such posts.

    1. We sincerely appreciate your interest in this topic 💛 The subject of how to Setup TeamSpeak Server on Linux is quite wide; would you please tell us more specifically which section needs more explanation? Thanks 🍃

  5. Your way of telling all in this piece of writing
    is in fact good, all be able to without difficulty understand it, Thanks a lot.

  6. Hi! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good gains.

    If you know of any please share. Thanks!

  7. Hey there would you mind letting me know which
    web host you’re using? I’ve loaded your blog in 3 completely different web browsers
    and I must say this blog loads a lot quicker then most.
    Can you suggest a good internet hosting provider at a honest price?

    Cheers, I appreciate it!

    1. Hi, Thanks a million for your incredible comment; it really made our day🤩 We at RouterHosting use our own dedicated servers for web hosting, and if you buy cheap VPS from us, we guarantee you’ll have the same user experience and performance in the palm of your hand. ✅💯

  8. This is a topic that’s near to my heart… Best wishes!

    Exactly where are your contact details though?

    1. Thank you so much for taking your precious time to read our blog and the intoxicating comment. Cheers! 🤩💛

  9. Usually I don’t read article on blogs, however I would like to say that this write-up
    very pressured me to try and do so! Your writing taste
    has been surprised me. Thanks, quite great article.

  10. Greetings! Very useful advice in this particular post!
    It is the little changes that produce the greatest changes.
    Thanks a lot forr sharing!

  11. Thanks a bunch for sharing this with all folks you really
    realize what you’re speaking about! Bookmarked.
    Please also consulkt with my website =). We can hace a link
    exchange agreement betseen us

  12. I was examining some of your blog posts on this website and I believe this site is real
    informative! Keep on posting.

  13. hi!,I really like your writing so much! proportion we communicate more about your article on AOL?
    I need a specialist on this space to unravel my problem.
    May be that is you! Looking ahead to look you.

  14. Wow, incredible blog structure! How lengthy have you
    been blogging for? you make blogging glance easy. The entire look of
    your site is great, let alone the content![X-N-E-W-L-I-N-S-P-I-N-X]I
    simply could not leave your website before suggesting that I
    actually loved the standard info an individual supply for your
    guests? Is going to be back regularly to inspect new posts.

  15. I think this is among the most significant information for me.
    And i’m glad reading your article. But want to remark on few general things, The site style is wonderful, the articles is really
    great : D. Good job, cheers

  16. An outstanding share! I have just forwarded this onto a colleague who has been doing a
    little research on this. And he in fact ordered me lunch because
    I found it for him… lol. So let me reword this….
    Thank YOU for the meal!! But yeah, thanx for spending time to talk about this matter here on your
    site.

  17. Wonderful blog! Do you have any tips and hints for
    aspiring writers? I’m planning to start my own website soon but I’m a little lost on everything.
    Would you propose starting with a free platform like
    Wordpress or go for a paid option? There are so many options
    out there that I’m completely overwhelmed .. Any suggestions?
    Many thanks!

    1. Hi, Thank you so much for your incredible words about our blog 🌻💛
      We truly appreciate your passion for writing. If you have plans to become a novelist, Wattpad is perfect to start with! For writing blogs, WordPress and Medium are very powerful publishing tools.

  18. At this time it looks like BlogEngine is the best
    blogging platform out there right now. (from what I’ve read) Is that what
    you’re using on your blog?

    1. We sincerely appreciate your amazing comment and positive energy 💛🤩
      We’re so delighted to hear that you’ve found our blog interesting. Please visit our blogs more often to make our day with your comments. 🍃

  19. Hi there, just became aware of your blog through Google, and found
    that it’s really informative. How do I choose the best teamspeak server for my small business?

    1. For the simplest performance, you must seek for a server that’s nearest to your small business.
      Alternatively, if you’re trying to host your own server, please visit teamspeak website to download teamspeak server software system .

  20. I know this web page provides quality depending content and extra material. Are there any software like TeamSpeak for group calls ?

  21. I was examining some of your blog posts on this website and I believe this site is real
    informative! Keep on posting. Does teamspeak have its own server? Is it safe for daily meetings?

    1. Teamspeak is extremely well trusted, therefore in recent years it has taken quite an few users away. I’ve not detected of any security problems with either program, however that doesn’t mean they don’t exist.

    1. If the server’ on your own network, feel free. however if it’ hosted somewhere, then your DDOS could impact people exploitation an equivalent network path or alternative infrastructure. you’ll raise permission, but they’ll nearly actually say no – SPs are typically comfy with pentesting but no one fools around with DDOS testing

    1. The likelihood of being hacked is doubtful. although we have a tendency to assume that there are easy tools that enable you to easily “hack the server” and compromise everything on the server itself, the probability of turning into a target is not zero.

  22. Howdy! This blog post couldn?t be written any better!
    Looking through this post reminds me of my previous roommate!

    He always kept preaching about this. I am going to forward this information to him.
    Fairly certain he will have a good read. Thank you for sharing!

  23. Your mode of explaining the whole thing in this post is actually good, every one
    be able to easily be aware of it, Thanks a lot.

  24. Changing up the format will draw in different
    eyes and different varieties of guests.

  25. I feel that is among the so much important information for me.

    And i am glad reading your article. But should commentary
    on some general issues, The website taste is ideal, the articles is truly great : D.
    Good process, cheers

  26. Hi! I know this is kinda off topic nevertheless I’d figured I’d ask.
    Would you be interested in exchanging links or maybe
    guest writing a blog post or vice-versa? My site goes over a lot of the same topics as yours
    and I feel we could greatly benefit from each other. If
    you’re interested feel free to shoot me an email. I look
    forward to hearing from you! Awesome blog by the
    way!

  27. An interesting discussion is definitely worth comment.

    I believe that you should write more about this subject, it might not be a taboo matter but generally people don’t talk about such issues.
    To the next! All the best!!

  28. Russian energy giant Gazprom and the China National Petroleum Corporation (CNPC) have signed an agreement on additional gas shipments to China, the Russian company announced on Thursday.
    [url=https://kraken6gf6o4rxewycqwjgfchzgxyfeoj5xafqbfm4vgvyaig2vmxvyd.com ]kraken17.at [/url]
    The deal was struck during a meeting between Gazprom CEO Aleksey Miller and CNPC Chairman of the Board of Directors Dai Houliang on the sidelines of the Belt and Road Forum for International Cooperation in Beijing.

    “During the meeting, Gazprom and CNPC signed an additional agreement to the gas purchase and sale contract via the East Route for an additional volume of Russian gas supplies to China until the end of 2023,” Gazprom wrote on its Telegram channel.
    https://kraken3yvbvzmhytnrnuhsy772i6dfobofu652e27f5hx6y5cpj7rgyd.org
    kraken9.at

  29. I really like reading through an article that can make men and women think.
    Also, thank you for allowing for me to comment!

  30. Great breakdown of setting up a TeamSpeak server on Linux! One thing that might help some users is a quick troubleshooting section for common issues like firewall settings or permission errors. Have you found any specific roadblocks that users frequently run into during installation?

  31. This guide is perfect for anyone new to TeamSpeak and Linux. I especially appreciate how you’ve covered both Ubuntu and CentOS. For someone setting up a server for the first time, knowing the small differences between the two OSes can be a big help.

  32. Pretty! This was an incredibly wonderful post. Many tanks ffor suⲣplyіng these details.

  33. Hi there! This article could not be written any better!
    Going through this rtiсle remindѕ mme of my рrevious roommate!
    He сonstantly kept talkіng abߋuut this. I’ll forward this article
    to him. Pretty sure he will have a great read. Thank youu foг shaгing!

  34. Supeгb blog! Do you have any tips and hints for aspiring writers?
    I’m hoping to start my own site soon but
    I’m a little lost on everytһing. Would you propose starting with a free platform liike WordPress or
    go for a paid option? There are so many оptions out there tһat I’m comρⅼeteⅼy clnfuѕed ..
    Αny suggestions? Appreciate it!

  35. Wоnderful site you have here but I was wanting to ҝnow if you kneᴡ of any
    forums that cover tһe same topics talked about in this artіcⅼe?
    I’d really liuкe tߋ be ɑ part of group where I can gеt feedback from other
    кnowledgeable ppeople that share tthe same interest.
    If you һave any recommendatіons, please lеt me know.

    Cheers!

  36. Ӏ’m really loving the theme/design оf your blog. Do үou ever run into any internet browser compatibilitу іssues?
    A few օf my Ьlog audience һave complained
    about my site not wоrking correctly in Exрlorer bbut looks great inn Firefox.
    Do you have any suggestionss to help fix this issue?

  37. Thank you fоrr some other informative website.
    Where else may just I get tһat type of information written іn such a perfеct means?
    I’ve a venture that I am simply now operating on, and I have been at the glɑnce out for sᥙch information.

  38. It’ѕ remarkaЬle to go to see this web pаge and reading the views of
    ɑll mates on the topic of this piece off
    writіng, while I аm also keen ߋf getting knowledɡe.

  39. An interesting discussion is worth ϲomment. I think that yyou ougһt to write more about
    tһis subject, it may not be a taboօ mattrr but usually pe᧐ple don’t
    talҝ about these issues. To the next! Kind гegаrds!!

Leave a Reply

Your email address will not be published. Required fields are marked *