Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

block cheat enchant (server side)

Newbie Spellweaver
Joined
Jul 10, 2011
Messages
58
Reaction score
29
hi, :laugh:
i just want to share how to block cheat enchant by server side.
this code work for luna classic and luna plus,
- first open the source code Map Server
- open ItemManager.cpp
- find "CItemManager::Enchant"
- scroll down and find
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx )
- change it to
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx || item->wIconIdx != message->mProtectionItem.wIconIdx  )

i just decide for share the code, if you have a good skill in c++ you can use it for block cheat duplicate and cheat reinforce luna classic.
 
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
hi, :laugh:
i just want to share how to block cheat enchant by server side.
this code work for luna classic and luna plus,
- first open the source code Map Server
- open ItemManager.cpp
- find "CItemManager::Enchant"
- scroll down and find
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx )
- change it to
Code:
if( !item || item->dwDBIdx != message->mProtectionItem.dwDBIdx || item->wIconIdx != message->mProtectionItem.wIconIdx  )

i just decide for share the code, if you have a good skill in c++ you can use it for block cheat duplicate and cheat reinforce luna classic.

It seems like this just adds an additional check to ensure the icon matches along with the existing check that the item id matches, while this would defeat the existing hack that revolve around editing the item id with a cheating tool, it seems it wouldn't take much to edit the icon id to match up in the client as well to bypass this fix. Better then nothing though, thanks for the release pinux!
 
Joined
Mar 3, 2008
Messages
408
Reaction score
15
actually it seems that wIconIdx points to the ItemIdx on the database, not the icon

ItemInfo.dwDBIdx = DBIdx;
ItemInfo.wIconIdx = ItemIdx;
i feel the urge to try editing it like you were saying though
 
Newbie Spellweaver
Joined
Jul 10, 2011
Messages
58
Reaction score
29
yes it's linked to itemidx, so it's 100% fixed without weakness again.
 
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
yes it's linked to itemidx, so it's 100% fixed without weakness again.

Interesting, I wonder why EYA decided to name it IconIDX rather then just calling it ItemIDX then? Doesn't make much sense XD Not that anything they do makes sense :/
 
Back
Top