This page documents the networking Protocol of Ace of Spades 0.75, as well as the extensions made by the community.
Ace of Spades uses the ENet networking library for all server-client communication. The initial source for the protocol information was the original pyspades source code, for which the source for 1.0 was not released. Nonetheless, the 1.0 alpha client has been reverse engineered to document the protocol.
The 0.75 protocol supports extensions, which allow adding new packets as well as querying the support for client and server functionality.
Packetful extensions are extensions that can be used to send packets. Each extension has 256 packet types reserved for itself. This is useful for adding functionality that requires sending additional information from or to the client.
Packetless extensions are extensions that can not send any packets. This is useful for signalling support for additional values in or certain behaviours related to existing packets.
Packetless extensions exist as an artefact of the implementation of extensions. As the space reserved for extension packets is limited, values above 192 do not have any packet types left.
|192||Player Limit||Support for up to 256 players||TODO|
|193||Message Types||Additional message types such as warnings and satuses||TODO #14|
|194||Kick Reason||Repurposes the chat to send a disconnect reason text||TODO|
Links to the respective projects pages that detail the extensions evailable in each version should be linked here.