feat: add Teamspeak 6 support#756
Conversation
Implement TeamSpeak 6 API integration for server and client information retrieval.
Added information about TeamSpeak 6 query port requirements.
Updated TeamSpeak query requirements for version 6 to include API-Key and HTTP queryport.
|
Hello @yellowfromseegg! Would you mind sharing the server details so we can also test? Thank you! |
|
I have created a new test server for you guys, heres the data for it: IP: 136.243.10.251 If u need anything else, let me know |
|
Thank you! Are you able to query the server? If so, what command did you use? I used: |
Prevent TCP connection to voice port before HTTP request for TS6 WebQuery.
|
Hey, a fix im running didnt make it into repo. Sorry😅 node bin/gamedig.js --type teamspeak6 --host 136.243.10.251 --port 54011 --teamspeakQueryPort 54010 --token BACo8rIJXCnFH4vLhcPEdz8eo_OyA7QDva16vZR |
|
Thank you! It worked! Here's the response I got:Should we also make it clear in docs that |
added a table with all the needed options and theyre default values
|
Yes makes sense i have adjusted the description in the Games List, it should be clear now. |
|
Thank you! @CosminPerRam Looks good to me! |
CosminPerRam
left a comment
There was a problem hiding this comment.
Hey, sorry for the awfully long delay, could you rebase with master?
Also if you'd like to add lines to the changelog file (with pr link and if credit if wanted, see other lines for reference).
| // Prevent Core.request() from TCP-connecting to the voice port before the HTTP request. | ||
| // TS6 WebQuery is HTTP-only; setting usedTcp=true skips the internal tcpPing() call. |
|
|
||
| const queryPort = this.options.teamspeakQueryPort || 10080 | ||
|
|
||
| // Reuse built-in GameDig "token" option as the TS6 API key |
| For teamspeak 6 queries to work correctly, you need the voice port, http queryport and the API-Key of the teamspeak 6 server. The API-Key is displayed in the log of the **first** server start. | ||
| To identify different virtualServers the specific Voice Port of the server is needed. | ||
|
|
||
| Needed Options: | ||
| | option | Value | Default | | ||
| |---------------------|------------------|-----------| | ||
| | port | Voice Port | 9987 | | ||
| | teamspeakQueryPort | http queryport | 10080 | | ||
| | token | < API-Key > | - | | ||
| | type | teamspeak6 | - | | ||
| | host | < your host ip > | - | | ||
|
|
There was a problem hiding this comment.
Please rephrase as:
Requires the API key passed as token (it is displayed in the logs of the first server start).
HTTP query port passed as teamspeakQueryPort (it is different from port, which is the voice one).
If no port is passed but the query is successful, an error with (possibly) available ports will be returned.
if you need i can provide you with credentials for testing, otherwise you can check here:
website with working api
it currently supports the same functions as the ts3 function but with the http api since the telnet got removed.