-
Posts
305 -
Joined
-
Last visited
-
Days Won
2 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by FlorinMarian
-
Hi, guys! I've studied C++ last year at informatics but I can't say that it was love at first seen. If anyone can see where's the nullptr which causes this, i'll be very glad to give thank him. [New LWP 100559] Core was generated by `./srv1-ch1-core1'. Program terminated with signal SIGABRT, Aborted. #0 thr_kill () at thr_kill.S:3 3 thr_kill.S: No such file or directory. [Current thread is 1 (LWP 100121)] (gdb) bt #0 thr_kill () at thr_kill.S:3 #1 0x00e5239a in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52 #2 0x00de2ad1 in abort () at /usr/src/lib/libc/stdlib/abort.c:67 #3 0x00d7f4bf in report_failure (err=<optimized out>, thrown_exception=0xf2aa7dc0) at cxxrt_exception.cc:719 #4 0x00d7e232 in operator new (size=<optimized out>) at cxxrt_memory.cc:100 #5 0x008aecf9 in CHARACTER_MANAGER::CreateCharacter (this=0xffffd6a8, name=0x251f149d "Spirit al m\342niei comun", dwPID=0) at char_manager.cpp:91 #6 0x008afbdb in CHARACTER_MANAGER::SpawnMob (this=<optimized out>, dwVnum=1065, lMapIndex=660069, x=268363, y=732709, z=0, bSpawnMotion=<optimized out>, iRot=148, bShow=<optimized out>) at char_manager.cpp:441 #7 0x0088b8f7 in CHARACTER::Dead (this=0xf6d5ec80, pkKiller=<optimized out>, bImmediateDead=<optimized out>) at char_battle.cpp:1619 #8 0x008f60e3 in (anonymous namespace)::FKillSectree::operator() (this=<optimized out>, ent=0xf6d5ec80) at dungeon.cpp:979 #9 FCollectEntity::ForEach<(anonymous namespace)::FKillSectree> (this=<optimized out>, f=...) at ./sectree.h:73 #10 SECTREE_MAP::for_each<(anonymous namespace)::FKillSectree> (this=<optimized out>, rfunc=...) at ./sectree_manager.h:81 #11 CDungeon::KillAll (this=0x55268d00) at dungeon.cpp:1024 #12 0x0096f294 in quest::dungeon_kill_all (L=<optimized out>) at questlua_dungeon.cpp:1494 #13 0x00d12828 in luaD_precall (L=0xe2f77880, func=0xa8652d18) at ldo.c:260 #14 0x00d202c7 in luaV_execute (L=0xe2f77880) at lvm.c:627 #15 0x00d12f08 in resume (L=0xe2f77880, ud=0xffff9f5c) at ldo.c:344 #16 0x00d123f6 in luaD_rawrunprotected (L=0xe2f77880, f=0xd12e90 <resume>, ud=0xffff9f5c) at ldo.c:88 #17 0x00d12d45 in lua_resume (L=0xe2f77880, nargs=0) at ldo.c:371 #18 0x00969001 in quest::CQuestManager::RunState (this=0xfffface0, qs=...) at questlua.cpp:1012 #19 0x009952bf in quest::CQuestManager::ExecuteQuestScript (pc=..., quest_name=..., state=0, code=0x25067c00 "if pc . in_dungeon ( ) and pc . get_map_index ( ) >= 660000 and pc . get_map_index ( ) < 670000 then d . kill_all ( ) \nd . setqf2 ( \"deviltower_zone\" , \"9_done\" , 1 ) \nnotice_multiline ( gameforge [ g"..., code_size=434, pChatScripts=0x0, bUseCache=true) at questmanager.cpp:1791 #20 0x0099214f in quest::CQuestManager::ExecuteQuestScript (pc=..., quest_index=19, state=0, code=0x25067c00 "if pc . in_dungeon ( ) and pc . get_map_index ( ) >= 660000 and pc . get_map_index ( ) < 670000 then d . kill_all ( ) \nd . setqf2 ( \"deviltower_zone\" , \"9_done\" , 1 ) \nnotice_multiline ( gameforge [ g"..., code_size=434, pChatScripts=0x0, bUseCache=<optimized out>) at questmanager.cpp:1737 #21 0x0099b658 in quest::NPC::HandleEvent (this=0x2503d694, pc=..., EventIndex=1) at questnpc.cpp:524 #22 0x0099bc91 in quest::NPC::OnKill (this=0x2503d694, pc=...) at questnpc.cpp:321 #23 0x00992708 in quest::CQuestManager::Kill (this=0xfffface0, pc=750, npc=1093) at questmanager.cpp:526 #24 0x0088d22c in CHARACTER::Reward (this=0xf7b47980, bItemDrop=<optimized out>) at char_battle.cpp:879 #25 0x0088bec0 in CHARACTER::Dead (this=0xf7b47980, pkKiller=<optimized out>, bImmediateDead=<optimized out>) at char_battle.cpp:1634 #26 0x008907c5 in CHARACTER::Damage (this=0xf7b47980, pAttacker=0xf5f6a600, dam=3596, type=DAMAGE_TYPE_NORMAL) at char_battle.cpp:2394 #27 0x0085ba90 in battle_hit (pkAttacker=0xf5f6a600, pkVictim=0xf7b47980, iRetDam=@0xffffa45c: 2551) at battle.cpp:852 #28 0x0085b8cf in battle_melee_attack (ch=0xf5f6a600, victim=0xf7b47980) at battle.cpp:220 #29 0x0088a61e in CHARACTER::Attack (this=0xf5f6a600, pkVictim=0xf7b47980, bType=0 '\000') at char_battle.cpp:321 #30 0x00922d36 in CInputMain::Attack (this=<optimized out>, ch=0xf5f6a600, header=2 '\002', data=0xa5d92f00 "\002") at input_main.cpp:1998 #31 0x00926983 in CInputMain::Analyze (this=0xa77206f8, d=0xa7720680, bHeader=2 '\002', c_pData=0xa5d92f00 "\002") at input_main.cpp:4396 #32 0x00912850 in CInputProcessor::Process (this=0xa77206f8, lpDesc=0xa7720680, c_pvOrig=0xa5d92f00, iBytes=8, r_iBytesProceed=@0xffffa688: 0) at input.cpp:118 #33 0x008e9055 in DESC::ProcessInput (this=0xa7720680) at desc.cpp:306 #34 0x00a28194 in io_loop (fdw=0x21a27660) at main.cpp:1091 #35 0x00a27e79 in idle () at main.cpp:982 #36 0x00a26385 in main (argc=1, argv=0xffffdbf8) at main.cpp:609 (gdb) Thank you! EDIT: Every crash related to this fails at " LPCHARACTER ch = M2_NEW CHARACTER;" and each .core generated has ~ 3GB (maximum allowed for 32bits binary) This makes sense to be vulnerable to a exploit which allocate memory until it crashes.
-
Hi, guys! Even i've passed C++ exam on faculty, I didn't spent enough time on it and I'd love to know how this enum works. enum EItemWearableFlag { WEARABLE_BODY = (1 << 0), WEARABLE_HEAD = (1 << 1), WEARABLE_FOOTS = (1 << 2), WEARABLE_WRIST = (1 << 3), WEARABLE_WEAPON = (1 << 4), WEARABLE_NECK = (1 << 5), WEARABLE_EAR = (1 << 6), WEARABLE_UNIQUE = (1 << 7), WEARABLE_SHIELD = (1 << 8), WEARABLE_ARROW = (1 << 9), WEARABLE_HAIR = (1 << 10), WEARABLE_ABILITY = (1 << 11), WEARABLE_COSTUME_BODY = (1 << 12), WEARABLE_COSTUME_HAIR = (1 << 13), #ifdef ENABLE_MOUNT_COSTUME_SYSTEM WEARABLE_COSTUME_MOUNT = (1 << 14), #endif #ifdef __ACCE_COSTUME_SYSTEM__ WEARABLE_COSTUME_SASH = (1 << 15), #endif #ifdef ENABLE_WEAPON_COSTUME_SYSTEM WEARABLE_COSTUME_WEAPON = (1 << 16), #endif #ifdef __PET_SYSTEM__ WEARABLE_NORMAL_PET = (1 << 17), #endif #if defined(ENABLE_COSTUME_ITEM_SKIN) WEARABLE_PET_SKIN = (1 << 18), WEARABLE_MOUNT_SKIN = (1 << 19), #endif #ifdef ITEM_TALISMAN_EQUIPMENT WEARABLE_PENDANT = (1 << 20), #endif }; What I don't understand, is why this statement isn't true for my item? else if (GetWearFlag() & WEARABLE_PENDANT) return WEAR_PENDANT; 9620 È¿°ÀÇ ³ë¸®°³ +20 ITEM_ARMOR ARMOR_PENDANT 1 NONE ITEM_TUNABLE WEAR_PENDANT NONE 360000 5000 9621 440 0 LEVEL 20 LIMIT_NONE 0 APPLY_ENCHANT_FIRE 20 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 Thank you!
-
Hi, guys! I've spent lot of hours but i'm out of ideas, any help will be appreciated. What I try to achieve? I try to add PET_SLOT on CostumeWindow. It works like a charm if i try to add it on InventoryWindowEx.py but isn't visible if when I try to apply it on CostumeWindow.py. Very important: For debugging purposes I've moved other costume items to "x":115, "y":158 and I can confirm coords are correct (I have an extended window, not classical new_costume_bg.jpg). It's also important to mention that I've mixed item.EQUIPMENT_PET with item.EQUIPMENT_BELT and I had pet item on belt slot but belt dissapeared somewhere on costume window. ItemData.h enum EItemType { ITEM_TYPE_NONE, //0 ITEM_TYPE_WEAPON, //1//¹«±â ITEM_TYPE_ARMOR, //2//°©¿Ê ITEM_TYPE_USE, //3//¾ÆÀÌÅÛ »ç¿ë ITEM_TYPE_AUTOUSE, //4 ITEM_TYPE_MATERIAL, //5 ITEM_TYPE_SPECIAL, //6 //½ºÆä¼È ¾ÆÀÌÅÛ ITEM_TYPE_TOOL, //7 ITEM_TYPE_LOTTERY, //8//º¹±Ç ITEM_TYPE_ELK, //9//µ· ITEM_TYPE_METIN, //10 ITEM_TYPE_CONTAINER, //11 ITEM_TYPE_FISH, //12//³¬½Ã ITEM_TYPE_ROD, //13 ITEM_TYPE_RESOURCE, //14 ITEM_TYPE_CAMPFIRE, //15 ITEM_TYPE_UNIQUE, //16 ITEM_TYPE_SKILLBOOK, //17 ITEM_TYPE_QUEST, //18 ITEM_TYPE_POLYMORPH, //19 ITEM_TYPE_TREASURE_BOX, //20//º¸¹°»óÀÚ ITEM_TYPE_TREASURE_KEY, //21//º¸¹°»óÀÚ ¿¼è ITEM_TYPE_SKILLFORGET, //22 ITEM_TYPE_GIFTBOX, //23 ITEM_TYPE_PICK, //24 ITEM_TYPE_HAIR, //25//¸Ó¸® ITEM_TYPE_TOTEM, //26//ÅäÅÛ ITEM_TYPE_BLEND, //27//»ý¼ºµÉ¶§ ·£´ýÇÏ°Ô ¼Ó¼ºÀÌ ºÙ´Â ¾à¹° ITEM_TYPE_COSTUME, //28//ÄÚ½ºÃõ ¾ÆÀÌÅÛ (2011³â 8¿ù Ãß°¡µÈ ÄÚ½ºÃõ ½Ã½ºÅÛ¿ë ¾ÆÀÌÅÛ) ITEM_TYPE_DS, //29 //¿ëÈ¥¼® ITEM_TYPE_SPECIAL_DS, //30 // Ư¼öÇÑ ¿ëÈ¥¼® (DS_SLOT¿¡ Âø¿ëÇÏ´Â UNIQUE ¾ÆÀÌÅÛÀ̶ó »ý°¢ÇÏ¸é µÊ) ITEM_TYPE_EXTRACT, //31 ÃßÃâµµ±¸. ITEM_TYPE_SECONDARY_COIN, //32 ¸íµµÀü. ITEM_TYPE_RING, //33 ¹ÝÁö (À¯´ÏÅ© ½½·ÔÀÌ ¾Æ´Ñ ¼ø¼ö ¹ÝÁö ½½·Ô) ITEM_TYPE_BELT, //34 º§Æ® #ifdef ENABLE_ATTR_TRANSFER_SYSTEM ITEM_TYPE_TRANSFER_SCROLL, //35 #endif #ifdef ENABLE_GROWTH_PET_SYSTEM ITEM_TYPE_PET, //36 #endif #ifdef __UNIMPLEMENTED__ ITEM_TYPE_MEDIUM, //37 ITEM_TYPE_GACHA //38 Florin #endif #ifdef ENABLE_PET_SLOT ITEM_TYPE_NORMAL_PET, //39 #endif ITEM_TYPE_MAX_NUM, }; enum EWearPositions { WEAR_BODY, // 0 WEAR_HEAD, // 1 WEAR_FOOTS, // 2 WEAR_WRIST, // 3 WEAR_WEAPON, // 4 WEAR_NECK, // 5 WEAR_EAR, // 6 WEAR_UNIQUE1, // 7 WEAR_UNIQUE2, // 8 WEAR_ARROW, // 9 WEAR_SHIELD, // 10 WEAR_ABILITY1, // 11 WEAR_ABILITY2, // 12 WEAR_ABILITY3, // 13 WEAR_ABILITY4, // 14 WEAR_ABILITY5, // 15 WEAR_ABILITY6, // 16 WEAR_ABILITY7, // 17 WEAR_ABILITY8, // 18 WEAR_COSTUME_BODY, // 19 WEAR_COSTUME_HAIR, // 20 #ifdef ENABLE_MOUNT_COSTUME_SYSTEM WEAR_COSTUME_MOUNT, // 21 #endif #ifdef ENABLE_SASH_SYSTEM WEAR_COSTUME_SASH, // 22 #endif #ifdef ENABLE_WEAPON_COSTUME_SYSTEM WEAR_COSTUME_WEAPON, //23 #endif WEAR_RING1, // 24 : ½Å±Ô ¹ÝÁö½½·Ô1 (¿ÞÂÊ) WEAR_RING2, // 25 : ½Å±Ô ¹ÝÁö½½·Ô2 (¿À¸¥ÂÊ) WEAR_BELT, // 26 : ½Å±Ô º§Æ®½½·Ô #ifdef ENABLE_PET_SLOT WEAR_NORMAL_PET, // 27 #endif WEAR_MAX_NUM = 32, }; GameType.h #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM const DWORD c_New_Equipment_Start = c_Equipment_Start + 24; // 21 const DWORD c_New_Equipment_Count = 3 #ifdef ENABLE_PET_SLOT + 1 #endif ; const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0; const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1; const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2; #endif #ifdef ENABLE_PET_SLOT const DWORD c_Equipment_Pet = c_New_Equipment_Start + 3; #endif PythonItemModule.cpp #ifdef ENABLE_PET_SLOT PyModule_AddIntConstant(poModule, "EQUIPMENT_PET", c_Equipment_Pet); #endif Thank you!
-
You should NEVER use contabo VPS in production. They do a massive overselling on CPU / RAM / Storage. Your load averages are quite large and I guess they weren't accessed when server had an active Guild War. I recommend to go checkout OVH Game packages or a reseller (like that shown on my banner). Best regards, Florin.
-
You're too afraid about this issue which can be easily solved with small investment in remote backup and standalone webserver. About your idea, any method you will use will also require DB access. Most silly issues you can encounter following your path: 1. It's hard to make a captcha which can't be bypassed 2. If I understood correctly, you want to create account if it doesnt exists. What about typos? Eg. my account is "admin" and i write accidentaly "amdin" and may password admin. You will just make those who want to spam your DB easy life. Best regards, Florin.
-
Packet headers on vps
FlorinMarian replied to xGalardo's topic in Community Support - Questions & Answers
no, full command it's: netstat -idb -I vtnet0 -
Packet headers on vps
FlorinMarian replied to xGalardo's topic in Community Support - Questions & Answers
In PuTTy, and <interface> can be em0, vtnet0 or something simmilar. You can ask for network interface name by writting "ifconfig" command on PuTTy. -
Packet headers on vps
FlorinMarian replied to xGalardo's topic in Community Support - Questions & Answers
Without a massive overselling, should be fine. Maybe your provider has maybe problems with networking (packet loss). Play a little bit and check with this command if u have dropped packets: netstat -idb -I <interface> -
Remove systyem from clientside with source
FlorinMarian replied to 4peppe's topic in Community Support - Questions & Answers
Hi, there! Most easier it's to comment our python part where buttons are created (uiscript folder), key combination (game.py) and interfacemodule.py if you get any further error. Best regards, Florin. -
Packet headers on vps
FlorinMarian replied to xGalardo's topic in Community Support - Questions & Answers
Can we have a preview of your VPS configuration ? Best regards, Florin. -
Help with Transmutation-System
FlorinMarian replied to topolino1958's topic in Community Support - Questions & Answers
Publish your uichangelook.py. Best regards, Florin. -
Exp with party
FlorinMarian replied to BeHappy4Ever's topic in Community Support - Questions & Answers
Hi, there! You can extract this part with "who and what damage" from Dungeon Info System, which includes Ranking. I recommend to extract it from Overfall2 Serverfiles because there they have already lua integration and you have only to pickup any metin on any map instead of specific boss in specific dungeon. Best regards, Florin. -
ninja disconnet when hitting too fast
FlorinMarian replied to ByLost's topic in Community Support - Questions & Answers
It comes from my guess. Simple replace bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) function with bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) { return false; } -
ninja disconnet when hitting too fast
FlorinMarian replied to ByLost's topic in Community Support - Questions & Answers
AS @TMP4 said, there could be on input_main.cpp some checks or on battle.cpp can be used function IS_SPEED_HACK. Remove whole body of function IS_SPEED_HACK and just say "return false;". Best regards, Florin. -
Offline Shop - dynamic packet size
FlorinMarian replied to blanco's topic in Community Support - Questions & Answers
Hi! You did a mistake when you stolen the system but I don't recomend using it if you didn't fixed core problems. I guess Overfall2 has fixed those issues and can be easily checked by opening a shop on core1 and try to use shop item on another core, if you have the issues unsolved you will be able to open a new shop also on that core. Best regards, Florin. -
Opening few things at once
FlorinMarian replied to Creo's topic in Community Support - Questions & Answers
Hi! I guess nobody will do this work for free but if think a little bit you can implement skill book combination system and instead of owsap function you call UseItemex for each instance. Hope it helps. Best regards, Florin. -
[Python] list index out of range
FlorinMarian replied to FlorinMarian's topic in Community Support - Questions & Answers
#CloseReq. I didn't applied the fix yet but yeah, it makes sense. Thank you @TMP4 and @WeedHexfor your help! -
[Python] list index out of range
FlorinMarian replied to FlorinMarian's topic in Community Support - Questions & Answers
Just 3 sockets (by default). The bug comes from Growth pet system. Thank you! -
Hi, guys! I've tried to fix it by myself but life shown me again I'm not enough experienced in python yet. The error: 0713 16:00:27609 :: Traceback (most recent call last): 0713 16:00:27609 :: File "ui.py", line 2130, in OnOverInItem 0713 16:00:27609 :: File "ui.py", line 92, in __call__ 0713 16:00:27609 :: File "ui.py", line 83, in __call__ 0713 16:00:27609 :: File "uiInventory.py", line 1385, in OverInItem 0713 16:00:27609 :: File "uiInventory.py", line 1652, in ShowToolTip 0713 16:00:27609 :: File "uiToolTip.py", line 610, in SetInventoryItem 0713 16:00:27609 :: File "uiToolTip.py", line 1665, in AddItemData 0713 16:00:27609 :: IndexError 0713 16:00:27609 :: : 0713 16:00:27609 :: list index out of range 0713 16:00:27609 :: ui.py: Click here uiiventory.py: Click here uitooltip.py: Click here Thank you !
-
Dragon soul slot emply
FlorinMarian replied to Malbeth's topic in Community Support - Questions & Answers
There could be lot of issues caused by multiple pages inventory, special storage or other slots implemented. You should add debug messages on MoveItem /CreateItem functions to get ChatPackets with slots involved when you try to access newly created item or to move something in Dragon Soul Inventory. -
Server specs ?
FlorinMarian replied to Metin2 Dev's topic in Community Support - Questions & Answers
FreeBSD version doesn't matter at all if you compile your source on simmilar version. About specs, if u can afford, you should buy a dedicated server instead of a VPS Server due of : - Game AntiDDoS filter; - NVMe Storage; - Pure performance (on VPS NVMe it's limited and it works more like a SATA SSD not really like a NVMe); If you want something between them, you're welcome to browse my website and check for VPS Game packages. Best regards, Florin.