Packet problems

chir0n

New member
Messages
18
Points
0
Hello everyone, i'm still confused, after reading many threads i still come up with problems.

Server setup:

Latest herc that was downloaded @ 04-28-2013

Pre-RE settings

Using 2012-04-10a Ragexe client (because of the cash shop)

edited mmo.h to use 20120410 packetver

upon login, clicking the cash shop button gives me a 0x08c9 packet error

so i edited packet.h (i dont even know if i'm supposed to edit this) to add the missing packet to the 04-10-2012 code block

//2012-04-10aRagexeRE#if PACKETVER >= 20120410 packet(0x01FD,15,clif->pRepairItem,2); packet(0x089C,26,clif->pFriendsListAdd,2); packet(0x0885,5,clif->pHomMenu,2,4); packet(0x0961,36,clif->pStoragePassword,0); packet(0x0288,-1,clif->pcashshop_buy,4,8); packet(0x091C,26,clif->pPartyInvite2,2); packet(0x094B,19,clif->pWantToConnection,2,6,10,14,18); packet(0x0369,7,clif->pActionRequest,2,6); packet(0x083C,10,clif->pUseSkillToId,2,4,6); packet(0x0439,8,clif->pUseItem,2,4); packet(0x0945,-1,clif->pItemListWindowSelected,2,4,8); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); packet(0x0437,5,clif->pWalkToXY,2); packet(0x0886,6,clif->pTickSend,2); packet(0x0871,5,clif->pChangeDir,2,4); packet(0x0938,6,clif->pTakeItem,2); packet(0x0891,6,clif->pDropItem,2,4); packet(0x086C,8,clif->pMoveToKafra,2,4); packet(0x08A6,8,clif->pMoveFromKafra,2,4); packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); packet(0x0889,6,clif->pGetCharNameRequest,2); packet(0x0884,6,clif->pSolveCharName,2); packet(0x08E5,41,clif->pPartyBookingRegisterReq,2,4); packet(0x08E6,4); packet(0x08E7,10,clif->pPartyBookingSearchReq,2); packet(0x08E8,-1); packet(0x08E9,2,clif->pPartyBookingDeleteReq,2); packet(0x08EA,4); packet(0x08EB,39,clif->pPartyBookingUpdateReq,2); packet(0x08EC,73); packet(0x08ED,43); packet(0x08EE,6); packet(0x08EF,6,clif->pDull,2); //bookingignorereq packet(0x08F0,6); packet(0x08F1,6,clif->pDull,2); //bookingjoinpartyreq packet(0x08F2,36); packet(0x08F3,-1); packet(0x08F4,6); packet(0x08F5,-1,clif->pDull,2,4); //bookingsummonmember packet(0x08F6,22); packet(0x08F7,3); packet(0x08F8,7); packet(0x08F9,6); packet(0x08FA,6); packet(0x08FB,6,clif->pDull,2); //bookingcanceljoinparty packet(0x0907,5,clif->pMoveItem,2,4); packet(0x0908,5); packet(0x08D7,28,clif->pDull,2,4); //battlegroundreg packet(0x08CF,10);//Amulet spirits packet(0x0977,14);//Monster HP Bar//-edit -- this is what ive added //packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); //packet(0x0817,2,clif->pReqCloseBuyingStore,0); //packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0922,-1,clif->pReqTradeBuyingStore,2,4,8,12); packet(0x094E,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); //packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); //packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); packet(0x0844,2,clif->pCashShopOpen,0);/* tell server cashshop window is being open */ packet(0x084a,2,clif->pCashShopClose,0);/* tell server cashshop window is being closed */ packet(0x08c9,4,clif->pCashShopSchedule,0); packet(0x0848,-1,clif->pCashShopBuy,0); packet(0x0447,2);#endif

Surprisingly, it worked. However i stumbled upon another problem,

packet 0x0938 gives me errors when i pick up a "Poring box"

map server shows this: clif_parse: recieved packet 0x0938 specifies invalid packet_len (50782)

i think the 0x0938 packet is duplicated and that gives the conflict.. 

please give me tips on how to make a pre-re herc server stable, if i need to change clients or anything itd be ok. 

 
I just want to point out that you are using ragexeRE packets for the ragexe client. Which won't work for many packets as ragexe uses many different ones.

Next thing is, you specified as you already found out yourself, the 0x0938 packet 2 times, one time as item pickup, the second as buying store.

The server will think your client requested to open a buying store, thus resulting in invalid packet len, because the server will return data to the client which the client didn't expect.

And now the client will spam the server with the same request again, resulting in server forfeiting it. Loops up till you reach this packet_len.

Comment the 0x0938 packet out, that one you added. Then check ingame (after recompiling) if you can pick up items.

If it works you need to check what happens if you open the buying store, note down the packet if it errors.

That's all i can tell you.

 
Thank you very much for the enlightenment sir, I will update my findings later /no1

I guess it's solved now, i commented out the 2nd 0x0938 packet. I can still access the cash shop when clicked, i could also buy and browse. picking up items also works now. thanks for the help sir.

 
Last edited by a moderator:
Back
Top