TeamSpeak3 Server on Debian 6+

There are lots of choices when it comes to VoiP software, I chose TeamSpeak because it was the first one I've ever used. Switched to Skype later on, but when Microsoft acquired it I wasn't really happy about my privacy as they let agencies listen on people's calls and quite intrusive adds started popping up, so I decided to build my own TeamSpeak server, which turns out to be extremely easy. Just download, extract and run. Though I'm still going to put installation details on paper, well, the internet in this case.

Server Setup

Start with creating a user:

You want to run the server under teamspeak user for security reasons. Switch to newly created user:

Visit TeamSpeak official site and download server tarball, copy over scp or WinSCP, or copy link address and use wget:

It outputs some private keys. Use them to identify yourself as server administrator, when connecting to your server for the first time via TeamSpeak client. If you lose the token, you can find it in one of the log files, in this case ~/ts3/logs directory.

System Service Script

Switch to root and create a new file:

Don't forget to check all the variables in the following script before running it, if you chose different username or paths. If you're using PuTTy to connect to your Linux box, right click on the open window to paste content.

Save and exit (Ctrl+X). Now just set proper permissions:

Install the service:

If you're running Debian Lenny or older (or other distros) use the following command instead of insserv:

This pretty much covers it. Server configuration itself is done via TeamSpeak client.

Disable Weblist

If you haven't setup server password and don't want to be listed on public servers' list, you can disable that in just few steps. Firstly, create ServerQuery user by going to Tools -> ServerQuery Login. Enter your username, click 'OK', write down the password. Now, open up PuTTY, enter your server's IP address, set port to 10010 and choose Telnet 'Connection Type'. Enter the following when connected:

Ignore all the 'error id=0 msg=ok' messages, it's just a confirmation that the command was succesful.