libspades
Ace of Spades library
Packets by ID

This page contains all commonly recognized packets in the AoS protocol.

Assume all packets to belong to protocol v0.75 unless otherwise specified.

Note that the british spelling of "colour" is used here instead of "color".

Also remember that all packet structs must be packed! Normally each item of a struct is aligned to some multiple of a power of two, but the protocol requires that this alignment does not happen.

Standard Packets

Dec Hex Packet Direction Size (Bytes) Support
0 00 Position Data Client<->Server 13 Client: C<S. Server: yes.
1 01 Orientation Data Client<->Server 1 13 Client: C<S. Server: yes.
2 02 World Update Client<--Server Up to 769 2
3 03 Input Data Client<->Server 3 Client: C<S. Server: yes.
4 04 Weapon Input Client<->Server 3 Client: C<S. Server: yes.
5 05 Hit Client-->Server 3 Client: no. Server: yes.
5 05 Set HP Client<--Server 15
6 06 Grenade Client<->Server 30 Client: no. Server: yes.
7 07 Set Tool Client<->Server 3
8 08 Set Colour Client<->Server 5
9 09 Existing Player Client<->Server 13 to 28
10 0a Short Player Data Client-->Server 4 Client: no. Server: yes.
11 0b Move Object Client<--Server 15 No
12 0c Create Player Client<--Server 17 to 32
13 0d Block Action Client<->Server 15
14 0e Block Line Client<->Server 26 Client: broken C<S, Server: broken C>S.
15 0f State Data Client<--Server CTF: 84, TC: 33+ CTF, and only partial support.
16 10 Kill Action Client<--Server 5
17 11 Chat Message Client<->Server 4+ Yes, but Code Page 437 is incomplete.
18 12 Map Start Client<--Server 5
19 13 Map Chunk Client<--Server 1+
20 14 Player Left Client<--Server 2
21 15 Territory Capture Client<--Server 5 No
22 16 Progress Bar Client<--Server 8 No
23 17 Intel Capture Client<--Server 3 No
24 18 Intel Pickup Client<--Server 2 No
25 19 Intel Drop Client<--Server 14 No
26 1a Restock Client<--Server 2
27 1b Fog Colour Client<--Server 3 5
28 1c Weapon Reload Client<->Server 4 Client: no. Server: yes.
29 1d Change Team Client-->Server 4 3
30 1e Change Weapon Client<->Server 5 3
31 1f Map Cached (v0.76) Client-->Server 2 No

1. Client compatibility varies, Client-->Server is the only direction guaranteed to work.
2. Assuming a maximum player count of 32. It can go all the way up to 6145 with 256 Players. The size modulo 24 is guaranteed to be 1.
3. Piqueserver allows players to send this packet for some reason, which will work if the /fog command is authorized.
4. OpenSpades supports receiving this packet, just with a very glitchy outcome.
5. As a complete and utter showing of pyspades' (and therefore PySnip and piqueserver) excellence, the only reason the server is capable of sending this packet is because it doesn't have a reason. All packets of this type sent from the server can be safely ignored.

Extension Packets

For the extensions themselves, see page Extensions.

Dec Hex Sub Packet Direction Size (Bytes) Support
31 1f N/A Handshake Init Client<--Server 5 ,,,,
32 20 N/A Handshake Return Client-->Server 5 ,,,,
33 21 N/A Version Request Client<--Server 1 ,,,,,
34 22 N/A Version Response Client-->Server 5+ ,,,,,
60 3c N/A Extension Info Client<->Server 2+ ,, 1 ,
64 40 0 Player Properties Client<--Server 12 ,
65 41 0 Request Authentication Client<--Server 2
65 41 1 End Authentication Client<--Server 4+
65 41 2 Send Public Key Client-->Server 34
65 41 3 Send Nonce Client<--Server 3+
65 41 4 Send Signature Client-->Server 66

1. On versions greater than 0.1.3?