Forums WoW Modding Tutorials Serverside [Archive] Server Core Unlocks

[Archive] Server Core Unlocks

[Archive] Server Core Unlocks

rektbyfaith
Administrator
0
11-03-2025, 12:01 PM
#1
Hotfix Size  — Having trouble sending your entire ItemSparse to clients as a hotfix?

Spoiler

WorldSocket.h - line 60 sets the size limit. Append 0s to increase.

60. bool IsValidSize() { return Size < 0x10000; }

Race/Class Combination  — Trying to change your character's class in the SQL table to one not normally available, but don't want to bother hotfixing CharBaseInfo?

Spoiler

Player.cpp - line 416 will refuse to create the character. Comment it out with //.

414. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking attempt: Account %u tried to create a character named '%s' with an invalid race/class pair (%u/%u) - refusing to do so.",
415. GetSession()->GetAccountId(), m_name.c_str(), createInfo->Race, createInfo->Class);
416. return false;

Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.

17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;

Player.cpp - line 19847 will refuse to let the character into the world. Comment it out with //.

19845. TC_LOG_ERROR("entities.player", "Player::_LoadHomeBind: Player '%s' (%s) has incorrect race/class (%u/%u) pair. Can't load.",
19846. GetGUID().ToString().c_str(), GetName().c_str(), uint32(getRace()), uint32(getClass()));
19847. return false;

Character Appearance  — Trying to enable NPC skins for players?

Spoiler

Player.cpp - line 436 will refuse to create the character. Comment it out with //.

434. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking-attempt: Account %u tried creating a character named '%s' with invalid appearance attributes - refusing to do so.",
435. GetSession()->GetAccountId(), m_name.c_str());
436. return false;

Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.

317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;

Fatigue  — Swim to your heart's content.

Spoiler

Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.

17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;

Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.

317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;

Equipment Restrictions  — Because nobody wants to hotfix the entire ItemSparse table

Spoiler

Player.cpp - Player::CanUseItem (line 11626) is responsible for denying equipment. Comment if-statements out with // as needed.

if (!proto)
return EQUIP_ERR_ITEM_NOT_FOUND;

if (proto->GetFlags2() & ITEM_FLAG2_INTERNAL_ITEM)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_HORDE) && GetTeam() != HORDE)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_ALLIANCE) && GetTeam() != ALLIANCE)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetAllowableClass() & getClassMask()) == 0 || (proto->GetAllowableRace() & getRaceMask()) == 0)
return EQUIP_ERR_CANT_EQUIP_EVER;

...

Chat Message Limit  — tldr;

Spoiler

Chat.cpp - line 470 sets the character limit. Increase or comment out the if-statement.

470. if (strlen(message) > 255)
471. return false;
rektbyfaith
11-03-2025, 12:01 PM #1

Hotfix Size  — Having trouble sending your entire ItemSparse to clients as a hotfix?

Spoiler

WorldSocket.h - line 60 sets the size limit. Append 0s to increase.

60. bool IsValidSize() { return Size < 0x10000; }

Race/Class Combination  — Trying to change your character's class in the SQL table to one not normally available, but don't want to bother hotfixing CharBaseInfo?

Spoiler

Player.cpp - line 416 will refuse to create the character. Comment it out with //.

414. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking attempt: Account %u tried to create a character named '%s' with an invalid race/class pair (%u/%u) - refusing to do so.",
415. GetSession()->GetAccountId(), m_name.c_str(), createInfo->Race, createInfo->Class);
416. return false;

Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.

17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;

Player.cpp - line 19847 will refuse to let the character into the world. Comment it out with //.

19845. TC_LOG_ERROR("entities.player", "Player::_LoadHomeBind: Player '%s' (%s) has incorrect race/class (%u/%u) pair. Can't load.",
19846. GetGUID().ToString().c_str(), GetName().c_str(), uint32(getRace()), uint32(getClass()));
19847. return false;

Character Appearance  — Trying to enable NPC skins for players?

Spoiler

Player.cpp - line 436 will refuse to create the character. Comment it out with //.

434. TC_LOG_ERROR("entities.player.cheat", "Player::Create: Possible hacking-attempt: Account %u tried creating a character named '%s' with invalid appearance attributes - refusing to do so.",
435. GetSession()->GetAccountId(), m_name.c_str());
436. return false;

Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.

317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;

Fatigue  — Swim to your heart's content.

Spoiler

Player.cpp - line 17643 will refuse to let the character into the world. Comment it out with //.

17642. TC_LOG_ERROR("entities.player", "Player::LoadFromDB: Player (%s) has wrong race/class (%u/%u), can't load.", guid.ToString().c_str(), getRace(), getClass());
17643. return false;

Character Handler.cpp - line 320 will reset the appearance options. Comment it out with //.

317. TC_LOG_ERROR("entities.player.loading", "Player %s has wrong Appearance values (Hair/Skin/Color), forcing recustomize", charInfo.Guid.ToString().c_str());
318.
319. // Make sure customization always works properly - send all zeroes instead
320. charInfo.Skin = 0, charInfo.Face = 0, charInfo.HairStyle = 0, charInfo.HairColor = 0, charInfo.FacialHair = 0;

Equipment Restrictions  — Because nobody wants to hotfix the entire ItemSparse table

Spoiler

Player.cpp - Player::CanUseItem (line 11626) is responsible for denying equipment. Comment if-statements out with // as needed.

if (!proto)
return EQUIP_ERR_ITEM_NOT_FOUND;

if (proto->GetFlags2() & ITEM_FLAG2_INTERNAL_ITEM)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_HORDE) && GetTeam() != HORDE)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetFlags2() & ITEM_FLAG2_FACTION_ALLIANCE) && GetTeam() != ALLIANCE)
return EQUIP_ERR_CANT_EQUIP_EVER;

if ((proto->GetAllowableClass() & getClassMask()) == 0 || (proto->GetAllowableRace() & getRaceMask()) == 0)
return EQUIP_ERR_CANT_EQUIP_EVER;

...

Chat Message Limit  — tldr;

Spoiler

Chat.cpp - line 470 sets the character limit. Increase or comment out the if-statement.

470. if (strlen(message) > 255)
471. return false;

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)