Core Protocol: Difference between revisions

From ASSS Wiki
Jump to navigationJump to search
m capitalization
Zc321 (talk | contribs)
No edit summary
Line 1: Line 1:
This protocol is UDP and bi-directional. It can be thought of as another layer within an application's network layer. [[Subgame]], [[ASSS]], [[Continuum]], VIE's [[SubSpace]] client, the [[Directory server]], and the [[Billing Server]] utilize this protocol, though [[Grelminar]] has designed a TCP Billing Server protocol.
apple cows
 
There is support for reliable ordered packets, large packets and cluster packets.
 
*The maximum packet size is 520 bytes
*All integers are little endian
*All core packets begin with the type byte 0x00
 
<pre>
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
 
0x08 small chunk
offset size comment
0      1    type 0x00
1      1    type 0x08
2      ?    payload (expect 472 max)
keep appending payloads until 0x09 chunk tail is received
 
0x09 chunk tail
offset size comment
0      1    type 0x00
1      1    type 0x09
2      ?    payload (expect 472 or less)
append this payload then process contents as a non-core packet
 
0x0A stream
offset size comment
0      1    type 0x00
1      1    type 0x0A
2      4    total length of all segments
6      ?    payload (expect 468 max)
keep appending payloads until total length is reached then process contents as
a non-core packet.
 
0x0B cancel stream request
offset size comment
0      1    type 0x00
1      1    type 0x0B
 
0x0C cancel stream acknowledge
offset size comment
0      1    type 0x00
1      1    type 0x0C
 
0x0E cluster
offset size comment
0      1    type 0x00
1      1    type 0x0E
2      1    length
3      ?    payload with length as above
packet repeats from offset 2 until end, process contents as arbitrary packet
</pre>
 
[[Category: Protocol]]

Revision as of 07:50, 30 November 2005

apple cows