TeamSpeak Updated April 26, 2026

How to Use the TeamSpeak ServerQuery Interface

ServerQuery is TS3's text-based remote admin interface. Connect via telnet, run commands to manage your server programmatically, power bots, and automate tasks — all without opening the TS3 client.

TeamSpeakServerQueryAdministrationAutomationBotsAPI

What Is ServerQuery

ServerQuery is TeamSpeak 3's built-in remote administration interface. It's a text-based protocol — similar to a raw telnet session — that lets you manage your server programmatically. Every action you can take in the TS3 client GUI, you can do via ServerQuery commands.

It's how music bots like SinusBot connect, how web panels like YaTQA work, and how monitoring scripts pull stats from your server.

Connecting

ServerQuery listens on TCP port 10011 by default. Connect with any telnet client:

telnet your.server.ip 10011

On Windows, if telnet isn't enabled, use PuTTY in "Raw" mode, or a tool like YaTQA which wraps the interface in a GUI.

You'll see a welcome banner like this when you connect:

TS3
Welcome to the TeamSpeak 3 ServerQuery interface...

Basic Session

A typical session looks like this:

login client_login_name=YourUser client_login_password=YourPass
use sid=1
serverinfo
clientlist
quit

Breaking that down:

  • login — authenticate with your ServerQuery credentials
  • use sid=1 — select virtual server 1 (most servers only have one)
  • serverinfo — returns server name, uptime, client count, etc.
  • clientlist — returns all currently connected clients with their IDs
  • quit — close the connection cleanly

Response lines are pipe-delimited key=value pairs. Errors return error id=0 msg=ok on success or a non-zero error ID on failure.

Creating a ServerQuery Login

You need a login before you can do anything useful. In your TS3 client (connected as Server Admin):

  1. Go to Tools → ServerQuery Login
  2. Enter a username
  3. Click OK — save the generated password immediately, it's shown once

Useful Commands

serverinfo                              — server details and stats
clientlist                              — list connected clients
channellist                             — list all channels
clientkick clid=5 reasonid=5 reasonmsg=AFK
                                        — kick client ID 5
banadd cldbid=12 bantime=0 banreason=Cheating
                                        — permanent ban by client DB ID
banlist                                 — list all active bans
bandel banid=3                          — delete ban entry ID 3
sendtextmessage targetmode=3 msg=Server\sis\srestarting\sin\s5\sminutes
                                        — send a server-wide message
clientmove clid=5 cid=10               — move client to channel ID 10
servergroupaddclient sgid=8 cldbid=12  — add client to server group

Note: spaces in values must be escaped as \s in the ServerQuery protocol.

Security — This Part Matters

Port 10011 should never be publicly accessible. Anyone who can reach that port and brute-force or guess credentials has full control of your server. On DustBowl.Games managed servers, ServerQuery access is restricted by firewall — you access it through your control panel or a whitelisted IP.

Never use serveradmin for bots or scripts. The serveradmin account has unrestricted access including the ability to delete virtual servers, modify licensing, and nuke your entire setup. Create a dedicated low-privilege query login for each bot or script.

One login per use case. If you're running SinusBot and a custom monitoring script, create two separate query logins. If one gets compromised, you revoke just that one.

Tools That Use ServerQuery

  • SinusBot — music bot, connects via query to stream audio
  • YaTQA — Windows GUI tool for managing TS3 via ServerQuery
  • TS3AudioBot — open source audio bot alternative to SinusBot
  • ts3bot — Python-based bot framework
  • Custom scripts — anything you write in Python, Node, PHP, etc.