Résolu Ecran de création de personnage incomplet

Inscrit
29 Aout 2016
Messages
6
J'aime
0
#1
Bonjour à tous !

Je suis actuellement en train de dev un serveur D2 (pour le fun) et je rencontre un problème assez frustrant.
J'utilise la méthode du RawDataMessage j'ai donc dû patcher l'invoker à plusieurs endroit, et n'étant pas du tout un expert en 'patchage' j'ai peur d'avoir pété un truc.

Voici l'écran que j'obtient après l'envoi du CharacterListMessage (c'est censé être l'écran de création de perso) :



J'ai pensé au début que j'avais mal envoyé le message ou qu'il fallait en envoyer d'autres mais après analyse par rapport à l'officiel je n'ai pas l'impression que ce soit ça.
Le plus troublant c'est qu'aucune erreur n’apparaît dans les logs du client.

Voici la liste des échange entre le client et le serveur de jeu:
- Server 1: ProtocolRequired
C#:
protected override void serializeData(ICustomDataWriter writer)
{
   writer.WriteUInt(RequiredVersion);
   writer.WriteUInt(CurrentVersion);
}
- Server 101: HelloGame
C#:
protected override void serializeData(ICustomDataWriter writer)
{
}
- Client 110: AuthenticationTicket
C#:
protected override bool deserializeData(ICustomDataReader reader)
{
    Lang = reader.ReadUTF();
    Ticket = reader.ReadUTF();
   
    // Pour une raison obscure, je reçois le ticket comme ça: "53,54,75,107..." -> parsing obligatoire
    Ticket = string.Join("", Ticket.Split(',').Select(n => (char)byte.Parse(n)));

    return true;
}
- Server 111: AuthenticationTicketAccepted
C#:
protected override void serializeData(ICustomDataWriter writer)
{
}
- Client 150: CharactersListRequest
C#:
protected override bool deserializeData(ICustomDataReader reader)
{
    return true;
}
- Server 151: CharacterList
C#:
protected override void serializeData(ICustomDataWriter writer)
{
    writer.WriteShort(0); // Character count
    writer.WriteBool(false); // Has startup actions (?)
}

Et les modifications apportées au client (2.48.14):

Je vais continuer à investiguer de mon côté, si quelqu'un a une idée je suis preneur.
Merci !
 
Inscrit
29 Aout 2016
Messages
6
J'aime
0
#3
Problème résolu avec l'aide de Headspace.

Il manquait juste le AccountCapabilitiesMessage(6216) à envoyer juste après le AuthenticationTicketAcceptedMessage.
 
Inscrit
9 Novembre 2017
Messages
16
J'aime
0
#6
J'essaie de le faire avec ce logiciel, mais je ne reçois pas la modification comme vous l'avez dans la publication que vous avez faite. Vous le modifiez avec le code p ou la modification expérimentale, aucun des deux n’ayant réussi à le faire fonctionner.
pour la modification ne sont que ces 3 fichiers ou manquant quelqu'un d'autre?
 
Haut Bas