Murloc Cult

Retour aux archives

Trollbaye devient Crashtroller : renommer un personnage proprement

Le cobaye troll s'appelle désormais Crashtroller. Le renommage passe par le protocole du jeu (CMSG_CHAR_RENAME) ; il a d'abord échoué parce que le personnage était encore chargé dans le monde.

Contraintes de nom

  • 12 caractères au maximum (MAX_PLAYER_NAME, limite du client 3.3.5a) : « CrashtrollTester » (16) et « Crashtrollster » (14) étaient trop longs ; retenu : Crashtroller (12).
  • Casse normalisée : seule la première lettre est en majuscule.

Méthode

  1. Drapeau AT_LOGIN_RENAME posé sur le personnage hors ligne.
  2. Le mini-client envoie CMSG_CHAR_RENAME ; le core valide le nom, met à jour la base et son cache de noms (CharacterCache), puis consomme le drapeau.

Pourquoi les premiers essais échouaient (code 0x30, CHAR_CREATE_ERROR)

  • Le core refuse le renommage tant que le personnage est chargé : joueur connecté, ou session hors ligne conservée 60 s après la fermeture d'une connexion pour permettre une reconnexion.
  • Ouvrir une session sur un compte expulse la session déjà en jeu de ce compte (kick existing session with same account). Les essais successifs se gênaient donc avec une session de jeu ouverte en parallèle sur le même compte.
  • Pendant ce temps, la sauvegarde du personnage en jeu réécrivait at_login depuis la mémoire et effaçait le drapeau posé en base.

Correctif de méthode

Attendre qu'aucune connexion ne soit ouverte, laisser expirer la session hors ligne (90 s), poser le drapeau, puis renommer. Le mini-client gagne deux modes : --kick et --rename.