-
Notifications
You must be signed in to change notification settings - Fork 8
Teamspeak Protocol
Youx edited this page Sep 13, 2010
·
12 revisions
The first two bytes indicate the type of packet :
- f4be : Connection packet
- f0be : Control packet (commands)
- f1be : Acknowledge packet
- f2be : Audio packet
The two next bytes indicate the function of the packet, here is the list of all of them.
Some of the packets have a checksum field. The checksum field is a 32 bit integer. You can get an implementation of the crc32 function from zlib sources.
You have to do the checksum of the whole packet, with the checksum left nulled, then copy the checksum into the field.
All the integers of 16 and 32 bits are transmitted as little endian (x86), for example 0×1234 (4660 base ten) would be transmitted as 0×3412, and 0×12345678 (305419896 base ten) as 0×78563412.
For more details on endianness, see Wikipedia
Glib provides some nice C macros to change endianness Glib reference for endianness