A number of leaked builds of AoS before it was contaminated with JaGeX have surfaced, it would be nice if OpenSpades could support those versions.
The protocol is documented at https://piqueserver.github.io/aosprotocol/protocol100a1.html and @10se1ucgo has made a mostly-working implementation at github.com/10se1ucgo/ace.py
Honestly it's not worth spending time to implement a protocol, which isn't used. The majority of the community didn't even switch to the more recent 0.76 version. (I haven't been following the BnS/AoS community for a while, so I could be wrong)
And if there is interest to diverge from the classic ace of spades, it would make sense to continue ngspades or something similar with a smaller scope.
It would be a nice thing to add in when the main concerns are implemented first. I feel like it should remain on the table for a later time or if someone really wants to take a wack at it
Yes, I agree. However, many of these are very simple to add and don't require any real effort, since it is still largely the same protocol/game. The only thing that would require some bigger changes is the generalization of the Entity packets.
IMO forget the protocol for now, implement the concepts of the protocol first instead. Like you mentioned, make Entities generic. The protocol itself isn't much different.
The protocol basically dictates that an entity has the following structure
class Entity
uint8 id
uint8 type # [COMMAND_POST/FLAG/etc...]
Player carrier
float x, y, z
For example, IntelPickup would be translated into a ChangeEntity packet that changes the carrier
field of an Entity to the player who picked it up, and an IntelDrop would change the carrier to null. The new protocol gives the server a lot more freedom in terms of how many and what kind of entities are spawned.
Most helpful comment
Honestly it's not worth spending time to implement a protocol, which isn't used. The majority of the community didn't even switch to the more recent 0.76 version. (I haven't been following the BnS/AoS community for a while, so I could be wrong)
And if there is interest to diverge from the classic ace of spades, it would make sense to continue ngspades or something similar with a smaller scope.