Directory Client Protocol

From ASSS Wiki
Revision as of 21:13, 11 January 2005 by Smong (talk | contribs) (initial page and content from updated dir-client-prot.txt)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Core protocol is same as usual. Dirserv specific c2s/s2c protocol.

Ctm sends a sync request and ss doesn't (obviously). The list request is sent as reliable.

c2s

0x01 list request
offset size comment
0      1    type 0x01
1      4    minimum players

s2c
offset size comment
0      1    type 0x01
1      4    ip
5      2    port
7      2    player count
9      2    billing (on 0x01 0x00)
11     4    version (0x86 0x00 0x00 0x00)
15     64   name
79     ?    description
packet repeats from offset 1 until end

core

0x01 login
offset size comment
0      1    type 0x00
1      1    type 0x01
2      4    client key
6      2    protocol version (vie = 0x01, ctm = 0x11)

0x02 login response
offset size comment
0      1    type 0x00
1      1    type 0x02
2      4    ~client key (negative)

0x03 reliable header
offset size comment
0      1    type 0x00
1      1    type 0x03
2      4    packet id
6      ?    payload (514 max)

0x04 reliable acknowledge
offset size comment
0      1    type 0x00
1      1    type 0x04
2      4    packet id

0x05 sync
offset size comment
0      1    type 0x00
1      1    type 0x05
2      4    local time
6      4    packets sent
10     4    packets received

0x06 sync response
offset size comment
0      1    type 0x00
1      1    type 0x06
2      4    time from last received 0x05 packet
6      4    server time

0x07 disconnect
offset size comment
0      1    type 0x00
1      1    type 0x07

0x0A segment
offset size comment
0      1    type 0x00
1      1    type 0x0A
2      4    total length of all segments
6      ?    payload (514 max, but expect 480)
keep appending payloads until total length is reached