does anyone have or have the client for V529 BDO
Code:
<packetfamily way="ServerPackets">
<struct type="BDOPlugin.BDOPacketHeader">
<data/>
</struct>
<packet id="0x03EB" name="SMSetFrameworkInformation">
<part name="magicBytesXorkey" type="b" size="106"/>
</packet>
<packet id="0x03F4" name="SMNak">
<part name="messageId" type="d">
<reader type="StringTableHash"/>
</part>
<part name="parentPacketOpCode" type="h"/>
<part name="param0" type="Q"/>
</packet>
<packet id="0x0C8A" name="SMFixedCharge">
<part name="PremiumTimer" type="-Q">
<reader type="UnixDate"/>
</part>
<part name="IsPremium" type="-c">
<reader type="Boolean"/>
</part>
</packet>
<packet id="0x0C8C" name="SMGetCreateUserInformationToAuthenticServer">
<part name="authToken" type="S" size="62"/>
<part name="usePinCode" type="c"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="registerPinCode" type="c"> <!-- you need to type pin code 2x to be valid -->
<reader type="Boolean"/>
</part>
<part name="pinKeyPanelOrderBlock" type="c"/> <!-- 0~19 -->
<part name="unk" type="c"/>
<part name="unkNew478" type="c"/>
<func name="for(0,20)">
<part name="pinKeyOrder" type="Q"/>
</func>
</packet>
<packet id="0x0C8E" name="SMLoginUserToAuthenticServer">
<part name="sessionId" type="d"/>
<part name="registerFamilyName" type="c"/>
<part name="unk" type="c"/>
<part name="gameVersion" type="d"/>
</packet>
<packet id="0x0C8F" name="SMLoginUserToAuthenticServerNak">
<part name="Message" type="S" size="402"/>
<part name="ExpirationDate" type="-Q"/>
<part name="MessageId" type="d">
<reader type="StringTableHash"/>
</part>
<part name="ReasonId" type="d">
<reader type="StringTableHash"/>
</part>
</packet>
<packet id="0x0C91" name="SMRegisterNickNameToAuthenticServer">
<part name="unk" type="d"/>
</packet>
<packet id="0x0C93" name="SMGetWorldInformations">
<part name="unk" type="d"/>
<part name="serverListReceivedDate" type="Q">
<reader type="UnixDate"/>
</part>
<part name="isFirstPacket" type="c"/>
<part name="serversCount" type="h" id="0"/>
<func name="for(0,id0)">
<part name="channelId" type="h"/> <!-- higher value on top of server list -->
<part name="serverId" type="h"/> <!-- higher value on top of server list -->
<part name="channelPosition" type="h"/>
<part name="unk" type="h"/>
<part name="unk" type="h"/>
<part name="channelName" type="S" size="62"/>
<part name="serverName" type="S" size="62"/>
<part name="0" type="c"/>
<part name="serverIp" type="s" size="62"/>
<part name="unk" type="b" size="39"/>
<part name="serverPort" type="h"/>
<part name="serverStatus" type="c"/> <!-- 0=maintainance, 1=good, 2=medium, 3=crowded, 4=full -->
<part name="isJoinable" type="c"/>
<part name="unk" type="c"/>
<part name="characterCount" type="c"/>
<part name="characterToDeleteCount" type="c"/>
<part name="isLimited(40:0)" type="h"/>
<part name="channelChangeDelayDate" type="-Q">
<reader type="UnixDate"/>
</part>
<part name="channelLastUsedDate" type="-Q">
<reader type="UnixDate"/>
</part>
<part name="serverHasBonuses" type="c"/> <!-- 0=none,1=exp,2=drops,3=exp+drops -->
<part name="unk" type="c"/>
<part name="unk" type="h"/>
<part name="unk" type="d"/>
<part name="stringUnkData" type="S" size="62"/>
<part name="unk" type="d"/>
<part name="unk" type="d"/>
<part name="hasGoldenMedal" type="c"/>
<part name="unk" type="h"/>
<part name="atSiege" type="c"/>
<part name="atNodeWar" type="c"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="unkNew432" type="c"/>
<part name="unkNew478" type="c"/>
</func>
</packet>
<packet id="0x0CB2" name="SMGetContentServiceInfo">
<part name="ContentsServiceType" type="c">
<reader type="MultiValue" name="ContentsServiceType"/>
</part>
<part name="CharacterSlotCount" type="c"/>
<part name="CharacterSlotLimit" type="c"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="ItemMarketBroadcastingPrice" type="Q"/>
<part name="ItemMarketTradeFeePercent" type="d"/>
<part name="ItemMarketRefundPercentForPcRoom" type="d"/>
<part name="ItemMarketRefundPercentForPremiumPackage" type="d"/>
<part name="ItemMarketRefundPercentForPcRoomAndPremiumPackage" type="d"/>
<part name="BiddingTime" type="Q"/>
<!-- Allowed/Available Class Types -->
<func name="for(0,32)"> <!-- Class Types Count/Max -->
<part name="classType" type="c">
<reader type="MultiValue" name="ClassType"/>
</part>
</func>
<part name="CharacterMaxLevel" type="d"/>
<part name="CharacterRemoveTimeCheckLevel" type="d"/>
<part name="LowLevelCharacterRemoveTime" type="Q"/>
<part name="CharacterRemoveTime" type="Q"/>
<part name="NameRemoveTime" type="Q"/>
<part name="GuildWarType" type="c"/>
<part name="CanMakeGuild" type="c"/>
<part name="CanRegisterPearlItemOnMarket" type="c"/>
<part name="VehicleGradeValue" type="h"/>
<part name="unk" type="c"/>
<part name="SendDirectionThreshold" type="d"/>
<part name="OpenedDesertPK" type="c"/>
<part name="UnlockedContent" type="h" id="0"/>
<func name="for(0,id0)">
<part name="ContentType" type="c"/>
<part name="ContentId" type="h"/>
</func>
</packet>
<packet id="0x1131" name="SMLoadGameOption">
<part name="options" type="s" size="201"/>
</packet>
<packet id="0x1133" name="SMLoadSocialActionConfig">
<part name="size" type="h" id="0"/>
<func name="for(0,id0)">
<part name="changeCmdName" type="c"/>
<part name="unk" type="c"/>
<part name="changeKeywordName" type="c"/>
<part name="strings" type="S" size="202"/>
</func>
</packet>
<packet id="0x1135" name="SMLoadChatMacro">
<part name="size" type="h" id="0"/>
<func name="for(0,id0)">
<part name="index" type="d"/>
<part name="chatType" type="c">
<reader type="MultiValue" name="ChatId"/>
</part>
<part name="macro" type="S" size="702"/>
</func>
</packet>
</packetfamily>
<packetfamily way="ClientPackets"> <!-- PREFIX: [A = easy found], [S = sub found], [E = hard found trick exception], [X = not found] -->
<struct type="BDOPlugin.BDOPacketHeader">
<data/>
</struct>
<!--E--><packet id="0x03E9" name="CMHeartbeat"/>
<!--S--><packet id="0x0C8B" name="CMGetCreateUserInformationToAuthenticServer">
<part name="authToken" type="S" size="2050"/>
<part name="cookieId" type="d"/>
<part name="clientVersion" type="d"/>
<part name="unk" type="d"/>
<part name="unkNew432" type="c"/>
</packet>
<!--A--><packet id="0x0C8D" name="CMLoginUserToAuthenticServer">
<part name="authToken" type="S" size="62"/>
<part name="pinCodeValidBlock" type="c"/> <!-- point the correct block where pin key code was sent -->
<part name="validPinCode" type="c">
<reader type="Boolean"/>
</part>
<func name="for(0,20)">
<part name="pinKeyPositionOrder" type="Q"/>
</func>
<part name="sessionId" type="d"/> <!-- same used on eTrGetCreateUserInformationToAuthenticServerReq -->
<part name="CPU" type="s" size="50"/>
<part name="unk" type="c"/>
<part name="RAM" type="d"/>
<part name="GPU" type="s" size="50"/>
<part name="unk" type="c"/>
<part name="screenWidth" type="d"/>
<part name="screenHeight" type="d"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
<part name="pcData" type="s" size="200"/>
<part name="unk" type="c"/>
<part name="OS" type="S" size="200"/>
<part name="unk" type="c"/>
<part name="unk" type="c"/>
</packet>
<!--A--><packet id="0x0C90" name="CMRegisterNickNameToAuthenticServer">
<part name="familyName" type="S" size="62"/>
<part name="screenWidth" type="d"/>
<part name="screenHeight" type="d"/>
</packet>
</packetfamily>