Most visitors online was 8830 , on 6 Feb 2024
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!To fix it, you have to know how/method they use to dupe item. NOT just simple like "dupe items in vault" <- that's meaningless.
Use all your tools (log/packet/ ... or virus ^-^ yes!!! i'm serious ^-^) and a little brain to trace them
As my long-term Mu Hacking experience, there is at least 2-3 dupe method in IGCN Season 9++...
While IGCN just knew and fixed 1 of them in a critical update in Season 12 (last year) ^.^ Big Hint "Change CS/Market Server Map move" Am I correct drakelv?
Anyway, Good luck !!!
Ps: Another way to solve duping, which I am using now :
Create a New Server Process (has its own CPU resources priority), just has 1 job : checking item serial, by using some algorithms and rules... Ex: 1 of my rules list is "If an item was sold to NPC / broken when upgrading in CM / or was used (like jewels)... , its serial will be added to BLACK_LIST . So, if any player trigger an item with that serial again, a BAN command will be issued immediately." Simple rules, but useful.
1 more example about rules : "If a player traded an item to another one, that item serial will change owner right. If the item serial be triggered by someone that has not owner right, BAN!!!"
[URL="https://l.facebook.com/l.php?u=http://[22%3A40%3A44]%2F&h=ATNeSXDM6Z7j1T1v7iTZEAiUoYpbrMts-J5ojMkV-UyLQ-aaWdHJL7yBbuihM1aXfyNXdJ6UZvgoRfzaXqI0ika18b68sKPVpsboP8TUPvGDwucTZ1Ldyw"][20:31:17] [death][DeaWalk] SW [0,Jewel of Bless,0,0,0,0]serial:[645113] dur:[1] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [1,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [2,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [3,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [4,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [5,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [6,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [7,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [8,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [17,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [18,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [19,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [20,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [21,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [22,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [23,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [24,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [33,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [34,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [35,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [36,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [37,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [38,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [39,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [40,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [49,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [50,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [51,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [52,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [53,Scroll of Fire Ball,0,0,0,0]serial:[0] dur:[0] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0]
[20:31:17] [death][DeaWalk] SW [119,Jewel of Bless,0,0,0,0]serial:[639292] dur:[1] Ex:[0,0,0,0,0,0,0] Set:[0] 380:[0] HO:[0,0] E:[0][/URL]
Code:CharSaveLog->Output("[%s][%s] SI[%d,%s,%d,%d,%d,%d]serial:[%I64d] dur:[%d] Ex:[%d,%d,%d,%d,%d,%d,%d] Set[%d] 380:[%d] HO:[%d,%d] E:[%d]", lpObj->AccountID, lpObj->Name, n, lpObj->pInventory[n].GetName(), lpObj->pInventory[n].m_Level, lpObj->pInventory[n].m_Option1, lpObj->pInventory[n].m_Option2, lpObj->pInventory[n].m_Option3, lpObj->pInventory[n].m_Number, (BYTE)lpObj->pInventory[n].m_Durability, NewOption[0], NewOption[1], NewOption[2], NewOption[3], NewOption[4], NewOption[5], NewOption[6], lpObj->pInventory[n].m_SetOption,lpObj->pInventory[n].m_ItemOptionEx >> 7,g_kJewelOfHarmonySystem.GetItemStrengthenOption(&lpObj->pInventory[n]),g_kJewelOfHarmonySystem.GetItemOptionLevel(&lpObj->pInventory[n]), lpObj->pInventory[n].m_BonusSocketOption);