AoS Protocol Documentation

This site documents the AoS protocol as well as the extensions that have and will been made to it. If you want to propose changes to the protocol, open an issue or file a PR against this repo

View the Project on GitHub piqueserver/aosprotocol

This page documents the networking Protocol of Ace of Spades 0.75, as well as the extensions made by the community.

Overview

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.

Versions

Extensions

The 0.75 protocol supports extensions, which allow adding new packets as well as querying the support for client and server functionality.

Extensions providing packets

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.

ID Name Description Link
       

Packetless Extensions

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.

ID Name Description
192 Player Limit Support for up to 256 players
193 Message Types Additional message types such as warnings and statuses
194 Kick Reason Repurposes the chat to send a disconnect reason text

Implementers

Links to the respective projects pages that detail the extensions evailable in each version should be linked here.

Other Protocols

Other Resources