Ciatri Protocol


conventii: tipurile de mesaj se prefixeaza intotdeauna cu cine trimite mesajul:

CLIENT_TIP_MESAJ -> mesaj trimis de client
SERVER_TIP_MESAJ -> mesaj trimis de server

cand vom enumera continutul unui mesaj, vom specifica tipul si ce data components are. headerul il putem ignora caci acolo vor fi aceleasi date

Initial handshake


Clientul trimite CLIENT_HANDSHAKE.
Serverul raspunde cu SERVER_HANDSHAKE

Logout


Clientul trimite (CLIENT_LOGOUT). Serverul inchide conexiunea. Clientul inchide conexiunea.

ciatri account create
----------------------

clientul trimite (CLIENT_CREATE_ACCOUNT,"username","password_hash").
serverul trimite SERVER_CREATE_ACCOUNT_ALREADY_EXISTS daca deja exista contul
serverul trimite (SERVER_CREATE_ACCOUNT_SUCCESS,CiatriPlayerInformation) daca s-a creat cu succes contul
serverul trimite (SERVER_CREATE_ACCOUNT_ERROR,"error_text") daca a aparut o alta eroare

ciatri set player information
------------------------------

cand clientul doreste sa isi modifice informatiile personale, trimite
la server un pachet de tipul (CLIENT_UPDATE_PLAYER_INFORMATION,CiatriPlayerInformation).
jucatorul nu isi poate schimba numele, scorul sau ciatriLoginType. campurile vor fi ignorate de server

login
-----

a) twitter/facebook

autentificarea se face pe client.
clientul trimite la server (CLIENT_LOGIN,CiatriLoginType,"username")

b) ciatri account

clientul trimite la server (CLIENT_LOGIN,CiatriLoginType,"username","password_hash")

c) guest

clientul trimite la server (CLIENT_LOGIN,CiatriLoginType,"username")


serverul raspunde cu (SERVER_LOGIN_OK, first_time) sau (SERVER_LOGIN_ERROR,"error message")

first_time e un boolean pus in campul de date care semnifica faptul ca utilizatorul se logheaza
pentru prima data.

get player score
----------------

clientul trimite (CLIENT_GET_PLAYER_SCORE).
serverul intoarce (SERVER_GET_PLAYER_SCORE,score)

ciatri news
-----------

serverul trimite (SERVER_CIATRI_NEWS,"text")

change level


clientul trimite (CLIENT_CHANGE_LEVEL,x)
unde x e nivelul dorit
serverul raspunde cu (SERVER_CHANGE_LEVEL_OK) sau (SERVER_CHANGE_LEVEL_ERROR,"eroare")