diff --git a/Source/Game/Handlers/CharacterHandler.cs b/Source/Game/Handlers/CharacterHandler.cs index 939e2be81..be5f72b49 100644 --- a/Source/Game/Handlers/CharacterHandler.cs +++ b/Source/Game/Handlers/CharacterHandler.cs @@ -509,6 +509,13 @@ namespace Game return; } + // Check name uniqueness in the same step as saving to database + if (Global.CharacterCacheStorage.GetCharacterCacheByName(createInfo.Name) != null) + { + SendCharCreate(ResponseCodes.CharCreateNameInUse); + return; + } + Player newChar = new(this); newChar.GetMotionMaster().Initialize(); if (!newChar.Create(Global.ObjectMgr.GetGenerator(HighGuid.Player).Generate(), createInfo))