Hi,
I'm trying to understand how the client builds the network packets, and how does the server reads them. I've found this wiki page that describes the packets (https://github.com/rathena/rathena/wiki/Packets), which is very useful, but I guess my questions are more basic.
For example, take the struct PACKET_CH_MAKE_CHAR, which (I assume) is sent from the client when it wants to create a new character. I'm able to create a byte array and the server accepts it (it doesn't complain about unknown packet), but the server doesn't respond, which I guess it means its waiting more bytes?
Another aspect is, how is the authentication made so the server knows to which account the character is associated to? Maybe a socket is created at the login time and the same socket is used for all following packets?
My goal is to be able to interact with the server (as a player) without needing the client, but manually sending the packets.
Where can I read more about this?