[Beta] TeamSpeak 3 Client 3.1.6

Rikku

Contributor
Sep 14, 2015
156
61
122
TeamSpeak Client version 3.1.6 is now available for testing in the beta channel.

This release adds the ability to connect to your favorite servers using a short custom nickname. These can be created on the myTeamSpeak website. A myTeamSpeak account is required to register a nickname, which you can then direct to your server, using either an IP address or a domain name. Every user may currently create up to 5 of these.
This release also adds support to enter these nicknames into the server and for displaying the nicknames in the client. However this is currently not usable as it requires a new server release which is not planned to arrive until the second half of September. With said server release the nicknames for the server can be stored on the server, allowing server admins to display the custom short nicknames for the server to clients.

Furthermore this client release will lower the frequency of the "failed to connnect to myTeamSpeak" notifications to once every 6 hours.

Code:
=== Client Release 3.1.6 07 Aug 2017
! Added Server Nicknames feature. Register a server nickname on the
myTeamSpeak.com webpage to let users easily connect to your TS3 server.
! Added support for new server property and permission, which allows you to
enter registered server nicknames as server property to display it to all
users on this server.
* Support for new black/graylist backend.
* Support for new server license features.
* Don't spam "failed to connect to myteamspeak server" notifications. Show
it once after client start and then again only in intervals of 6 hours.
- Windows sound backend overhaul continued.
 

TrueStory

Member
Dec 14, 2015
32
40
53
I do believe this is the important part
Code:
* Support for new black/graylist backend.
* Support for new server license features.
 

TrueStory

Member
Dec 14, 2015
32
40
53
Some info about the new Blacklist2 - (of course this is for the ts3client)

Code:
Blacklist 2 (3.1.6+)
All the fun is not easy to understand. First of all, an HTTPS POST request (HTTP does not work) is to be established to blacklist2.teamspeak.com in any case. The following header is sent (paragraphs inserted by me for clarification):

POST /check HTTP/1.1\r\n
Host: blacklist2.teamspeak.com\r\n
User-Agent: TeamHttp/1.1\r\n
Connection: keep-alive\r\n
Content-Type: application:x-ts3blacklist\r\n
Content-Length: length\r\n
\r\n
\n

Then the data comes. The data are as follows:

BlacklistInfoRequest
             ip_address
             domain_name
             virtual_server_id
             public_license_id
             port
             timestamp
             valid_token_present
             slots_ok
So it is at least in the source code. Somehow half of it is missing. Specifically, a package looks as follows:

1 byte: Internet protocol version number
4 or 16 bytes: Internet protocol address (binary)
1 byte: always 0x12(18)
1 byte: Length of the entered address as UTF-8 string
Entered address in UTF-8 (why always)
1 byte: always 0x1A(26)
1 byte: always 0x1C(28, probably the length of the server UID)
28 bytes: Server UID (no escaping)
1 byte: always 0x28(40)
1 to 3 bytes: Strange port f . If x is an unsigned 16-bit number, then (MathML support is required):
f ( x ) = { x (1 byte) if x < 128 ( x and 127 ) + ( 2 x and 32512 ) or 128 (2 bytes) if 128 ≤ x < 16384 ( x and 127 ) + ( 2 x and 32512 ) + ( 4 x and 199608 ) or 32896 (3 bytes) if 16384 ≤ x
The resulting number is encoded as Little Endian in the specified length. In the basic form (see the following Delphi code), the algorithm can represent numbers of any size. Since ports are 2 bytes big, the algorithm saves on extremely rare (because under Linux normally not possible) case of ports under 128 place, but requires more space for ports from 16384 onwards.
function f(x)
begin
  while True do
  begin
    if x < 128 then
    begin
      WriteByte(x);
      Exit;
    end
    else
    begin
      WriteByte(x or 128);
      x := x shr 7;
    end;
  end;
end;
1 byte: always 0x30(48)
5 bytes (in the foreseeable future): UTC-Unix timestamp using the above algorithm (since the mathematical notation is only given for 16 bits, only the program code works under it).
2 bytes: always 0x40 0x01
Back there are 8 bytes (by Cloudflare also a lot of garbage in the HTTP header, including a cookie), of which I have no idea what they mean. It also always seems the same:

08 03 10 03 18 03 20 03 | ...... .

Credits: Yatqa Blog
 
Last edited:

Rikku

Contributor
Sep 14, 2015
156
61
122
@TrueStory Thanks for sharing this with us. :)

Nickname seems to work fine. Just registered a server nickname on myteamspeak, updated to the beta client, connected via nickname, worked.
I don't know if it is important, but you could perhaps somehow display in myteamspeak that the port number is optional, if your server runs on the default port 9987 or if you enter the domain name of a SRV record.

Let the run for the coolest and shortest nicknames begin!
 
Last edited:

I3I4cK0uT

I blow up things like Discord when I'm bored.
Dec 20, 2016
34
7
43
@TrueStory Thanks for sharing this with us. :)

Nickname seems to work fine. Just registered a server nickname on myteamspeak, updated to the beta client, connected via nickname, worked.
I don't know if it is important, but you could perhaps somehow display in myteamspeak that the port number is optional, if your server runs on the default port 9987 or if you enter the domain name of a SRV record.

Let the run for the coolest and shortest nicknames begin!
¿Are cracked servers working too?
 
Last edited:

InVaDeR359

Active Member
May 29, 2017
160
121
72
I've just updated to 3.1.6 client beta version, what triggered graylisting my server.
 

Rikku

Contributor
Sep 14, 2015
156
61
122
I've just updated to 3.1.6 client beta version, what triggered graylisting my server.
This has nothing todo, with the Client Version 3.1.6
The Server they use a cracked License can be reported manually by a user. The new Blacklist2 Is fully integrated with Server Version 3.1

The Client Version 3.1.6 supported the new Blacklist and Greylist System and a full change for the new License System and the Blacklist and Greylist is in Server Version 3.1
 
Last edited:

Kieran

Tag me
Contributor
Jan 1, 2016
459
286
122
I like that nickname thingy (and of course the new license system)
makes it much easier to explain new people how to connect to a server
 

Rikku

Contributor
Sep 14, 2015
156
61
122
Let the run for the coolest and shortest nicknames begin! :D
 

Rikku

Contributor
Sep 14, 2015
156
61
122
i have just one Name and this is Jorgo my favorite YouTuber in the CSGO Scene :D
 
Top