Mário. Posted December 2, 2017 at 10:08 PM Share Posted December 2, 2017 at 10:08 PM Bem, vejo-me obrigado a fazer este tópico por vários fatores, sendo uma delas a falta de tempo. Ontem este tópico: No entanto foi despropositado, pois tal como este que irei apresentar, não passou de um simples erro que acabei por resolver e também dar a solução para os que forem ter no futuro, porém, tal como disse no começo, não tenho tido mesmo tempo de sobra para poder dedicar-me a isto e peço a vossa ajuda a quem souber resolver isto. Por algum motivo, sempre que tento teleportar, o personagem fica desta forma: O syserr diz o seguinte: SYSERR: Dec 2 20:30:15.320040 :: Analyze: login phase does not handle this packet! header 3 SYSERR: Dec 2 20:30:15.320999 :: Process: SEQUENCE 295e5800 mismatch 0xca != 0x2f header 3 SYSERR: Dec 2 20:30:15.321020 :: Process: SEQUENCE_LOG [UNKNOWN]------------- Ora, o header 3 refere-se ao HEADER_CG_MOVE no entanto não fiz nenhuma alteração nesse campo e não entendo o porquê disto. Com uma curta pesquisa, percebi que para "solucionar" o primeiro erro que aparece era somente acrescentar "case HEADER_CG_MOVE: break;" no input_login.cpp, e isso acabou por fazer "desaparecer" o mesmo do syserr, porém o erro da sequência não termina. Já testei alterar por completo a tabela de sequência por diffs e (in)felizmente não deu certo - se temos a disponibilidade de source, porquê usar diffs -, as sequências foram editadas com sucesso mas o erro persistiu. Considero o erro simples e sei que haverá alguma pessoa aqui que tem a solução (o facto de ser simples não significa que seja fácil). Como ninguém neste mundo gosta de perder tempo de graça, ofereço um valor monetário a quem conseguir ajudar-me a resolver o problema. Ficarei à vossa espera! Link to comment Share on other sites More sharing options...
znyR Posted December 2, 2017 at 10:12 PM Share Posted December 2, 2017 at 10:12 PM Não há necessidade de pagares numa zona de problemas/pedidos.. Posso tentar "dar algumas sugestões", deixa-me o teu skype por mensagem se quiseres. Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted December 3, 2017 at 12:05 AM Share Posted December 3, 2017 at 12:05 AM A sequencia esta igual em servidor e cliente? Coloca aqui packet.h do cliente e servidor, por vezes o id do packet que aparece no erro não é o correcto Vê também se tens isto assim em char.cpp e em input_main.cpp __ Tens _IMPROVED_PACKET_ENCRYPTION_ ativado ou desativado? Link to comment Share on other sites More sharing options...
Mário. Posted December 3, 2017 at 01:16 AM Author Share Posted December 3, 2017 at 01:16 AM Do servidor: HEADER_GC_MOVE = 3, Do cliente: HEADER_GC_CHARACTER_MOVE = 3, Aqui fica os packets do servidor e do cliente, respetivamente: https://pastebin.com/0X70CwDY https://pastebin.com/DVFFB0gn char.cpp possui exatamente isso: void EncodeMovePacket(TPacketGCMove & pack, DWORD dwVID, BYTE bFunc, BYTE bArg, DWORD x, DWORD y, DWORD dwDuration, DWORD dwTime, BYTE bRot) { pack.bHeader = HEADER_GC_MOVE; pack.bFunc = bFunc; pack.bArg = bArg; pack.dwVID = dwVID; pack.dwTime = dwTime ? dwTime : get_dword_time(); pack.bRot = bRot; pack.lX = x; pack.lY = y; pack.dwDuration = dwDuration; } input_main.cpp possui o mesmo: pack.bHeader = HEADER_GC_MOVE; pack.bFunc = pinfo->bFunc; pack.bArg = pinfo->bArg; pack.bRot = pinfo->bRot; pack.dwVID = ch->GetVID(); pack.lX = pinfo->lX; pack.lY = pinfo->lY; pack.dwTime = pinfo->dwTime; pack.dwDuration = (pinfo->bFunc == FUNC_MOVE) ? ch->GetCurrentMoveDuration() : 0; Tenho-o neste preciso momento ativado, no entanto com os conselhos que o @znyR tem-me dado, já o desativei para testes porém não consigo sequer entrar visto que a sequência do auth impossibilita o mesmo: SYSERR: Dec 2 23:51:30.260244 :: Process: UNKNOWN HEADER: 221, LAST HEADER: 0(0), REMAIN BYTES: 72, fd: 15 SYSERR: Dec 2 23:51:57.899997 :: Analyze: This phase does not handle this header 13 (0xd)(phase: AUTH) SYSERR: Dec 2 23:51:57.900040 :: Process: SEQUENCE 28d0a000 mismatch 0xaf != 0x6e header 13 SYSERR: Dec 2 23:51:57.900064 :: Process: SEQUENCE_LOG [UNKNOWN]------------- [013 : 0xaf] Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted December 3, 2017 at 01:41 AM Share Posted December 3, 2017 at 01:41 AM Isso tem a ver com a chave 1234abcd ou testtest provavelmente, tem de ser igual em cliente e servidor. A clientkey (diferente do pong acima) e usada também na sequencia,caso seja diferente de servidor/cliente dará esses erros também Já não estou no pc, só posso ver amanha a noite ou 2f de madrugada Link to comment Share on other sites More sharing options...
Mário. Posted December 3, 2017 at 07:23 PM Author Share Posted December 3, 2017 at 07:23 PM 17 horas atrás, Tierri Lopes disse: Isso tem a ver com a chave 1234abcd ou testtest provavelmente, tem de ser igual em cliente e servidor. A clientkey (diferente do pong acima) e usada também na sequencia,caso seja diferente de servidor/cliente dará esses erros também Já não estou no pc, só posso ver amanha a noite ou 2f de madrugada Tens razão, mudei a chave do cliente e consegui entrar, no entanto o erro persiste: SYSERR: Dec 3 18:22:48.610100 :: Analyze: login phase does not handle this packet! header 3 SYSERR: Dec 3 18:22:48.611197 :: Process: SEQUENCE 2a222c00 mismatch 0xca != 0x64 header 3 SYSERR: Dec 3 18:22:48.611240 :: Process: SEQUENCE_LOG [UNKNOWN]------------- [109 : 0xaf] [003 : 0xca] Link to comment Share on other sites More sharing options...
Requiem Posted December 3, 2017 at 07:31 PM Share Posted December 3, 2017 at 07:31 PM Até parece é teres source do cliente com algo diferente da source das files Link to comment Share on other sites More sharing options...
Mário. Posted December 3, 2017 at 07:44 PM Author Share Posted December 3, 2017 at 07:44 PM 5 minutos atrás, Requiem disse: Até parece é teres source do cliente com algo diferente da source das files Sim meu caro, o único problema é saber o quê propriamente, visto que não mexi (ou que me lembre) em algo a ver com o header do movimento Link to comment Share on other sites More sharing options...
Requiem Posted December 3, 2017 at 07:50 PM Share Posted December 3, 2017 at 07:50 PM Tenta seguir este tópico, pode ser que te ajude. Metin2DEV Link to comment Share on other sites More sharing options...
Mário. Posted December 3, 2017 at 08:05 PM Author Share Posted December 3, 2017 at 08:05 PM 11 minutos atrás, Requiem disse: Tenta seguir este tópico, pode ser que te ajude. Metin2DEV Obrigado pela ajuda mas esse foi um dos primeiros tópicos que encontrei e de nada me serviu. Eu consigo fazer com que o erro pare de aparecer, mas ele continua a existir, tal como um rapaz disse no tópico: Citar I think this just disables it so it not showed in syserr, but the error is still going on the server background. Link to comment Share on other sites More sharing options...
Requiem Posted December 3, 2017 at 08:06 PM Share Posted December 3, 2017 at 08:06 PM Pois, então lamento mas não te consigo ajudar mais.. Pode ser que o tierri consiga Link to comment Share on other sites More sharing options...
trample Posted December 4, 2017 at 02:11 AM Share Posted December 4, 2017 at 02:11 AM certeza qe no sysser so aparece este erro? ou tem algo a mais se possivel compartilha aii Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted December 4, 2017 at 02:26 AM Share Posted December 4, 2017 at 02:26 AM O primeiro erro como disseste, é só mesmo fazer o que fizeste, não é bem um erro mas um aviso que esse packet não tem codigo especificado Cliente/userinterface/netstream.cpp sff coloca o que está em: static BYTE s_bSequenceTable[SEQUENCE_TABLE_SIZE] = { game/sequence.cpp sff coloca o que está em: const BYTE gc_abSequence[SEQUENCE_MAX_NUM] = Se isso estiver ok então amanhã vou ler os packets, ver se algo está diferente entre ambos Link to comment Share on other sites More sharing options...
Mário. Posted December 4, 2017 at 03:40 PM Author Share Posted December 4, 2017 at 03:40 PM A comparação dos dois está igual, comparei os dois e não houve nenhuma falha: Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted December 4, 2017 at 03:57 PM Share Posted December 4, 2017 at 03:57 PM Com uma personagem acabada de criar (dá apenas level/gm), acontece o mesmo? Link to comment Share on other sites More sharing options...
Mário. Posted December 4, 2017 at 04:15 PM Author Share Posted December 4, 2017 at 04:15 PM Ora, criei uma personagem chama tlthings e acontece o tal erro que tinha dito no início sobre o selecionar a personagem, ela fica apenas assim (sem qualquer erro no syserr, tanto no auth como na db): A acontecer isto, sou obrigado a sair da conta e a entrar de novo para conseguir entrar. No entanto o erro persiste somente se fizer teleportar (/go c): OBS: Uma observação, apesar de considerar irrelevante, antes aparecia o nível e o karma do jogador assim que criasse a personagem e agora não aparece, só se alterar ou relogar (talvez tenha a ver com erro?) 14 horas atrás, trample disse: certeza qe no sysser so aparece este erro? ou tem algo a mais se possivel compartilha aii Perdão, não tinha visto a resposta! Com certeza absoluta o erro apenas refere-se a isso: Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted December 4, 2017 at 04:20 PM Share Posted December 4, 2017 at 04:20 PM «dwNewIsGuildName» Isto é aquele sistema de mostrar o lider, general, etc das guilds acima da personagem? O do vegas? Experimenta desativá-lo sff Os packets normais do jogo estão todos iguais aos meus, por isso deverá vir de outro lado Link to comment Share on other sites More sharing options...
Sinval Posted December 4, 2017 at 04:54 PM Share Posted December 4, 2017 at 04:54 PM A um tempo atrás eu tentei resolver isso de toda forma possível, cheguei até a pagar por uma "correção", ficou mais estável mas não muda muita coisa, sempre vai ter problemas. Tenha cuidado que muita gente diz que corrigi, cata a grana e vaza. (Eu desisti de resolver.) Link to comment Share on other sites More sharing options...
Mário. Posted December 4, 2017 at 05:36 PM Author Share Posted December 4, 2017 at 05:36 PM 1 hora atrás, Tierri Lopes disse: «dwNewIsGuildName» Isto é aquele sistema de mostrar o lider, general, etc das guilds acima da personagem? O do vegas? Experimenta desativá-lo sff O erro persiste meu amigo! 40 minutos atrás, Sinval disse: A um tempo atrás eu tentei resolver isso de toda forma possível, cheguei até a pagar por uma "correção", ficou mais estável mas não muda muita coisa, sempre vai ter problemas. Tenha cuidado que muita gente diz que corrigi, cata a grana e vaza. (Eu desisti de resolver.) Se for para pagar, será somente depois do problema for resolvido mas obrigado pelas palavras Em caso de não existir solução até sexta, terei que levar a cabo o plano B e desistir disto Link to comment Share on other sites More sharing options...
trample Posted December 4, 2017 at 09:41 PM Share Posted December 4, 2017 at 09:41 PM ta errado seu syser nao ta mostrando o verdadeiro erro ! segundo voce deve copilar uma debug e depois prestar a atenaçao do que acontece la voce vai achar o verdadeiro erro se gostou da ideia de like ! pq se isso nao resolver me mato aqui kkk mais nao e e esse o erro do syser amigo se vc mecheu nisso pode desfazer tudo ! Link to comment Share on other sites More sharing options...
Mário. Posted December 5, 2017 at 05:59 PM Author Share Posted December 5, 2017 at 05:59 PM Dei debug e não mostrou nada que pudesse a ver com o erro, mas agradeço pela ajuda. Infelizmente terei que seguir o plano B até conseguir mais detalhes sobre o erro. Obrigado a todos que tentaram ajudar, a vossa ajuda foi notada. Podem fechar o tópico. Link to comment Share on other sites More sharing options...
trample Posted December 6, 2017 at 10:03 PM Share Posted December 6, 2017 at 10:03 PM tem uma surce de bekape ? para teste ? o erro deve ta la entao Link to comment Share on other sites More sharing options...
Mário. Posted February 24, 2018 at 01:36 AM Author Share Posted February 24, 2018 at 01:36 AM (edited) Citar Considero o erro simples e sei que haverá alguma pessoa aqui que tem a solução (o facto de ser simples não significa que seja fácil). A verdade é essa, depois de tanto tempo já consegui descobrir a solução para tal erro, por isso lembrei logo deste tópico e decidi postar aqui invés de criar outro: login phase does not handle this packet! header 3 Este erro refere-se que a fase/passagem do login não consegue suportar um packet que não está inserido do int CInputLogin::Analyze(LPDESC d, BYTE bHeader, const char * c_pData): default: sys_err("login phase does not handle this packet! header %d", bHeader); A partir daqui, declaramos que é por default que apareça sempre um erro derivado a um header que o game não consegue analisar nem comunicar de volta para o cliente. Lembrando que são só headers GC (Game to Client) e CG( Client to Game) sendo improvável de ser DG (visto tratar da Database para Game respetivamente) - se for, alguma coisa de incomum tem o vosso game -. Analisando pelo número que nos é dado (3), através do packet.h, procuramos pelo header que se iguala pelo mesmo, sendo o nosso: HEADER_GC_MOVE Agora, para o game analisar corretamente o header a sair para o cliente, é necessário inserir o seguinte no int CInputLogin::Analyze(LPDESC d, BYTE bHeader, const char * c_pData): case HEADER_CG_MOVE: break; No entanto se acontecer estes tipos de erros: Analyze: Handshake phase does not handle packet 66 Façam a mesma coisa mas insiram no int CInputHandshake::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) - input.cpp: else if (bHeader == HEADER_CG_SCRIPT_BUTTON) sys_log("This is a kind of fix for the error: Handshake phase does not handle packet 66"); Edited February 24, 2018 at 01:37 AM by Mário. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now