Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Release]IGC.S18.GameServer_Regular&Unpacked.

Newbie Spellweaver
Joined
Feb 4, 2023
Messages
47
Reaction score
99
GameServer&Unpacked.rar Download(Only Unpacked&Not Fixed):


Part Reversed Code:

C++:
 if ( (_BYTE)protoNum != 0x37 && (_BYTE)protoNum != 0xA0 )
  {
    v26 = protoNum;
    switch ( protoNum )
    {
      case 0:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGUseItemRecv((__int64)&unk_140D322BC, (__int64)aRecv, aIndex);
        return;
      case 1:
        FriendAddRequest((__int64)aRecv, aIndex);
        return;
      case 2:
        CGReqNpcDbList((__int64)a1, (__int64)aRecv, (unsigned int)aIndex);
        return;
      case 3:
        CGChaosBoxUseEnd((__int64)a1, aIndex);
        return;
      case 0xE:
        CGReqRegGensMember(*(double *)&_XMM0, (__int64)aRecv, aIndex, (__int64)v25);
        return;
      case 0x10:
        RecvPositionSetProc((__int64)a1, (__int64)aRecv, aIndex);
        return;
      case 0x18:
        CGActionRecv((__int64)a1, (__int64)aRecv, aIndex);
        return;
      case 0x19:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGTalkRequestRecv((__int64)&unk_140D322BC, (__int64)aRecv, (unsigned int)aIndex, v31);
        return;
      case 0x1B:
        CGMagicCancel((__int64)a1, (__int64)aRecv, aIndex);
        return;
      case 0x1C:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGTeleportRecv(*(double *)&_XMM0, (__int64)aRecv, aIndex);
        return;
      case 0x1E:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGDurationMagicRecv(v29, (__int64)aRecv, aIndex);
        return;
      case 0x22:
        FriendDelRequest(*(double *)&_XMM0, aIndex);
        return;
      case 0x23:
        FriendMemoDelReq((__int64)aRecv, aIndex);
        return;
      case 0x26:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGMagicAttack(v27, aRecv, aIndex);
        return;
      case 0x30:
        if ( (unsigned __int8)PacketCheckTime(a1, (unsigned int)aIndex, v9, v25) == 1 )
          *(_BYTE *)(v11 + qword_1407F4930 + 4240) = 1;
        CGPartyDelUser((__int64)&unk_140D322BC, (__int64)aRecv, aIndex, 1, 0);
        *(_BYTE *)(v11 + qword_1407F4930 + 4240) = 0;
        return;
      case 0x31:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CSPJoinIdPassRequest(*(double *)&_XMM0, (__int64)aRecv, aIndex);
        return;
      case 0x32:
        GCReqmoveDevilSquare(*(double *)&_XMM0, (__int64)aRecv, aIndex);
        return;
      case 0x33:
        CGSellRequestRecv((__int64)a1, (__int64)aRecv, aIndex);// No
        return;
      case 0x34:
        CGInventoryItemMove((__int64)&unk_140D322BC, aRecv, (unsigned int)aIndex, (__int64)v25);
        return;
      case 0x35:
        sub_1403BE0F0((__int64)a1, (__int64)aRecv, aIndex);
        return;
      case 0x36:
        CGWarehouseUseEnd((__int64)&unk_140D322BC, aIndex);
        return;
      case 0x3A:
        msubcode = aRecv[3];
        switch ( aRecv[3] )
        {
          case 8u:
            sub_1403C1240((__int64)a1, (unsigned int)aIndex, v9);
            break;
          case 9u:
            GCReqSelectRewardBox((__int64)a1, aIndex);
            break;
          case 0x20u:
            sub_1403C1370((__int64)a1, aIndex, (__int64)aRecv);
            break;
          case 0x21u:
            sub_1403C2040((__int64)a1, aIndex, (__int64)aRecv);
            break;
          case 0x22u:
            sub_1403C1410((__int64)a1, (unsigned int)aIndex, (__int64)aRecv);
            break;
          case 0x30u:
            sub_1403C14B0((__int64)a1, aIndex, (__int64)aRecv);
            break;
          case 0x31u:
            Start4thQuestRecv((__int64)a1, aIndex);
            break;
          case 0x32u:
            MoveTo4thQuestAreaRecv((__int64)a1, aIndex);
            break;
          case 0x33u:
            sub_1403C14F0((__int64)a1, (unsigned int)aIndex, (__int64)aRecv);
            break;
          case 0x34u:
            MoveTo4thInstanceArea((__int64)a1, aIndex);
            break;
          case 0x35u:
            sub_1403C12D0((__int64)a1, (unsigned int)aIndex, (__int64)aRecv);
            break;
          case 0x36u:
            GCReqSelectRewardBox1((__int64)a1, (__int64)aRecv, aIndex);
            break;
          case 0x39u:
            sub_1403C1210((__int64)a1, (unsigned int)aIndex, (__int64)aRecv);
            break;
          case 0x3Au:
            sub_1403C11E0((__int64)a1, (unsigned int)aIndex, (__int64)aRecv);
            break;
          case 0x3Bu:
            ReqHarmonyUIMixExit((__int64)a1, aIndex, (__int64)aRecv);
            break;
          case 0x3Cu:
            ReqHarmonyUIMixCancel((__int64)&unk_140D322BC, aIndex, (__int64)aRecv);
            break;
          default:
            goto LABEL_508;
        }
        return;
      case 0x3C:
        CGRequestEnterBloodCastle((__int64)&unk_140D322BC, (__int64)aRecv, aIndex);
        return;
      case 0x3D:
        FriendChatRoomCreateReq((__int64)aRecv, aIndex);
        return;
      case 0x3E:
        sub_1403A2180((__int64)a1, aIndex);
        return;
      case 0x3F:
        CGInventoryItemMove0((__int64)&unk_140D322BC, aIndex, (__int64)aRecv);
        return;
      case 0x41:
        sub_140393320((__int64)&unk_140D322BC, (__int64)aRecv, aIndex);
        return;
      case 0x42:
        GGuildMasterAnswerRecv((__int64)&unk_140D322BC, (__int64)aRecv, aIndex);
        return;
      case 0x4B:
        CGGuildMasterInfoSave((__int64)&unk_140D322BC, aIndex, (__int64)aRecv);
        return;
      case 0x4C:
        if ( DataEncryptCheck((__int64)a1, aIndex) )
          CGBuyRequestRecv((__int64)&unk_140D322BC, aRecv, aIndex);
        return;
      case 0x4D:
        sub_14038B610((__int64)&unk_140D322BC, (__int64)aRecv, (unsigned int)aIndex, (__int64)v25);
        return;
      case 0x4E:
        msubcode = aRecv[3];
        switch ( aRecv[3] )
        {
          case 0u:
            if ( DataEncryptCheck((__int64)a1, aIndex) )
              CGMuunItemGetRequest((__int64)&unk_140D322BC, (__int64)aRecv, aIndex);
            break;
          case 8u:
            CGMuunInventoryUseItemRecv((__int64)a1, aRecv, aIndex);
            break;
          case 9u:
            if ( DataEncryptCheck((__int64)a1, aIndex) )
              CGMuunSellRequestRecv((__int64)&unk_140D322BC, (__int64)aRecv, (unsigned int)aIndex);
            break;
          case 0x11u:
            sub_1403131E0((__int64)a1, (__int64)aRecv, aIndex);
            break;
          case 0x13u:
            MuunExchange((__int64)a1, (__int64)aRecv, aIndex);
            break;
          case 0x23u:
            sub_140314DE0((__int64)a1, (__int64)aRecv, aIndex);
            break;
          default:
            goto LABEL_508;
        }
        return;
      case 0x4F:
        v39 = aRecv[3];
        if ( (_BYTE)v39 == 2 )
        {
          GremoryCaseRecv((__int64)&off_141B7C9E0, (__int64)aRecv, aIndex);
        }
        else
        {
          if ( (_BYTE)v39 != 5 )
            goto LABEL_511;
          GremoryCaseOpen((__int64)a1, 0x140000000i64, aIndex);
        }
        return;
      case 0x51:
        WaitFriendAddRequest(*(double *)&_XMM0, aIndex);
        
        .................................................
 
Back
Top