EU LOGIN 529 Sever packet offsets and info

Results 1 to 6 of 6
  1. #1
    Valued Member beardilus is offline
    MemberRank
    Oct 2017 Join Date
    125Posts

    EU LOGIN 529 Sever packet offsets and info

    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>


  2. #2
    Maybe demon? Kirito2105 is offline
    MemberRank
    Sep 2012 Join Date
    RussianLocation
    432Posts

    Re: EU LOGIN 529 Sever packet offsets and info

    useless information

  3. #3
    Apprentice nazgul111 is offline
    MemberRank
    Jan 2018 Join Date
    21Posts

    Re: EU LOGIN 529 Sever packet offsets and info

    Quote Originally Posted by beardilus View Post
    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>
    were't you the guy who claimed to have 661 working and was promising to release the files?

  4. #4
    Valued Member beardilus is offline
    MemberRank
    Oct 2017 Join Date
    125Posts

    Re: EU LOGIN 529 Sever packet offsets and info

    @nazgul111

    I never said I had it working nor did I say I had the files I only claim to have the converted content

    @Kirito2105
    this is not useless information you can use this to update the logon server to allow a new client to connect
    I'm sorry if you don't know how emulators work
    it contains the packet structures and the packet offsets

  5. #5
    Apprentice nazgul111 is offline
    MemberRank
    Jan 2018 Join Date
    21Posts

    Re: EU LOGIN 529 Sever packet offsets and info

    Quote Originally Posted by beardilus View Post
    actually it's not a lot of work the key exchange messages at exactly the same the hardest part is getting the tools to get the proper content
    what if you had the tools that are floating around just updating the op codes can get you to the map without the tool it's completely pointless cuz you won't have any AI information or player locations

    - - - Updated - - -

    and I've been thinking about releasing the stuff for 661 without the opcodes because I want you guys to still do something on your own
    kinda sounds as if you were telling us you got them working and going to release, either way doesnt matter, argueing wont do nothing to solve this particular thread anyways, so im moving on.

  6. #6
    Maybe demon? Kirito2105 is offline
    MemberRank
    Sep 2012 Join Date
    RussianLocation
    432Posts

    Re: EU LOGIN 529 Sever packet offsets and info

    Quote Originally Posted by beardilus View Post
    @nazgul111

    I never said I had it working nor did I say I had the files I only claim to have the converted content

    @Kirito2105
    this is not useless information you can use this to update the logon server to allow a new client to connect
    I'm sorry if you don't know how emulators work
    it contains the packet structures and the packet offsets
    this is absolutely useless information
    all this can be easily obtained by making a dump
    Also, the structure of the packages you get without problems



Advertisement