Coding
From Anarchy Online Wiki [AOWiki]
Anarchy Online Chat Protocol
Anarchy Online has its own chat protocol for communicating between the Chat Client and the Chat Servers. The game client has its own chat client for communication with the chat server and third party programs created to interact with the chat server or provide automated functions are called Bots
AO Chat Packet Types
Packet names are from a unofficial attempt at standardizing the names to make it easier for developers to work on other projects. The standardization for the packet names was discussed in a Thread on AODevs
Bi-Directional Types - ToServer
- 21: CharacterLookupRequest
- String - Character Name
- 30: PrivateMessage
- int - Character ID
- String - Message
- String - ???
- 40: FriendUpdate
- int - Character ID
- byte - Flags (0 means temporary, anything else means permanent)
- 41: FriendRemove
- int - Character ID
- 50: PrivateChannelInvite
- int - Character ID
- 51: PrivateChannelKick
- int - Character ID
- 57: PrivateChannelMessage
- int - Character ID
- String - Message
- String - ???
- 65: ChannelMessage
- byte[] - Channel ID (40bit)
- int - Character ID
- String - Message
- String - ???
- 100: Ping
- String - ???
Bi-Directional Types - ToClient
- 21: CharacterLookupReply
- int - Character ID
- String - Character Name
- 30: PrivateMessage
- int - Character ID
- String - Message
- String - ???
- 40: FriendUpdate
- int - Character ID
- bool - Online
- byte - Flags (0 means temporary, anything else means permanent)
- 41: FriendRemove
- int - Character ID
- 50: PrivateChannelInvite
- int - Character ID
- 51: PrivateChannelKick
- int - Character ID
- 57: PrivateChannelMessage
- int - Character ID
- 65: ChannelMessage
- byte[] - Channel ID (40bit)
- int - Character ID
- String - Message
- String - ???
- 100: Ping
- String - ???
To Client
- 0: LoginSeed
- 5: LoginOk
- 6: LoginError
- 7: CharacterList
- 10: CharacterUnknown
- 20: CharacterUpdate
- 34: VicinityMessage
- 35: BroadcastMessage
- 36: SimpleSystemMessage
- 37: SystemMessage
- 55: PrivateChannelCharacterJoin
- 56: PrivateChannelCharacterLeave
- 60: ChannelUpdate
- 61: ChannelLeave
To Server
- 2: LoginRequest
- 3: LoginSelect
- 52: PrivateChannelAccept
- 53: PrivateChannelLeave
- 54: PrivateChannelKickAll
- 120: ChatCommand