Jump to content

Metin2 Dev

Bot
  • Posts

    2151
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Metin2 Dev

  1. [Hidden Content]
  2. I've put the player.player table with privileges so that the website can only see more not modify that table. Could it be that adding this causes this error? And another thing that I added was the svside service. Before adding those two things, I did not miss the error.
  3. void CClientManager::ProcessPackets(CPeer * peer) { BYTE header; DWORD dwHandle; DWORD dwLength; const char * data = NULL; int i = 0; int iCount = 0; while (peer->PeekPacket(i, header, dwHandle, dwLength, &data)) { // DISABLE_DB_HEADER_LOG // sys_log(0, "header %d %p size %d", header, this, dwLength); // END_OF_DISABLE_DB_HEADER_LOG m_bLastHeader = header; ++iCount; #ifdef _TEST if (header != 10) sys_log(0, " ProcessPacket Header [%d] Handle[%d] Length[%d] iCount[%d]", header, dwHandle, dwLength, iCount); #endif if (g_test_server) { if (header != 10) sys_log(0, " ProcessPacket Header [%d] Handle[%d] Length[%d] iCount[%d]", header, dwHandle, dwLength, iCount); } // test log by mhh { if (HEADER_GD_BLOCK_COUNTRY_IP == header) sys_log(0, "recved : HEADER_GD_BLOCK_COUNTRY_IP"); } switch (header) { #ifdef OFFLINE_SHOP case HEADER_GD_SHOP_NAME: ShopName(peer, (TPacketShopName *)data); break; case HEADER_GD_SHOP_CLOSE: ShopClose(peer, (TPacketShopClose *)data); break; case HEADER_GD_SHOP_UPDATE_ITEM: ShopUpdateItem(peer, (TPacketShopUpdateItem *)data); break; #endif case HEADER_GD_BOOT: QUERY_BOOT(peer, (TPacketGDBoot *) data); break; case HEADER_GD_HAMMER_OF_TOR: break; case HEADER_GD_LOGIN_BY_KEY: QUERY_LOGIN_BY_KEY(peer, dwHandle, (TPacketGDLoginByKey *) data); break; case HEADER_GD_LOGOUT: //sys_log(0, "HEADER_GD_LOGOUT (handle: %d length: %d)", dwHandle, dwLength); QUERY_LOGOUT(peer, dwHandle, data); break; case HEADER_GD_PLAYER_LOAD: sys_log(1, "HEADER_GD_PLAYER_LOAD (handle: %d length: %d)", dwHandle, dwLength); QUERY_PLAYER_LOAD(peer, dwHandle, (TPlayerLoadPacket *) data); break; case HEADER_GD_PLAYER_SAVE: sys_log(1, "HEADER_GD_PLAYER_SAVE (handle: %d length: %d)", dwHandle, dwLength); QUERY_PLAYER_SAVE(peer, dwHandle, (TPlayerTable *) data); break; case HEADER_GD_PLAYER_CREATE: sys_log(0, "HEADER_GD_PLAYER_CREATE (handle: %d length: %d)", dwHandle, dwLength); __QUERY_PLAYER_CREATE(peer, dwHandle, (TPlayerCreatePacket *) data); sys_log(0, "END"); break; case HEADER_GD_PLAYER_DELETE: sys_log(1, "HEADER_GD_PLAYER_DELETE (handle: %d length: %d)", dwHandle, dwLength); __QUERY_PLAYER_DELETE(peer, dwHandle, (TPlayerDeletePacket *) data); break; case HEADER_GD_PLAYER_COUNT: QUERY_PLAYER_COUNT(peer, (TPlayerCountPacket *) data); break; case HEADER_GD_QUEST_SAVE: sys_log(1, "HEADER_GD_QUEST_SAVE (handle: %d length: %d)", dwHandle, dwLength); QUERY_QUEST_SAVE(peer, (TQuestTable *) data, dwLength); break; case HEADER_GD_SAFEBOX_LOAD: QUERY_SAFEBOX_LOAD(peer, dwHandle, (TSafeboxLoadPacket *) data, 0); break; case HEADER_GD_SAFEBOX_SAVE: sys_log(1, "HEADER_GD_SAFEBOX_SAVE (handle: %d length: %d)", dwHandle, dwLength); QUERY_SAFEBOX_SAVE(peer, (TSafeboxTable *) data); break; case HEADER_GD_SAFEBOX_CHANGE_SIZE: QUERY_SAFEBOX_CHANGE_SIZE(peer, dwHandle, (TSafeboxChangeSizePacket *) data); break; case HEADER_GD_SAFEBOX_CHANGE_PASSWORD: QUERY_SAFEBOX_CHANGE_PASSWORD(peer, dwHandle, (TSafeboxChangePasswordPacket *) data); break; case HEADER_GD_MALL_LOAD: QUERY_SAFEBOX_LOAD(peer, dwHandle, (TSafeboxLoadPacket *) data, 1); break; case HEADER_GD_EMPIRE_SELECT: QUERY_EMPIRE_SELECT(peer, dwHandle, (TEmpireSelectPacket *) data); break; case HEADER_GD_SETUP: QUERY_SETUP(peer, dwHandle, data); break; case HEADER_GD_GUILD_CREATE: GuildCreate(peer, *(DWORD *) data); break; case HEADER_GD_GUILD_SKILL_UPDATE: GuildSkillUpdate(peer, (TPacketGuildSkillUpdate *) data); break; case HEADER_GD_GUILD_EXP_UPDATE: GuildExpUpdate(peer, (TPacketGuildExpUpdate *) data); break; case HEADER_GD_GUILD_ADD_MEMBER: GuildAddMember(peer, (TPacketGDGuildAddMember*) data); break; case HEADER_GD_GUILD_REMOVE_MEMBER: GuildRemoveMember(peer, (TPacketGuild*) data); break; case HEADER_GD_GUILD_CHANGE_GRADE: GuildChangeGrade(peer, (TPacketGuild*) data); break; case HEADER_GD_GUILD_CHANGE_MEMBER_DATA: GuildChangeMemberData(peer, (TPacketGuildChangeMemberData*) data); break; case HEADER_GD_GUILD_DISBAND: GuildDisband(peer, (TPacketGuild*) data); break; case HEADER_GD_GUILD_WAR: GuildWar(peer, (TPacketGuildWar*) data); break; case HEADER_GD_GUILD_WAR_SCORE: GuildWarScore(peer, (TPacketGuildWarScore*) data); break; case HEADER_GD_GUILD_CHANGE_LADDER_POINT: GuildChangeLadderPoint((TPacketGuildLadderPoint*) data); break; case HEADER_GD_GUILD_USE_SKILL: GuildUseSkill((TPacketGuildUseSkill*) data); break; case HEADER_GD_FLUSH_CACHE: QUERY_FLUSH_CACHE(peer, data); break; case HEADER_GD_ITEM_SAVE: QUERY_ITEM_SAVE(peer, data); break; case HEADER_GD_ITEM_DESTROY: QUERY_ITEM_DESTROY(peer, data); break; case HEADER_GD_ITEM_FLUSH: QUERY_ITEM_FLUSH(peer, data); break; case HEADER_GD_ADD_AFFECT: sys_log(1, "HEADER_GD_ADD_AFFECT"); QUERY_ADD_AFFECT(peer, (TPacketGDAddAffect *) data); break; case HEADER_GD_REMOVE_AFFECT: sys_log(1, "HEADER_GD_REMOVE_AFFECT"); QUERY_REMOVE_AFFECT(peer, (TPacketGDRemoveAffect *) data); break; case HEADER_GD_HIGHSCORE_REGISTER: QUERY_HIGHSCORE_REGISTER(peer, (TPacketGDHighscore *) data); break; case HEADER_GD_PARTY_CREATE: QUERY_PARTY_CREATE(peer, (TPacketPartyCreate*) data); break; case HEADER_GD_PARTY_DELETE: QUERY_PARTY_DELETE(peer, (TPacketPartyDelete*) data); break; case HEADER_GD_PARTY_ADD: QUERY_PARTY_ADD(peer, (TPacketPartyAdd*) data); break; case HEADER_GD_PARTY_REMOVE: QUERY_PARTY_REMOVE(peer, (TPacketPartyRemove*) data); break; case HEADER_GD_PARTY_STATE_CHANGE: QUERY_PARTY_STATE_CHANGE(peer, (TPacketPartyStateChange*) data); break; case HEADER_GD_PARTY_SET_MEMBER_LEVEL: QUERY_PARTY_SET_MEMBER_LEVEL(peer, (TPacketPartySetMemberLevel*) data); break; case HEADER_GD_RELOAD_PROTO: QUERY_RELOAD_PROTO(); break; case HEADER_GD_CHANGE_NAME: QUERY_CHANGE_NAME(peer, dwHandle, (TPacketGDChangeName *) data); break; case HEADER_GD_SMS: QUERY_SMS(peer, (TPacketGDSMS *) data); break; case HEADER_GD_AUTH_LOGIN: QUERY_AUTH_LOGIN(peer, dwHandle, (TPacketGDAuthLogin *) data); break; case HEADER_GD_REQUEST_GUILD_PRIV: AddGuildPriv((TPacketGiveGuildPriv*)data); break; case HEADER_GD_REQUEST_EMPIRE_PRIV: AddEmpirePriv((TPacketGiveEmpirePriv*)data); break; case HEADER_GD_REQUEST_CHARACTER_PRIV: AddCharacterPriv((TPacketGiveCharacterPriv*) data); break; case HEADER_GD_MONEY_LOG: MoneyLog((TPacketMoneyLog*)data); break; case HEADER_GD_GUILD_DEPOSIT_MONEY: GuildDepositMoney((TPacketGDGuildMoney*)data); break; case HEADER_GD_GUILD_WITHDRAW_MONEY: GuildWithdrawMoney(peer, (TPacketGDGuildMoney*)data); break; case HEADER_GD_GUILD_WITHDRAW_MONEY_GIVE_REPLY: GuildWithdrawMoneyGiveReply((TPacketGDGuildMoneyWithdrawGiveReply*)data); break; case HEADER_GD_GUILD_WAR_BET: GuildWarBet((TPacketGDGuildWarBet *) data); break; case HEADER_GD_SET_EVENT_FLAG: SetEventFlag((TPacketSetEventFlag*) data); break; case HEADER_GD_BILLING_EXPIRE: BillingExpire((TPacketBillingExpire *) data); break; case HEADER_GD_BILLING_CHECK: BillingCheck(data); break; case HEADER_GD_CREATE_OBJECT: CreateObject((TPacketGDCreateObject *) data); break; case HEADER_GD_DELETE_OBJECT: DeleteObject(*(DWORD *) data); break; case HEADER_GD_UPDATE_LAND: UpdateLand((DWORD *) data); break; case HEADER_GD_VCARD: VCard((TPacketGDVCard *) data); break; case HEADER_GD_MARRIAGE_ADD: MarriageAdd((TPacketMarriageAdd *) data); break; case HEADER_GD_MARRIAGE_UPDATE: MarriageUpdate((TPacketMarriageUpdate *) data); break; case HEADER_GD_MARRIAGE_REMOVE: MarriageRemove((TPacketMarriageRemove *) data); break; case HEADER_GD_WEDDING_REQUEST: WeddingRequest((TPacketWeddingRequest *) data); break; case HEADER_GD_WEDDING_READY: WeddingReady((TPacketWeddingReady *) data); break; case HEADER_GD_WEDDING_END: WeddingEnd((TPacketWeddingEnd *) data); break; // BLOCK_CHAT case HEADER_GD_BLOCK_CHAT: BlockChat((TPacketBlockChat *) data); break; // END_OF_BLOCK_CHAT // MYSHOP_PRICE_LIST case HEADER_GD_MYSHOP_PRICELIST_UPDATE: MyshopPricelistUpdate((TPacketMyshopPricelistHeader*)data); break; case HEADER_GD_MYSHOP_PRICELIST_REQ: MyshopPricelistRequest(peer, dwHandle, *(DWORD*)data); break; // END_OF_MYSHOP_PRICE_LIST //RELOAD_ADMIN case HEADER_GD_RELOAD_ADMIN: ReloadAdmin(peer, (TPacketReloadAdmin*)data); break; //END_RELOAD_ADMIN case HEADER_GD_BREAK_MARRIAGE: BreakMarriage(peer, data); break; //MOANRCH case HEADER_GD_ELECT_MONARCH: Election(peer, dwHandle, data); break; case HEADER_GD_CANDIDACY: Candidacy(peer, dwHandle, data); break; case HEADER_GD_ADD_MONARCH_MONEY: AddMonarchMoney(peer, dwHandle, data); break; case HEADER_GD_DEC_MONARCH_MONEY: DecMonarchMoney(peer, dwHandle, data); break; case HEADER_GD_TAKE_MONARCH_MONEY: TakeMonarchMoney(peer, dwHandle, data); break; case HEADER_GD_COME_TO_VOTE: ComeToVote(peer, dwHandle, data); break; case HEADER_GD_RMCANDIDACY: //< 후보 제거 (운영자) RMCandidacy(peer, dwHandle, data); break; case HEADER_GD_SETMONARCH: ///<군주설정 (운영자) SetMonarch(peer, dwHandle, data); break; case HEADER_GD_RMMONARCH: ///<군주삭제 RMMonarch(peer, dwHandle, data); break; //END_MONARCH case HEADER_GD_CHANGE_MONARCH_LORD : ChangeMonarchLord(peer, dwHandle, (TPacketChangeMonarchLord*)data); break; case HEADER_GD_BLOCK_COUNTRY_IP: sys_log(0, "HEADER_GD_BLOCK_COUNTRY_IP received"); CBlockCountry::instance().SendBlockedCountryIp(peer); CBlockCountry::instance().SendBlockException(peer); break; case HEADER_GD_BLOCK_EXCEPTION: sys_log(0, "HEADER_GD_BLOCK_EXCEPTION received"); BlockException((TPacketBlockException*) data); break; case HEADER_GD_REQ_SPARE_ITEM_ID_RANGE : SendSpareItemIDRange(peer); break; case HEADER_GD_REQ_CHANGE_GUILD_MASTER : GuildChangeMaster((TPacketChangeGuildMaster*) data); break; case HEADER_GD_UPDATE_HORSE_NAME : UpdateHorseName((TPacketUpdateHorseName*) data, peer); break; case HEADER_GD_REQ_HORSE_NAME : AckHorseName(*(DWORD*)data, peer); break; case HEADER_GD_DC: DeleteLoginKey((TPacketDC*) data); break; case HEADER_GD_VALID_LOGOUT: ResetLastPlayerID((TPacketNeedLoginLogInfo*)data); break; case HEADER_GD_REQUEST_CHARGE_CASH: ChargeCash((TRequestChargeCash*)data); break; //delete gift notify icon case HEADER_GD_DELETE_AWARDID: DeleteAwardId((TPacketDeleteAwardID*) data); break; case HEADER_GD_UPDATE_CHANNELSTATUS: UpdateChannelStatus((SChannelStatus*) data); break; case HEADER_GD_REQUEST_CHANNELSTATUS: RequestChannelStatus(peer, dwHandle); break; #ifdef __DUNGEON_FOR_GUILD__ case HEADER_GD_GUILD_DUNGEON: GuildDungeon((TPacketGDGuildDungeon*)data); break; case HEADER_GD_GUILD_DUNGEON_CD: GuildDungeonGD((TPacketGDGuildDungeonCD*)data); break; case HEADER_GD_GUILD_DUNGEON_ST: //Fix meley lair GuildDungeonST((TPacketGDGuildDungeonST*)data); break; #endif #ifdef __AUCTION__ case HEADER_GD_COMMAND_AUCTION: { TPacketGDCommnadAuction* auction_data = (TPacketGDCommnadAuction*)data; switch (auction_data->get_cmd()) { case AUCTION_ENR_AUC: EnrollInAuction (peer, dwHandle, (AuctionEnrollProductInfo*)data); break; case AUCTION_ENR_SALE: EnrollInSale (peer, dwHandle, (AuctionEnrollSaleInfo*)data); break; case AUCTION_ENR_WISH: EnrollInWish (peer, dwHandle, (AuctionEnrollWishInfo*)data); break; case AUCTION_BID: AuctionBid (peer, dwHandle, (AuctionBidInfo*)data); break; case AUCTION_IMME_PUR: AuctionImpur (peer, dwHandle, (AuctionImpurInfo*)data); break; case AUCTION_GET_AUC: AuctionGetAuctionedItem (peer, dwHandle, auction_data->get_item()); break; case AUCTION_BUY_SOLD: AuctionBuySoldItem (peer, dwHandle, auction_data->get_item()); break; case AUCTION_CANCEL_AUC: AuctionCancelAuction (peer, dwHandle, auction_data->get_item()); break; case AUCTION_CANCEL_WISH: AuctionCancelWish (peer, dwHandle, auction_data->get_item()); break; case AUCTION_CANCEL_SALE: AuctionCancelSale (peer, dwHandle, auction_data->get_item()); break; case AUCTION_DELETE_AUCTION_ITEM: AuctionDeleteAuctionItem (peer, dwHandle, auction_data->get_item()); break; case AUCTION_DELETE_SALE_ITEM: AuctionDeleteSaleItem (peer, dwHandle, auction_data->get_item()); break; case AUCTION_REBID: AuctionReBid (peer, dwHandle, (AuctionBidInfo*)data); break; // case AUCTION_BID_CANCEL: // AuctionBidCancel (peer, dwHandle, data->get_item()); default : break; } } break; #endif default: sys_err("Unknown header (header: %d handle: %d length: %d)", header, dwHandle, dwLength); break; } } peer->RecvEnd(i); } Thanks for trying to help me.
  4. I have this syserr in db: SYSERR: Jun 9 04:19:04 :: ChildLoop: AsyncSQL: query failed: Data truncated for column 'window' at row 1 (query: REPLACE INTO item (id, owner_id, window, pos, count, vnum, transmutation, socket0, socket1, socket2, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, applytype0, applyvalue0, applytype1, applyvalue1, applytype2, applyvalue2, applytype3, applyvalue3, applytype4, applyvalue4, applytype5, applyvalue5, applytype6, applyvalue6, applytype7, applyvalue7) VALUES(30, 33554489, 0, 80, 1966080, 1342177280, 942747188, 503316480, 0, 80, 30, 0, 0, 20480, 0, 0, 30, 0, 0, 20480, 0, 0, 11, 0, 0, 27136, 0, 0, 255, 0, 0, 27136, 3, 0, 57, 11825, 49, 12594, 46, 12593) errno: 1265) SYSERR: Jun 9 04:19:04 :: ProcessPackets: Unknown header (header: 0 handle: 0 length: 0)
  5. Hello, i have this error in db: bt full: #0 0x28582377 in thr_kill () from /usr/lib32/libc.so.7 No symbol table info available. #1 0x2858236a in raise () from /usr/lib32/libc.so.7 No symbol table info available. #2 0x285822b6 in abort () from /usr/lib32/libc.so.7 No symbol table info available. #3 0x08054114 in emergency_sig (sig=<value optimized out>) at Main.cpp:61 No locals. #4 0x284bbda7 in pthread_sigmask () from /usr/lib32/libthr.so.3 No symbol table info available. #5 0x284bb1d1 in pthread_getspecific () from /usr/lib32/libthr.so.3 No symbol table info available. #6 0xffffe194 in ?? () No symbol table info available. #7 0x0000000b in ?? () No symbol table info available. #8 0x08068179 in CClientManager::Process (this=0xffffd538) at ClientManager.cpp:3261 dwCount = <value optimized out> pulses = 0 num_events = <value optimized out> idx = <value optimized out> __FUNCTION__ = "Process" Anyone can helpme please?
  6. Hello, I have one question for you: There is some function like: pc.fish() or something like that to know when a player has fished?
  7. Seems like item owner is NULL ...
  8. Hi devs, I'm trying to compile PackMaker but there are a few issues that making it complicated. We don't have sources of Reducio library, so it's only compilable in VS 2008. I have two errors if I try to compile it. My PackMaker/Main.cpp has this code: Errors: Error 22 error C3861: 'SetCurrentProcessExplicitAppUserModelID': identifier not found Path\EterLib\MSWindow.cpp 96 eterlib Error 250 fatal error C1083: Cannot open include file: 'future': No such file or directory Path\extern\include\Reducio\Reducio.h 4 Metin2PackMaker Version of VS: Does anybody know how to compile it?
  9. I mean, you can use an old one (vs120).
  10. Also you can choose an old toolset and you don't need to recompile anything.
  11. Yes, the only problem is that if "Player1" is in Pyugmoo and "Player2" is in "Spider Dungeon", that is, the members of the party are in different core, (you know, cities are usually in the core1, and maps like Yongbi are usually in the core2) because in that case it will show the one in a different cores as [Offline] (even if both members are online) in the party. If @Mali61 fix that, then one could already speak of a functional version without bugs.
  12. Oh, yea. I found it in functions list. Post error during compilation.
  13. If you want original values, then contact Webzen (no success guaranted). ...You can get them by simply typing "mob_proto 40k download" into a Google.
  14. Does LUA have mysql_query() function? Or it is a function from a source? I can't find and I've never been using this. What about this?
  15. Thanks for the release. I found a bug: when you are at a party and you teleport to a map whose core is different from the map core of the other member of the party, it will show the member as [Offline], that should not happen. Can you look at it, please? : D Regarding what @Shang says, he means that in the official server, when you create a party, that party is created in all the channels, that is, if you change the channel, the party will be in the channel that was created and in any channel that you change, but still without putting your release, at least in the majority of public sources this does not happen, I suppose the part of creating the party in all the channels at the same time was a recent update of gameforge. So this is not a problem, since it is simply to create the party manually on all channels. xD Sorry for my bad English.
  16. @Samagon, I hope you can extract the updates of 18.2 [Hidden Content]
  17. Use Debug version of binary to test new stuffs. Here's an article about how to activate both, Log.txt and Sysser.txt.
  18. Hi devs, I've been looking a long time for a module called stream. In a client we can found it used like: stream.popupWindow.Close(), stream.SetSelectCharacterPhase(), stream.SetConnectInfo() and so much more. Where is a definition of this module? I've been lookin' in a binary sources but with no success, in Root aswell. Thanks.
  19. Also you can find usefull information in Log.txt.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.