Variablen-Parameter in TeamSpeak 3

Dieses Dokument enthält eine Liste von Variablenparametern, die sich ändern lassen.

Inhaltsverzeichnis

Client-Variablen

Spalten:

Eigenschaft~list~infonotify~
enterview
~update~editDoku~dblist~dbinfo~dbedit
cid (Channel-ID)jajaja2
clid (vorzeichenlose 16-Bit-Zahl)jajaN/A
client_idle_time (in Sekunden)ja timesja
client_unique_identifierja uidjajaneinjaja
client_nicknamejajajajajajaja
client_versionja infojanein
client_platformja infojanein
client_input_mutedja voicejajajanein
client_output_mutedja voicejajajanein
client_outputonly_mutedjajanein
client_input_hardwareja voicejajajanein
client_output_hardwareja voicejajajanein
client_default_channeljaneinnein
client_meta_data (veraltet)jajaja
client_is_recordingja voicejajaja
client_version_sign (unbekannter 512-Bit-Base64-Hash)janein
client_security_hash (nur im SDK verwendet)janein
client_login_name (falls Query-Client)janeinnein
client_database_idjajajaneinja3jaN/A3
client_channel_group_idja groupsjajaneinnein
client_servergroups (durch Kommas getrennt)ja groupsjajanein
client_createdja timesjaneinjaja
client_lastconnectedja timesjaneinjaja
client_totalconnectionsjaneinjaja
client_awayja awayjajajanein
client_away_messageja awayjajajanein
client_typejajajanein
client_flag_avatar (kein Flag sondern MD5-Hash des Avatars)jajaja1neinneinja
client_talk_powerja voicejajaneinneinnein
client_talk_requestjajajanein
client_talk_request_msgjajajanein
client_descriptionjajajajajajajaja
client_is_talker (darf normal nicht reden, gerade aber schon)ja voicejajaneinjaja
client_month_bytes_uploadedjaneinja
client_month_bytes_downloadedjaneinja
client_total_bytes_uploadedjaneinja
client_total_bytes_downloadedjaneinja
client_is_priority_speaker (änderbar als Recht)ja voicejajaneinneinnein
client_unread_messagesjanein
client_nickname_phoneticjajajaneinnein
client_needed_serverquery_view_power (änderbar als Recht)jajaneinnein
client_default_tokenja
client_icon_id (vorzeichenbehaftet, änderbar als Recht)ja iconjajaneinneinja57
client_is_channel_commanderja voicejajajaneinja
client_country (Großbritannien ist UK)ja countryjajanein
client_channel_group_inherited_channel_idja groupsjaja
client_badges6ja badgesjajaja
client_base64HashClientUID (Avatar-Dateiname)jaja
connection_filetransfer_bandwidth_sentjanein
connection_filetransfer_bandwidth_receivedjanein
connection_packets_sent_totaljanein
connection_bytes_sent_totaljanein
connection_packets_received_totaljanein
connection_bytes_received_totaljanein
connection_bandwidth_sent_last_second_totaljanein
connection_bandwidth_sent_last_minute_totaljanein
connection_bandwidth_received_last_second_totaljanein
connection_bandwidth_received_last_minute_totaljanein
connection_connected_timeja
connection_client_ipjaneinja4ja4
client_flag_is_talking (redet gerade)ja voice

Es gibt noch clientgetnamefromdbid, der aber nur client_unique_identifier als cluid, client_database_id als cldbid und client_nickname als name zurückgibt und deshalb clientdbinfo unterlegen ist. clientgetnamefromuid gibt die gleiche Ausgabe und ist der Kombination aus clientdbfind (das, obgleich sinnlos, Wildcards auch für UIDs unterstützt) und clientdbinfo unterlegen.

Fußnoten:
1 = änderbar für Clients mit normaler UID (nicht änderbar für reine Query-Accounts) und muss nach dem Hochladen eines Avatars geändert werden, damit alle Clients diesen (erneut) herunterladen
2 = als ctid
3 = als cldbid
4 = als client_lastip (wird erst seit Serverversion 3.0.8 in der Datenbank gespeichert, obwohl der Parameter schon seit mindestens 3.0.0 leer zurückgegeben wird)
5 = in 3.2.0 entfernt, davor defekt da immer 0
6 = String mit den Parametern overwolf (zeitweise Overwolf) mit 0 oder 1 als Wert (getrennt durch Gleichzeichen) sowie badges mit einer Kette an Abzeichen-GUIDs (getrennt durch Gleichzeichen), getrennt durch Doppelpunkt (ganz früher \s oder Komma glaube ich)
7 = clientaddperm verwenden
N/A = nicht anwendbar (Parameter dient zur Identifikation)

In (Server-?)Versionen vor etwa 3.0.11 war es möglich, sich mit clientupdate zu muten (Mikrofon und Lautsprecher) und eine Aufnahme zu starten. Ersteres wurde im Client angezeigt, letzteres konnte man wunderbar zum Trollen nutzen, da der Sound abgespielt wurde, die meisten Leute aber niemanden sehen konnten. Wahrscheinlich wurde es auch genau deshalb entfernt. Man kann Leute aber immer noch durchs Anfordern von Talk-Power trollen (wenn man denn zu wenig Talkpower hat).

Channel-Variablen

Spalten:

Eigenschaft~list~infonotify~
created
notify~
edited
notify~
moved
~edit~move~createDoku
cidjaneinjajajaN/Anein
pid (Elternchannel)jajaja2ja2neinja2ja2ja2
channel_namejajajajajajaja
channel_topicja topicjajajajajaja
channel_descriptionjajajaja
channel_password6jajajaja
channel_codecja voicejajajajajaja
channel_codec_qualityja voicejajajajajaja
channel_maxclientsja limitsjajajajajaja
channel_maxfamilyclientsja limitsjajajajajaja
channel_orderjajajajaja3jaja3jaja
channel_flag_permanentja flagsjajajajajaja
channel_flag_semi_permanentja flagsjajajajajaja
channel_flag_temporaryexistiert überhaupt nichtja
channel_flag_defaultja flagsjajajajajaja
channel_flag_password1ja flagsjajajajajanein
channel_codec_latency_factorjajajajaja
channel_codec_is_unencryptedjajajajaja
channel_security_salt (nur im SDK verwendet)janeinnein1538
channel_delete_delayjajajaja5ja5
channel_flag_maxclients_unlimitedjajajajajaja
channel_flag_maxfamilyclients_unlimitedjajajajajaja
channel_flag_maxfamilyclients_inheritedjajajajajaja
channel_filepathjanein1796nein1796nein
channel_needed_talk_power (auch änderbar als Recht)ja voicejajajajajaja
channel_forced_silencejaneinnein
channel_name_phoneticjajajajajaja
channel_icon_id (änderbar als Recht)ja iconjajajaja4nein1538ja
channel_flag_privatejanein
seconds_emptyja secondsemptyjanein
total_clientsjaneinnein
total_clients_familyja limitsneinnein
channel_needed_subscribe_power (änderbar als Recht)janeinnein
Fußnoten:
1 = wird beim Ändern von channel_password automatisch mitgeändert, kann aber auch manuell gesetzt werden (in dem Fall ist das Passwort entweder das letzte oder ein leeres Passwort, perfekt zum Trollen); werden beide gleichzeitig gesetzt, hat channel_password unabhängig von der Reihenfolge Priorität
2 = als cpid
3 = als order
4 = Änderung geht nach Neustart des Servers verloren
5 = nur falls nicht falls permanent, sonst 1538
6 = Server-Query-Clients setzen es im Klartext, ansonsten wird SHA-1 als Base64 verwendet.
Was hier zurückgegeben wird, ist: Base64(SHA1(Base64(SHA1(Klartext))+virtualserver_keypair))
1538 = invalid parameter
1796 = currently not possible
N/A = nicht anwendbar (Parameter dient zur Identifikation)

Die nicht erwähnten Channel-Notifys enthalten keine der hier genannten Parameter.

Server-Variablen

Spalten:

Eigenschaft~list~info~info
Server-
Vorlage
~request
connection
info
~editnotify~
edited
Doku
virtualserver_unique_identifierja uidjaja5nein
virtualserver_nameja7jajajajaja
virtualserver_welcomemessagejajajaja
virtualserver_platformjanein
virtualserver_versionjanein
virtualserver_maxclientsja1jajajaja
virtualserver_password (unbekannter 160-Bit-Base64-Hash8)jajajaja
virtualserver_clientsonlineja1janein
virtualserver_channelsonlinejanein
virtualserver_createdja9ja6nein
virtualserver_uptimeja1jaja2nein
virtualserver_codec_encryption_modejajajajaja
virtualserver_hostmessagejajajaja
virtualserver_hostmessage_modejajajaja
virtualserver_filebasejajanein
virtualserver_default_server_groupjajajajaja
virtualserver_default_channel_groupjajajajaja
virtualserver_flag_passwordjajanein
virtualserver_default_channel_admin_groupjajajaja
virtualserver_max_download_total_bandwidthjajajaja
virtualserver_max_upload_total_bandwidthjajajaja
virtualserver_hostbanner_urljajajajaja
virtualserver_hostbanner_gfx_urljajajajaja
virtualserver_hostbanner_gfx_interval (in Sekunden, mindestens 60)jajajajaja
virtualserver_complain_autoban_countjajajaja
virtualserver_complain_autoban_timejajajaja
virtualserver_complain_remove_timejajajaja
virtualserver_min_clients_in_channel_before_forced_silencejajajaja
virtualserver_priority_speaker_dimm_modificatorjajajajaja
virtualserver_idjajanein
virtualserver_antiflood_points_tick_reducejajajaja
virtualserver_antiflood_points_needed_command_blockjajajaja
virtualserver_antiflood_points_needed_ip_blockjajajaja
virtualserver_client_connectionsjanein
virtualserver_query_client_connectionsjanein
virtualserver_hostbutton_tooltipjajajajaja
virtualserver_hostbutton_urljajajajaja
virtualserver_hostbutton_gfx_urljajajajaja
virtualserver_queryclientsonlineja1janein
virtualserver_download_quotajajajaja
virtualserver_upload_quotajajajaja
virtualserver_month_bytes_downloadedjanein
virtualserver_month_bytes_uploadedjanein
virtualserver_total_bytes_downloadedjanein
virtualserver_total_bytes_uploadedjanein
virtualserver_portjajajaja
virtualserver_autostartja7jajaja
virtualserver_machine_idja7jajaja
virtualserver_needed_identity_security_leveljajajaja
virtualserver_log_clientjajajaja
virtualserver_log_queryjajajaja
virtualserver_log_channeljajajaja
virtualserver_log_permissionsjajajaja
virtualserver_log_serverjajajaja
virtualserver_log_filetransferjajajaja
virtualserver_min_client_versionjajajaja
virtualserver_name_phoneticjajajajaja
virtualserver_icon_idjajajajaja
virtualserver_reserved_slotsjajajaja
virtualserver_total_packetloss_speech (dimensionslos)janein
virtualserver_total_packetloss_keepalive (dimensionslos)janein
virtualserver_total_packetloss_control (dimensionslos)janein
virtualserver_total_packetloss_total (dimensionslos)jaja3nein
virtualserver_total_ping (in Millisekunden)jaja4nein
virtualserver_ipjanein
virtualserver_weblist_enabledjajajaja
virtualserver_ask_for_privilegekeyjanein
virtualserver_hostbanner_modejajajajaja
virtualserver_channel_temp_delete_delay_defaultjajajaja
virtualserver_statusjajajajaja
connection_filetransfer_bandwidth_sentjajajanein
connection_filetransfer_bandwidth_receivedjajajanein
connection_filetransfer_bytes_sent_totaljajaja
connection_filetransfer_bytes_received_totaljajaja
connection_packets_sent_speechjaja
connection_bytes_sent_speechjaja
connection_packets_received_speechjaja
connection_bytes_received_speechjaja
connection_packets_sent_keepalivejaja
connection_bytes_sent_keepalivejaja
connection_packets_received_keepalivejaja
connection_bytes_received_keepalivejaja
connection_packets_sent_controljaja
connection_bytes_sent_controljaja
connection_packets_received_controljaja
connection_bytes_received_controljaja
connection_packets_sent_totaljajajanein
connection_bytes_sent_totaljajajanein
connection_packets_received_totaljajajanein
connection_bytes_received_totaljajajanein
connection_bandwidth_sent_last_second_totaljajajanein
connection_bandwidth_sent_last_minute_totaljajajanein
connection_bandwidth_received_last_second_totaljajajanein
connection_bandwidth_received_last_minute_totaljajajanein
Fußnoten:
1 = nicht falls server offline oder mit -short
2 = als connection_connected_time
3 = als connection_packetloss_total
4 = als connection_ping
5 = immer leer
6 = immer 0 (früher identisch zur Startzeit der Instanz, glaube ich)
7 = nicht mit -short
8 = siehe Channel-Fußnote 6
9 = wurde für den Standardserver mal eine Zeit lang bis einschließlich 3.0.12.4 nicht gesetzt (=0)

Weiterhin ist virtualserver_keypair in Schnappschüssen zu finden. Aus diesem Wert wird die UID berechnet – obwohl letzte, genau wie der ebenfalls ignorierte Port (neuer Server: wird automatisch vergeben; überschreiben: wird übernommen), im Snapshot gespeichert ist (seit 2015/2016 rum irgendwie nicht mehr scheint mir). Das Keypair ist 888 Bit lang und in Base64 kodiert. Es werden bestimmte Ansprüche an den Wert gestellt; einen Zufallswert anzugeben führt zu einem Einfrieren der Serverinstanz oder zu lustigen Fehlern, die das Starten des Servers verhindern. Dieser Wert wird zum Hashen der Passwörter verwendet, das Ändern des Keypairs macht also in jedem Fall sämtliche Passwörter ungültig.

Traffic

Bei Angaben zu Traffic existieren die Begriffe upload, download, sent und received.

Hierbei bedeuten upload und received dasselbe, ebenso wie download und sent bedeutungsgleich sind. Das ist nicht ganz eingängig, insbesondere bei den Eigenschaften zum Dateitraffic eines virtuellen Servers: Während der Dateitraffic für diesen Monat (virtualserver_month_bytes_*loaded) und für alle Zeiten (virtualserver_total_bytes_*loaded) die Namen downloaded und uploaded verwendet (und sich auf beendete Übertragungen beziehen), verwendet der Dateientraffic seit Start (connection_filetransfer_bytes_*_total) die Namen sent und received (bezieht sich aber auf aktuellen Traffic).

Kurzum lässt sich sagen, dass upload und download immer Clientsicht sind (und außerdem nur beendete Dateitransfers enthalten anstatt in Echtzeit zu zählen), während sent und received immer die Serversicht darstellen.

Alle Angaben sind in Byte, außer bei Rechten, dort sind sie in Mebibyte, weil sonst bei dem Wertebereich von Rechten bei 2 GiB (bzw. 1 Byte weniger um genau zu sein) Ende wäre.

Sind für virtualserver_max_download_total_bandwidth und virtualserver_max_upload_total_bandwidth andere Werte als für serverinstance_max_download_total_bandwidth und serverinstance_max_upload_total_bandwidth eingestellt, gilt der jeweils niedrigere Wert. Sie gelten jeweils nur für Dateientraffic. Laufen mehrere derartige Übertragungen wird die eingestellte Bandbreite gleichmäßig auf alle Übertragungen aufgeteilt. Im Test sorgten Uploadraten von 10.000 B/s für ständige Verbindungsabbrüche beim Dateiupload. Für Downloads habe ich das nicht getestet.