O char.c e login.c foi todo refeito.
Quando chega nessa marte muitos não conseguem concluir, poderia nos ajudar? Abraços.
Em https://github.com/rathena/rathena/blob/master/src/char/char_logif.c
Procure:
// login-server alive packet
case 0x2718: next = chlogif_parse_keepalive(fd, sd); break;
Adicione abaixo:
// Harmony
case 0x40a3:
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2))
return 0;
{
RFIFOW(fd, 0) = 0x40a4;
chmapif_sendall(RFIFOP(fd, 0), RFIFOW(fd,2));
}
RFIFOSKIP(fd, RFIFOW(fd,2));
break;
Agora em https://github.com/rathena/rathena/blob/master/src/char/char_mapif.c
Procure:
case 0x2b23: next=chmapif_parse_keepalive(fd); break;
Adicione abaixo:
case 0x40a1: // Harmony
{
uint16 len;
if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < (len = RFIFOW(fd,2)))
return 0;
if (login_fd > 0) {
WFIFOHEAD(login_fd,len);
WFIFOW(login_fd, 0) = 0x40a2;
memcpy(WFIFOP(login_fd, 2), RFIFOP(fd, 2), len-2);
WFIFOSET(login_fd, len);
}
RFIFOSKIP(fd, len);
}
break;
Se não me engano é só, use o diff Server_rAthena_r2014-02-23 que tem na pasta Manual Install do Harmony, se minha memória não estiver ruim, só o que muda desse diff para o rAthena é a parte do char.c que foi refeito, então é só pular a parte do char.c no diff e fazer como expliquei no tópico, compile e boa sorte.
PS: Peço desculpas por não ter respondido antes, estive ausente das comunidades e só retornei agora junto com o brAthena.