디아블로2 레저렉션/모드(MOD) 정보

디아블로2 레저렉션 모드(MOD) 적용을 위한 MPQ 파일 이해하기 (초보용)

아미넴 2021. 10. 21.
반응형

아이템 필터 등 모드를 적용할 때 애를 먹는 이유가 mpq 파일 구조에 대한 이해가 부족해서 그런 경우가 많은 것 같습니다. 개념을 한 번 잡고 가면 손쉽게 적용할 수 있는 것은 물론 다른 모드들을 서로 짬뽕시켜 이용하는 경우에도 많은 도움이 될 수 있으니 꼭 한 번 보고 가세요!

 

목차

     

    mpq 포맷이란

    블리자드에서 개발한 독자적인 압축 포맷입니다. 이 파일 안에 게임에 필요한 모든 데이터들을 다 집어 넣어 관리하고 있습니다. 최근에 CACS(Content Addressable Storage Container) 포맷으로 바뀌었다고 하는데 모드에서는 mpq 포맷을 그대로 사용할 수 있네요. 찾아보면 상세한 설명이 많이 나오긴 하지만 이 정도만 알고 넘어가도 될 듯 싶습니다.

     

    원본 게임 데이터 구성 살펴보기

    앞서 언급했듯이 최근에는 CACS 구조로 이루어져 있는데요. Ladik's Casc Viewer를 통해 디아블로2 레저렉션 압축 포맷 내부를 들여다 볼 수 있습니다.

     

    상세한 방법은 아래 글에 잘 나와 있습니다.

     

    디아블로2 레저렉션 아이템 필터 간단한 적용 방법

     

    디아블로2 레저렉션 아이템 필터 간단한 적용 방법

    (주의) 인터뷰에서 언급한 내용으로 미루어 보면 블리자드 측에서 특별히 제재를 가하지는 않을 것 같으나 만에 하나 사용 시 발생하는 불이익이 있을 경우 필자가 책임지지 않음을 밝힙니다.

    sangminem.tistory.com

     

    데이터 원본의 폴더 구조는 대략적으로 다음과 같이 이루어져 있습니다. 여기에 모든 게임 데이터가 들어 있습니다. 쉽게 이해할 수 있는 부분도 있고 그렇지 않은 부분도 있습니다. 모드에서 이 구성을 그대로 가져가므로 해당 내용을 얼마나 잘 이해하느냐에 따라 모드의 질과 다양성이 결정된다고 볼 수 있겠습니다.

     

    모드 mpq 파일 내부 살펴보기

    먼저 MPQ Editor를 다운 받아야 합니다.

     

    GitHub/HighTechLowIQ/ModdingDiablo2Resurrected/blob/master/Tools/mpqeditor_en.zip

     

    GitHub - HighTechLowIQ/ModdingDiablo2Resurrected: This repository contains some tools and guides on modding Diablo 2 Resurrected

    This repository contains some tools and guides on modding Diablo 2 Resurrected. - GitHub - HighTechLowIQ/ModdingDiablo2Resurrected: This repository contains some tools and guides on modding Diablo ...

    github.com

     

    직접 업로드도 해 놓겠습니다.

    mpqeditor_en.zip
    1.34MB

     

    압축을 풀면 나오는 x64 폴더의 MPQEditor.exe 파일을 실행해 보겠습니다.

     

    여기서 제가 만든 예시 모드인 custom.mpq 파일을 한 번 살펴 보겠습니다.

    custom.mpq
    2.49MB

     

    MPQs > Open MPQ(s)를 선택하시면 됩니다.

     

    custom.mpq 파일 안에는 다음과 같은 구조로 폴더가 구성되어 있습니다. 어디서 많이 본 폴더 구조이지 않나요?

    맞습니다. 원본 데이터 구조와 완전히 동일합니다. 우리는 필요한 부분만 가져와서 수정하고 원본과 동일한 위치에 동일한 파일을 만든 모드에 가져다 놓으면 됩니다. 명령줄 인수를 통해 이 모드가 있다는 것을 알리면 원본 데이터를 무시하고 모드의 동일한 위치에 있는 파일을 우선적으로 적용하는 개념인 것입니다.

     

    MPQ Editor를 통해 mpq 포맷 내에 필요한 파일을 추가 및 삭제를 할 수 있습니다.

     

    mpq 포맷과 단순 폴더 구조 비교

    그런데 여러 모드들을 보다 보면 mpq 파일이 없는 모드들도 있습니다. 대체 왜 그런걸까요?

     

    우리가 보통 보던 구조는 게임 설치 경로\mods\모드이름 안에 모드이름.mpq 파일이었죠.

     

    잘 살펴보면 어떤 모드에서는 mpq 파일이 있는 대신에 파일 명과 동일한 폴더(게임 설치 경로\mods\모드이름 안에 모드이름.mpq 폴더)가 존재하고 있습니다.

     

    한 가지 더 살펴 보면 custom.mpq 파일에서는 모드 정보가 있는 modinfo.json 파일이 가장 상위에 위치해 있는 것을 확인할 수 있습니다.

     

     

    폴더 구조에서는 custom.mpq 폴더 바로 아래 modinfo.json 파일이 있습니다. 파일 내부와 같죠.

     

    예상하셨겠지만 MPQ Editor를 이용하여 custom.mpq 파일을 만들어 적용하든 그냥 custom.mpq 라는 폴더를 만들어서 적용하든 이 두 가지는 동일하게 적용이 됩니다. 상당히 유사한 구조로 구성이 되어 있긴 하지만 엄연히 이 둘은 다른 형태입니다. 디아블로2 레저렉션의 모드 기능에서 동일하게 인식시켜 주고 있는 것 뿐입니다.

     

    정리하기

    이러한 구조만 잘 이해하면 mpq 포맷 파일을 추출하여 폴더 형태로 만들어서 나만의 모드를 구성할 수도 있고 반대로 mpq 폴더를 mpq 포맷 파일로 만들어서 모드를 단일 파일로 관리할 수도 있을 것입니다.

     

    다음 사항을 잘 기억하시기 바랍니다.

     

    1. 원본 데이터 구조와 모드 내부 데이터 구조는 완전 동일하다.

    2. 모드에서 mpq 파일과 mpq 폴더는 동일한 개념으로 인식한다.

    반응형

    댓글

    💲 추천 글