snork.ca: Welcome to the brown age of computing! Mainly Sunny, 21.2°C [H: 27°C] - No precip

Regain Admin Access To TeamSpeak 3

2012-02-05
tslogo TeakSpeak logo nabbed from aspnix.com.

In Teamspeak 2, users were required to log in to their own account on each Teamspeak server. The account would determine what kind of admin rights you might have. In Teamspeak 3, your client application generates a unique ID and each server assigns (or doesn't assign) admin rights to your ID. This means that when you first connect to your new server and give yourself admin privilege, it would be a good idea to save the unique ID so you don't lose your admin access. Well... I was lazy and I didn't bother to save my unique ID the last dozen times I reinstalled my OS, so I lost admin priv on my server.

I did however write down the serveradmin password that was given to me at install time, so I was able to get it back! Seriously, if you didn't write down the admin password, you're reinstalling. Here's what I had to do:

  1. Get the serveradmin password from install time (seriously, if you do not have it you are reinstalling). This is an account that should have been created when you installed the application and it only shows you the password once.
  2. Telnet in to your Teamspeak server. By default, your Teamspeak server listens on port 10011 for "serverquery connections". This is a way to give your server very cryptic yet powerful commands to examine and manage the server. Open up a command prompt and type:

    telnet servername 10011

    This should give you a prompt that looks something like this:

    TS3
    Welcome to the TeamSpeak 3 ServerQuery interface, type "help" for a list of comm
    ands and "help " for information on a specific command.

  3. This prompt is not very user friendly and the return codes are ridiculous, but you gotta use it if you want to get back in. So you type in something like this:

    login client_login_name=serveradmin client_login_password=XXXXXXXX

    the server should reply with:

    error id=0 msg=ok

    ... like I said, the interface isn't terribly user friendly, but as long as you got "error id=0" you should be all good.
  4. I am assuming that you only have one virtual server setup on this box, so you can select it by typing:

    use 1

    If you have multiple virtual servers you can use "serverlist" to see which one you want to connect to.
  5. Now that you are connected to your server, you can see any existing tokens with

    tokenlist

    but you may get back a reply saying:

    error id=1281 msg=database\sempty\sresult\sset

    which simply means that you don't have any tokens right now. You can generate a new key with:

    tokenadd tokentype=0 tokenid1=6 tokenid2=0

    You should get a reply showing:

    token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    error id=0 msg=ok

  6. Now, have your Teamspeak client open and connected to your server. Click on "Permissions" in the menu and select "Use Privilege Key"
  7. Paste in your token from above and you are admin again
  8. Now export your identity by going to "Settings" -> "Identities" -> "Export"
Made with Notepad++ & FastStone, without javascript, cookies, or the help of Clippy or ai. Hosted on Devuan with nginx & powered by NK shrooms.