Update: I don’t bother using teamspeak 3 anymore. I prefer Mumble now. I’ll leave this tutorial up, however, because I’m sure there are those who still for whatever masochistic reason prefer teamspeak, or at the very least want documented proof of why teamspeak 3 is such a pain in the ass.
Update 2: man how time flies. Somewhere in 2016 (October 25 if my dokuwiki is to be believed), I discovered the awesomeness that is Discord. Never become complacent - always take a look at what else is out there, and stay ahead of the curve. Godspeed, nerds.
This tutorial focuses on getting the server to run, and giving you access to change anything you want about it. This is where it ends, because I’m not very clear on how to change things about the server aside from channels. Teamspeak 3 isn’t very intuitive with regards to changing parts of your server, and if I can’t make sense of it there’s no way I’ll be able to explain it in a way that’ll make sense to you.
Also note: I’ve heard some say the best practice is to make a separate user for the teamspeak server to run off of. That sounds like a great idea, but I’m too impatient to jump through hoops like that, so I’ll focus on getting the server onto your machine, running it, getting serverquery, and setting your machine up to always start teamspeak when it boots up.
Before you even get started, here are the ports you need to open on your router: 9987, 10011, 30033, 2010, 41144. Read up on how to forward ports from google; it’s not very hard. Just google “how to port forward” and you should find enough detail within the first couple of links to get the job done.
First, download the teamspeak server from this site. Make sure you choose Linux >> Server. The x86 is for the 32-bit server, and the amd64 is for 64-bit computers. And don’t worry… despite the ‘amd’ acronym in it, you don’t have to have an amd processor to run it.
This will download as a .tar.gz file. I’m not sure what the actual filename is, and more than likely they’ve appended the current version number onto its name, so for now we’ll assume it’s called: ts3_server.tar.gz
extract everything:
1 | tar -C teamspeak -zxvf ts3_server.tar.gz |
This will extract everything into a directory called teamspeak. Inside this directory is a ts3server_startscript.sh. Run this script:
1 | sudo teamspeak/ts3server_startscript.sh start |
This will display some information to you:
- a user name
- a password
- a long sequence of characters and numbers (privilege key)
Keep that information handy, and pat yourself on the back. Your teamspeak server should be running now, and if you want to test, open a teamspeak client and connect to it. You already forwarded the 9987 port to get to it, so typing in that computer’s ip address to connect should be all you need to do for the hostname. Also, once connected, go to permissions >> use privilege key and paste in that big long sequence of characters and numbers you copied earlier.
There are but two other things to do here in ubuntu-land: set up the auto-start every time the machine reboots, and set up serverquery.
We’ll do this using crontab. If you don’t have it, download it:
1 | sudo apt-get install crontab |
This part’s really easy.
1 | sudo crontab -e |
At the bottom, add this line:
1 | @reboot /path/to/teamspeak/ts3server_startscript.sh start |
Save and close crontab.
last step:
1 | telnet localhost:10011 |
This will bring up the serverquery dialog. For here, you’ll need that user name and password from before.
If your username was “bob” and your given password was “12345”, then type this into the console:
1 | login bob 12345 |
Next:
1 | use 1 |
I guess this tells it to only work with the one and only server you’ve got running… I don’t know.
But, you’re done now, so type:
1 | quit |
Now when you log into teamspeak, you should see the red serverquery icon in your additional settings.
And that’s as far as my teamspeak 3 knowledge goes. I don’t know how all the serverquery stuff works, and again, to be honest, I don’t think any of it’s plainly obvious to understand. It feels like every server is designed around the idea that every person running one will have 500 people on them, and each subset will need lots of control…
The whole thing’s way more complicated than it needs to be. I should be able to just start a server, add myself as the admin, and be done. The teamspeak client is really nice, and has many addons and functionality I find intuitive and easy to use. Its lack of sound delay is also really nice. But, managing a teamspeak server is a damn nightmare, and I hope they simplify it soon.