In case you want to have your client updated and ready before the server makes changes, the specification containing current future plans can be found here.
{"password":"your password","author":"your username"}
If this is your first time authenticating with a username and it has not yet been registered, you will receive this message
{"type":"auth","message":"You have successfully registered a new account and logged in"}
If you have logged into a registered name with incorrect credentials, you will receive this message and will not be able to send messages
{"type":"auth","message":"Those credentials are incorrect"}
{"type":"auth","message":"You have successfully authenticated an already existing account"}
{"author":"chaten","type":"message","message":"hi"}
Messages to the server should be in this format (They should NOT include an author string: This is disregarded by the server and replaced with the username you have authenticated with)
{"type":"message","message":"hi"}
{ "type": "direct_message", "recipient": "recipients_username", "message": "authors_message" }
{ "type": "direct_message", "author": "author_username", "message": "authors_message" }
{"type":"join","message":"username"}
{"type":"quit","message":"username"}
When you connect to the server, you will receive a message like this containing the list of online users
{"type":"user_list","users":["folder","zachary","stalin"]}
This can be used to create your online user list, which you can update in realtime based on join and quit packets.