Skip to content

Connecting to a teamspeak server

spac3 edited this page Sep 13, 2010 · 6 revisions

Client : requesting a connection (0xf4be0300)

NB : When a client requests a connection to a server, he has not been given a public or private ID by the server, so those fields are nulled in the header.

Size Format Description
4 bytes 32 bit integer (hexa) Checksum
1 byte unsigned 8 bit integer Size of the client field
29 bytes 29 characters string Name of the client (ex : Freespeak)
1 byte unsigned 8 bit integer Size of the machine field
29 bytes 29 characters string Description of the machine (ex : same as uname on linux)
4 bytes 32 bit integer Empty (0×00000000)
4 bytes 32 bit integer Checksum
1 byte 8 bit boolean integer (0/1) Assign nick ???
1 byte 8 bit boolean integer (0/1) Always ??? (edit by : Spac3 : Packet sniff proves this field wrong, not a bool. Packet hex val “02”)
1 byte unsigned 8 bit integer Size of the login field
29 bytes 29 characters string Login of the client
1 byte unsigned 8 bit integer Size of the password field
29 bytes 29 characters string Password of the client
1 byte unsigned 8 bit integer Size of the nickname field
29 bytes 29 characters string Nickname of the client

Server : accepting the connection and sending server information (0xf4be0400)

Size Format Description
4 bytes 32 bit integer Checksum
1 byte 8 bit integer Size of the server name
29 bytes 29 characters string Name of the server
1 byte 8 bit integer Size of the server machine information
29 bytes 29 characters string Machine information of the server
8 bytes 4x 16 bit unsigned integers Server version, as 4 16 bit integers (ex 2.0.20.1)
4 bytes 32 bit integer Error code (1 = OK, 2 = Server offline)
2 bytes 16 bit bitfield Available codecs ( 1 << codec1 OR 1 << codec2 OR … )
7 bytes ??? ???
9 bytes bit field Server privileges (Server Admin group)
9 bytes bit field Server privileges (Channel Admin group)
9 bytes bit field Server privileges (Operator group)
9 bytes bit field Server privileges (Voice group)
9 bytes bit field Server privileges (Registered group)
9 bytes bit field Server privileges (Anonymous group)
17 bytes ??? ???
4 bytes 32 bit integer (hexa) Private ID assigned to the client
4 bytes 32 bit integer (hexa) Public ID assigned to the client
1 byte 8 bit integer Size of the welcome message
255 bytes 255 characters string Welcome message

Client : acknowledging the connection acceptance (0xf0be0500)

Size Format Description
4 bytes 32 bit integer Empty (0×00000000)
4 bytes 32 bit integer Checksum
96 bytes Data Unknown (can be left blank)

Server : Rejecting a connection