Entender uma acção através de um bytes

Ola.

Eu tenho um servidor de “minecraft” no meu PC, e estou a criar um “túnel” para bloquear algumas açoes dos players.

Basicamente, o cliente conecta ao meu programa, e eu reenvio tudo que eu receber do cliente para o servidor e vice-versa.

while ((bytesRead = In.read(byteBuffer)) != -1) {
                if (Debug.dmode && isClient ) {
                    //System.out.println("byte %d" + totalBytesMoved);
                    //System.out.println(stringToHex(new String(byteBuffer)));
                    //System.out.println(byteBuffer[0]);
                }

                Out.write(byteBuffer, 0, bytesRead);
                Out.flush();
 }

O túnel esta a funcionar correctamente, e eu consigo jogar através do túnel perfeitamente e imprimir somente os bytes enviados do cliente para o servidor.

O problema é, eu quero bloquear uma acção especifica (Destruir blocos de uma certa área - para quem conhece o jogo), mas não consigo entender as acções a partir do print dos bytes.
Ja tentei muitas vezes entender os bytes a imprimi-los, porem parece que os bytes são diferentes para a mesma acção em tempos diferentes, talvez porque o conteúdo, por exemplo a posição do jogador esta em 2 ou mais bytes, e não em uma só posição.

Alguém tem alguma ideia de como posso resolver isso?

Thx for all.

Sem saber o “formato dos dados” é bem dificil, você pode mapear o que vem igual e descartar os bytes diferentes. Mas isso não é muito precisso.