Em MUOnline, na comunicação Servidor<->Cliente, não é diferente. Os pacotes iniciam com um "título" (tabela abaixo) e depois segue-se o "tamanho das páginas" e depois um "subtítulo".
Com isso, podemos ver que os pacotes 0xC1 e 0xC3 têm o mesmo tamanho, e 0xC2 e 0xC4 o mesmo também. Também dá para notar que os pacotes 0xC3 e 0xC4 têm encriptação, para segurança.
Os pacotes 0xC1 e 0xC3 são usados para dados não tão grandes e que possuem uma variação nula. Já os pacotes 0xC2 e 0xC4 são usados para dados "maiores" com variações, por exemplo, o pacote de mostrar os mobs, dos servidores, de mostrar os jogadores, etc. variam conforme a quantidade dos objetos.
Mas, como os pacotes 0xC2 e 0xC4 armazenam 65535 como valor na lenght, se cada byte é 255?
Isso acontece por causa que os pacotes 0xC2 e 0xC4 usam DOIS bytes para armazenar a lenght, por exemplo: C2 00 04 11. Aí temos um pacote (que provavelmente não exista ^^) com o tamanho 4 (0x04). A fórmula, seria basicamente:
0xC2 = head
0x00 = HiByte(Lenght)
0x04 = LoByte(Lenght)
Nenhum comentário:
Postar um comentário