Ir para conteúdo
Propaganda

Posts Recomendados

Estou com um servidor de poketibia funcionando normalmente e queria adicionar mais funções na minha src do otcliente, daí fui tentar recompilar, e recompilar normal sem erros, porém quando eu logo no personagem ele da erro de protocolo no cliente ele não consegue decifrar todos os bytes algum pode me ajudar?

 

Link para o comentário
https://tibiadevs.com/forums/topic/1128-estou-com-um-problema-ao-recompilar-meu-otc/
Compartilhar em outros sites

  • Suporte

Seu cliente deve ter alterações, provavelmente a src que você compilou não é a original do seu cliente. 

Link para o comentário
https://tibiadevs.com/forums/topic/1128-estou-com-um-problema-ao-recompilar-meu-otc/#findComment-5814
Compartilhar em outros sites

  • Moderador

1. Verifique a versão do protocolo usada pelo servidor

O seu servidor Poketibia provavelmente usa um protocolo modificado (customizado) — diferente dos protocolos padrão do TFS. Você precisa garantir que o otclient que você está recompilando esteja usando o mesmo protocolo que o servidor.

 

🔍 Onde verificar:

No servidor, veja em const.h ou em protocolgame.cpp (TFS ou base poketibia modificada).

 

O número do protocolo geralmente está em uma constante como:

Spoiler

#define CLIENT_PROTOCOL_VERSION 1098

 

2. Verifique se você alterou algum arquivo no otclient/src/protocolgame.cpp ou protocolgame.h

Se você adicionou ou removeu pacotes customizados no servidor (ex: efeitos visuais, dados de Pokémon, sistemas de aura), o otclient também precisa ser atualizado para entender os mesmos pacotes.

 

Exemplo comum:

Se o servidor envia um packet opcode customizado, e o otclient não reconhece esse opcode, ele quebra a leitura de pacotes seguintes, resultando em erro de decodificação.

3. Como corrigir

Você precisa comparar os pacotes usados pelo servidor e pelo cliente:

💡 Ferramenta útil:

Use um diff tool (ex: Meld ou GitHub diff) para comparar:

protocolgame.cpp do seu servidor

protocolgame.cpp do otclient

Busque por funções como:

Spoiler

parsePacket()

parseLogin()

parseMapDescription

()

 

4. Erros comuns que causam “protocolo inválido”

Usar a versão errada do protocolo (ex: servidor envia como 1098 e o cliente espera 1050).

 

Falta de pacotes customizados no cliente.

 

Mismatch em comprimentos de pacotes (read<uint16_t>() diferente do que o servidor envia).

 

Charset ou compressão ativada em um lado e não no outro (ex: Zlib, RSA, XTEA).

 

 5. Sugestão para testar rapidamente

Se você recompilou o otclient sem nenhuma modificação e ele falha, tente:

 

Baixar o otclient modificado que o servidor original usava (provavelmente o otclientv8 ou um fork do edubart/otclient já adaptado pro poketibia).

 

Testar com esse cliente. Se funcionar, o problema está mesmo nas modificações do cliente que você fez.

 

Se você quiser, posso olhar o trecho de código do seu protocolgame.cpp ou do erro completo que o cliente te dá. Se puder compartilhar qual base de servidor você está usando (PokeDash, PokeZot, DxP, PokeLife, etc.) e qual commit do otclient, consigo te ajudar com algo mais específico.

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/1128-estou-com-um-problema-ao-recompilar-meu-otc/#findComment-5821
Compartilhar em outros sites

  • 2 semanas atrás...
Em 30/05/2025 em 13:50, Suporte Derivados Tibia disse:

1. Verifique a versão do protocolo usada pelo servidor

O seu servidor Poketibia provavelmente usa um protocolo modificado (customizado) — diferente dos protocolos padrão do TFS. Você precisa garantir que o otclient que você está recompilando esteja usando o mesmo protocolo que o servidor.

 

🔍 Onde verificar:

No servidor, veja em const.h ou em protocolgame.cpp (TFS ou base poketibia modificada).

 

O número do protocolo geralmente está em uma constante como:

  Mostrar conteúdo oculto

#define CLIENT_PROTOCOL_VERSION 1098

 

2. Verifique se você alterou algum arquivo no otclient/src/protocolgame.cpp ou protocolgame.h

Se você adicionou ou removeu pacotes customizados no servidor (ex: efeitos visuais, dados de Pokémon, sistemas de aura), o otclient também precisa ser atualizado para entender os mesmos pacotes.

 

Exemplo comum:

Se o servidor envia um packet opcode customizado, e o otclient não reconhece esse opcode, ele quebra a leitura de pacotes seguintes, resultando em erro de decodificação.

3. Como corrigir

Você precisa comparar os pacotes usados pelo servidor e pelo cliente:

💡 Ferramenta útil:

Use um diff tool (ex: Meld ou GitHub diff) para comparar:

protocolgame.cpp do seu servidor

protocolgame.cpp do otclient

Busque por funções como:

  Mostrar conteúdo oculto

parsePacket()

parseLogin()

parseMapDescription

()

 

4. Erros comuns que causam “protocolo inválido”

Usar a versão errada do protocolo (ex: servidor envia como 1098 e o cliente espera 1050).

 

Falta de pacotes customizados no cliente.

 

Mismatch em comprimentos de pacotes (read<uint16_t>() diferente do que o servidor envia).

 

Charset ou compressão ativada em um lado e não no outro (ex: Zlib, RSA, XTEA).

 

 5. Sugestão para testar rapidamente

Se você recompilou o otclient sem nenhuma modificação e ele falha, tente:

 

Baixar o otclient modificado que o servidor original usava (provavelmente o otclientv8 ou um fork do edubart/otclient já adaptado pro poketibia).

 

Testar com esse cliente. Se funcionar, o problema está mesmo nas modificações do cliente que você fez.

 

Se você quiser, posso olhar o trecho de código do seu protocolgame.cpp ou do erro completo que o cliente te dá. Se puder compartilhar qual base de servidor você está usando (PokeDash, PokeZot, DxP, PokeLife, etc.) e qual commit do otclient, consigo te ajudar com algo mais específico.

É a primeira vez eu compilando o otcliente, posso ter feito algo errado tambem, ou instalado uma dependencia muito atualizada para aque o otcliente espera não? tem algo haver? se puder me ajudar me passa seu discord to usando a base pokenumb, acho que é 8.54. e peguei a src tudo atualizado bonitinho era pra funcionar... acho que fiz algo errado mesmo

 

Link para o comentário
https://tibiadevs.com/forums/topic/1128-estou-com-um-problema-ao-recompilar-meu-otc/#findComment-5911
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...