Archive:Communication protocol
From The Mana World
Here be documented our own communication protocol. For the latest list of all messages and their contents, see defines.h.
Login sequence
1a. PAMSG_REGISTER { L version, "username", "password", "email" }
APMSG_REGISTER_RESPONSE { 0 }
APMSG_CHAR_LIST { B number, [ S name, B gender, B hair style, B hair color, B level,
W money, W*6 stats, S mapname, W*2 position ] }
1b. PAMSG_LOGIN { L version, "username", "password" }
APMSG_LOGIN_RESPONSE { 0 }
APMSG_CHAR_LIST { B number, [ S name, B gender, B hair style, B hair color, B level,
W money, W*6 stats, S mapname, W*2 position ] }
2a. PAMSG_UNREGISTER { }
APMSG_UNREGISTER_RESPONSE { 0 }
2b. PAMSG_LOGOUT { }
APMSG_LOGOUT_RESPONSE { 0 }
...
Movement and combat
Protocol in development, see article about the being movement system.
Chatting
1a. PCMSG_CHAT { "message", channel }
1b. PCMSG_ANNOUNCE { "annoucement" }
1c. PCMSG_PRIVMSG { "username", "message" }
2a. CPMSG_ERROR { error }
2b. CPMSG_ANNOUNCEMENT { "annoucement" }
2c. CPMSG_PRIVMSG { "username", "message" }
2d. CPMSG_PUBMSG { channel, "username", "message" }
Notes
Maybe it would be nicer to have the annoucements simply occur on a special dedicated channel. This would make implementation easier. Also, I think it's fine to also send a username for these messages. --Bjørn 12:44, 26 July 2006 (CEST)