TeamSpeak 3 ServerQuery Benutzung

    • Official Post

    Hallo!


    Viele Fragen sich, was dieses "ServerQuery" bei TeamSpeak überhaupt ist und wie man es benutzen kann, daher gibt es hier mal eine kleine Einführung in die Thematik.


    Der ServerQuery ist ein von TeamSpeak bereits integriertes Kommandozeilen-Basiertes Tool bzw. Feature zur Administration von TeamSpeak 3 Servern.


    Hiermit kann man all die Administrationsaufgaben erledigen, die man auch mit dem TeamSpeak Client als "Server Admin" erledigen kann. Der ServerQuery hat jedoch bedeutend mehr Rechte und kann somit auch höhere Werte als 70 einstellen und sieht ein paar Rechte mehr. Er ist ebenfalls dazu befähigt, ein paar TeamSpeak 3 Server Instanz-Rechte zu ändern. Zum Beispiel darf er die Anti-DoS Funktion vom TeamSpeak 3 Server aktivieren und deaktivieren. TeamSpeak liefert standardmäßig auch sogenannte ServerGruppen-Templates mit, welche nur der ServerQuery sehen kann. Ein ServerAdmin sieht diese gar nicht. Der Vorteil der Templates ist der, dass man diese nur einmal konfigurieren muss und dann immer wieder als neue Gruppe "kopieren" kann, da sie global für alle virtuellen Server zur Verfügung stehen.


    Und wie benutze ich so einen ServerQuery jetzt?!


    Es gibt drei Wege, um einen ServerQuery zu benutzen:

    • Telnet (Putty oder Linux Kommandozeile)
    • Webinterface (zu finden bei http://addons.teamspeak.com/)
    • Software (z.B. YatQA - ebenfalls bei addons.teamspeak.com zu finden)


    Telnet
    Du kannst eine "telnet" Verbindung zu deinem TeamSpeak 3 Server aufbauen. Hierzu folgst du einfach den nachfolgenden Schritten:

    • Windows

      • Putty downloaden: http://www.putty.org/
      • Putty öffnen/starten
      • Hostname (or IP Address): Deine TeamSpeak 3 Server IP-Adresse
      • Connection Type: Telnet
      • Port: 10011 (default)
      • Zum Verbinden drückst du auf den Knopf "Open"
      • Wenn alles erfolgreich war, solltest du folgenden Text sehen:

        Quote

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


      • Nun loggst du dich ein:

        Code
        login <serverquery benutzername> <serverquery passwort>


        Zum Beispiel so:

        Quote

        login serveradmin extremGeheimes$Passwort2013


        War dies erfolgreich, meldet dies die Verbindung zurück:

        Quote

        error id=0 msg=ok


      • Jetzt kannst du sämtliche Befehle von der "help"-Liste sehen und benutzen:

        Code
        helpTeamSpeak 3 Server :: ServerQuery(c) TeamSpeak Systems GmbHServerQuery is a command-line interface built into the TeamSpeak 3 Server whichallows powerful scripting and automation tools to be built based on the exactsame instruction set and functionality provided by the TeamSpeak 3 Client. Forexample, you can use scripts to automate the management of virtual servers ornightly backups. In short, you can perform operations more efficiently by usingServerQuery scripts than you can by using a user interface.Command Overview:   help                        | read help files   login                       | authenticate with the server   logout                      | deselect virtual server and log out   quit                        | close connection   use                         | select virtual server   banadd                      | create a ban rule   banclient                   | ban a client...



    • Linux

      • Öffne einen Terminal
      • Tippe folgenden Befehl ein, um dich mit deinen TeamSpeak 3 Server zu verbinden:

        Code
        telnet <host> <serverquery port>


        Zum Beispiel so:

        Code
        telnet 127.0.0.1 10011


      • Wenn es funktioniert, solltest du sowas hier sehen:

        Quote

        Trying 127.0.0.1...
        Connected to localhost.
        Escape character is '^]'.
        TS3
        Welcome to the TeamSpeak 3 ServerQuery interface, type "help" for a list of commands and "help <command>" for information on a specific command.


      • Jetzt loggst du dich ein:

        Code
        login <serverquery benutzername> <serverquery passwort>


        Zum Beispiel:

        Code
        login serveradmin extrem$GeheimesPasswort2013


        Wenn alles korrekt war, meldet dir dies der Server:

        Quote

        error id=0 msg=ok


      • Jetzt kannst du alle Befehle aus der "help"-Liste sehen und benutzen:

        Code
        helpTeamSpeak 3 Server :: ServerQuery(c) TeamSpeak Systems GmbHServerQuery is a command-line interface built into the TeamSpeak 3 Server whichallows powerful scripting and automation tools to be built based on the exactsame instruction set and functionality provided by the TeamSpeak 3 Client. Forexample, you can use scripts to automate the management of virtual servers ornightly backups. In short, you can perform operations more efficiently by usingServerQuery scripts than you can by using a user interface.Command Overview:   help                        | read help files   login                       | authenticate with the server   logout                      | deselect virtual server and log out   quit                        | close connection   use                         | select virtual server   banadd                      | create a ban rule   banclient                   | ban a client...




    Zu den Befehlen: Solltest du mal nicht wissen, wie du einen Befehl benutzen musst, gibt es die Hilfe "Seite" dazu. Gib hierfür einfach "help <Befehlsname>" ein. Zum Beispiel so:


    Webinterface
    Es gibt grafische Benutzerinterfaces, wo du durch Klicken teilweise bis alle Befehle ausführen kannst. Das ist sehr praktisch, wenn du dich nicht mit Kommandozeilen basierten Ausgaben befassen willst oder kannst. ;)


    Das Webinterface führt dann im Hintergrund den jeweiligen Befehl hierzu aus.


    Der negative Aspekt daran ist jedoch der, dass du einen Webserver mit einem PHP-Modul für das Webinterface benötigst.


    Ich persönliche benutze zwei verschiedene Webinterfaces:

    • Für den Computer: Psychokiller's Webinterface
    • Für mobile Endgeräte wie zum Beispiel das Smartphone oder Tablet: TS3 WebApp (von mir selbst)


    Warum zwei verschiedene? Ganz einfach: Das Webinterface für den Computer ist extrem langsam an einem Smartphone, da viele Bilder und Co. von der Webseite geladen werden. Meine "TS3 WebApp" hingegen habe ich so entwickelt, dass so wenig wie möglich geladen wird. Das hat den Vorteil, dass die Webseite bedeutend schneller geladen wird. Die TS3 WebApp hat zudem ein angepasstes Layout, sodass man nicht wie ein blöder dauernd reinzoomen muss, um etwas zu erkennen und zu treffen. ;)


    Software
    Das ist eine normale Software, wie der TeamSpeak Client, welche eben installiert werden muss - oder auch nicht. Man kann sich dann einfach durchklicken und braucht keinen extra Webserver hierfür.

  • Hallo Sebbo,


    vielen Dank für das Tutorial. Ich werde mir die ServerQuery mal ansehen, sieht sehr praktisch aus. Eine Anmerkung hätte ich allerdings:
    Telnet ist aus Sicherheitsgründen nicht empfehlenswert (Übertragung von Eingaben und Daten im Klartext). Über SSH müsste man doch auch auf den Server zugreifen können, oder?


    Grüße


    Yannik

    • Official Post

    Telnet ist aus Sicherheitsgründen nicht empfehlenswert (Übertragung von Eingaben und Daten im Klartext).


    Das ist korrekt, ja. Leider kann man diese ServerQuery Schnittstelle nur mittels telnet ansprechen und wenn man nicht gerade der Admin vom darunter liegenden Host-System ist, gibt es eben nur diese Möglichkeiten:

    • Webinterface
    • Telnet

    Über SSH müsste man doch auch auf den Server zugreifen können, oder?


    Jein. Du greifst per SSH auf dein Linux System zu und dann öffnest du von dort aus per telnet die Verbindung zur ServerQuery Schnittstelle. So oder so brauchst du also telnet, wenn du nicht gerade eine PHP-Schnittstelle verwendest.

  • Eine kleine Anmerkung zu @Sebbo und seinem SSH-Vorschlag.


    Es wäre auch möglich, per SSH eine Port-Weiterleitung einzurichten, und dann Lokal mit Telnet zu arbeiten, aber ja, es ist immer Telnet nötig.