SID_CREATEACCOUNT2
| Protocol | BNCS |
|---|---|
| Directions | Client → Server and Server → Client |
| Used by |
Creates an account using an X-SHA-1 password hash.
Client → Server
When the player creates a new account, usually after SID_LOGONRESPONSE2 reports that the account doesn't exist.
| Type | Field | Notes | Confidence |
|---|---|---|---|
VOID |
Password hash (20 bytes) | X-SHA-1 of the password converted to lowercase, hashed once. | ✅ Verified |
STRING |
Account name | Names longer than 15 characters are cut short. | ✅ Verified |
Server → Client
| Type | Field | Notes | Confidence |
|---|---|---|---|
UINT32 |
Status | See the table below. | ✅ Verified |
STRING |
Suggested name | May be empty. | ⚠️ Single source |
Status
| Value | Meaning | Confidence |
|---|---|---|
0x00 | Account created. | ✅ Verified |
0x02 | Name contains characters that aren't allowed. | ⚠️ Single source |
0x03 | Name contains a banned word. | ⚠️ Single source |
0x04 | An account with that name already exists. | ✅ Verified |
0x06 | Name doesn't have enough letters or numbers. | ⚠️ Single source |
0x07 | Name has punctuation characters next to each other. | ⚠️ Single source |
0x08 | Name has too much punctuation. | ⚠️ Single source |
Remarks
Lowercasing is the client's job. The server only ever sees the hash, never the password, so it can't fix a client that forgets to lowercase first. An account created that way can only be logged on to by clients that make the same mistake. Blizzard's own clients always lowercase.
Warcraft III doesn't use this message. It creates accounts with SID_AUTH_ACCOUNTCREATE.
Appears in
Sources and credits
- Command Center: PROTOCOL-NOTES.md: hashing rules, and the status codes confirmed so far
- BNETDocs, SID_CREATEACCOUNT2 (client to server): documented by the original BNETDocs contributors.
- BNETDocs, SID_CREATEACCOUNT2 (server to client): documented by the original BNETDocs contributors, and edited 1 times since.
This page is written in our own words. BNETDocs is credited for its research; none of its text is copied. See Credits.