Murloc Cult

Back to the archive

Trollbaye becomes Crashtroller: renaming a character cleanly

The troll guinea pig is now called Crashtroller. The rename goes through the game protocol (CMSG_CHAR_RENAME); it first failed because the character was still loaded in the world.

Name constraints

  • 12 characters max (MAX_PLAYER_NAME, 3.3.5a client limit): “CrashtrollTester” (16) and “Crashtrollster” (14) were too long; chosen: Crashtroller (12).
  • Normalized case: only the first letter is uppercase.

Method

  1. AT_LOGIN_RENAME flag set on the offline character.
  2. The mini-client sends CMSG_CHAR_RENAME; the core validates the name, updates the database and its name cache (CharacterCache), then clears the flag.

Why the first attempts failed (code 0x30, CHAR_CREATE_ERROR)

  • The core refuses a rename while the character is loaded: connected player, or an offline session kept for 60 s after a connection closes to allow reconnecting.
  • Opening a session on an account kicks that account's in-game session (kick existing session with same account). Successive attempts therefore collided with a game session open in parallel on the same account.
  • Meanwhile, saving the in-game character rewrote at_login from memory and erased the flag set in the database.

Method fix

Wait until no connection is open, let the offline session expire (90 s), set the flag, then rename. The mini-client gains two modes: --kick and --rename.