MPQ (Mo'PaQ, скорочення від Pack (англ. тюк)) — формат файлу архіву, що використовується у відеоіграх студії Blizzard Entertainment, названий на честь винахідника.
Файли MPQ в іграх Blizzard переважно складаються з файлів ігрових даних — графіки, звуків та інформації про ігрові рівні. До можливостей формату відносяться стиснення, шифрування, сегментація файлів, гнучкість метаданих файлів, криптографічний підпис та можливість зберігання кількох версій одного і того ж файлу для або через особливості певних платформ. В MPQ-архівах можуть використовуватися та поєднуватися різні алгоритми стиснення.
Індексація файлів
Для того, щоб відповідати вимогам швидкодії, які висувають сучасні відеоігри, файли індексовуються у хеш-таблиці швидким, низько-зіткненневим хешувальним алгоритмом. Індексом певного файлу в хеш-таблиці є хеш назви файлу малими літерами (lower case) по модулю розміру хеш-таблиці — це дозволяє швидко перевірити наявність файлу в архіві. Якщо ж декілька файлів архіву мають однаковий хеш (колізія хеш-функції), то вони будуть розташовані один за одним у порядку зростання індексу (формуючи в такий спосіб "колізійний" хеш-кластер). Щоб точно ідентифікувати запис файлу в хеш-кластері, кожен окремий запис хеш-таблиці збегігає 2 додаткових хеши назви файлу малими літерами, в яких використовуються однакові алгоритми хешування, але з різними значеннями seed та кодами локалізації та кодами платформ. Кінець хеш-кластеру знаходять або шляхом виявленням порожнього запису у хеш-таблиці, або зміщенням усієї хеш-таблиці (включаючи loopback остачі від ділення) до початкового індексу.
Шифрування
Як таблиця блоків (що містить інформацію стосовно розташування файлу в архіві), так і хеш-таблиця, що використовуються для індексації файлів, шифруються під час збереження. Криптографічний процес за умовчанням використовує відомий алгоритм.
Ревізія
Заголовок файлу резервує місце для даних про версію формату. Warcraft III ігнорує версію формату погоджувальних файлів .mpq, які завантажує гра, та вважає будь-який 1 версією.
- Версія 1 використовувалася до World of Warcraft.
- Версія 2 отримала розширений заголовок, який містить дані для розширеної таблиці блоків, аби уможливити більші розміри архіву.
Метадані архіву
MPQ-архіви не мають особливих структур для метаданих, окрім зовсім необхідних для доступу до заархівованих файлів. Натомість було вирішено користуватися звичайними файлами, назва яких береться у круглі дужки.
Нижче наведено відомі файли метаданих.
- (listfile): Містить список файлів архіву, по одній назві файлу в рядку. Може бути неповним.
- (signature): Містить слабкий криптографічний підпис архіву. Цей тип підпису є застарілим.
- (attributes): Містить розширені метадані файлу. Наразі відомими атрибутами файлу є дата створення та контрольні суми CRC32 і MD5.
Стискання
У сучасних MPQ-архівах, кожний сегмент (або сектор) файлу може бути стиснутий комбінацією кількох алгоритмів стиснення. Байт заголовку додається до кожного стисненого сектора, аби вказати які стиснення було використано. Порядок, в якому застосовуються алгоритми стиснення є "вшитим" в код.
Перелік алгоритмів, які на даний час використовуються в іграх компанії Blizzard:
- PKZIP (за ліцензією PKWARE). Перший доступний алгоритм стиснення.
- — деревовидне стиснення в поєднанні з ADPCM-стисненням 4:1 (обидва вперше представлені у StarCraft). Пізніші алгоритми використовували стиснення з втратами і відповідно підходять лише для сирих вихідних даних PCM.
- Zlib (вперше представлений у Warcraft III).
- Bzip2 (вперше представлений у World Of Warcraft).
- LZMA (вперше представлений у StarCraft II).
Оскільки коли MPQ-архіви були вперше використані у Diablo, був доступним лише один алгоритм стиснення, використовувався інший флаг метаданих архівних файлів для вказівки на стиснення, та не використовувався байт стиснення у заголовку.
Відеоролики Warcraft III
Сюжетні ролики з розширенням MPQ, включені до Warcraft III, незважаючи на розширення файлів, не є файлами MPQ. Насправді це AVI-файли, стиснуті за допомогою перейменованого Blizzard кодеку MPEG-4, BLZ0 (який насправді є DivX). Ці файли можна відтворити в звичайних медіа-програвачах, якщо встановлено належні кодеки. Імовірно, Blizzard додали розширення MPQ для цих файлів, щоб приховати сюжетні ролики від гравця, аби не зіпсувати враження від гри, не давши подивитися їх до того, як він пройде відповідний рівень гри. Тим не менш, ролики World of Warcraft мають розширення AVI.
DBC (WDBC) файли колекції записів даних, що використовуються в World of Warcraft є клієнтськими базами даних. Вони знаходяться всередині MPQ файлів гри. DBC файли організовували клієнтську інформацію, необхідну для запуску гри правильно.
Використання в іграх
Blizzard використовувала файл формату MPQ для архівування ігрових файлів у багатьох їх іграх, включаючи:
- Diablo
- , розроблена
- , розроблена Sierra Entertainment
- Diablo II
- Diablo II: Lord of Destruction
- StarCraft
- Starcraft: Brood War
- WarCraft II: Battle.net Edition
- Warcraft III: Reign of Chaos
- Warcraft III: The Frozen Throne
- World of Warcraft
- World of Warcraft: The Burning Crusade
- World of Warcraft: Wrath of the Lich King
- World of Warcraft: Cataclysm
- StarCraft II: Wings of Liberty
Заміна: CASC
3 квітня 2014 року, з початком альфа-тестування World of Warcraft: Warlords of Draenor, Blizzard заявили, що тестують новий пропрієтарний формат файлу — CASC (Content Addressable Storage Container) на заміну MPQ в World of Warcraft. Серед обіцяних покращень — зменшення пошкоджень файлів за рахунок створення системи самообслуговування, покращена швидкодія та швидше змінення файлу. Спочатку формат CASC тестувався у внутрішній альфа-версії Heroes of the Storm, а потім — в альфа- та бета-версіях Warlords of Draenor перед безпосередьою реалізацюєю у грі перед виходом аддону.
Посилання
- . Архів оригіналу за 30 січня 2015. Процитовано 28 лютого 2015.
Зовнішні посилання
Специфікації
- найточніша та найповніша специфікація незалежного розробника формату MPQ .
- Inside MoPaQ [ 16 березня 2010 у Wayback Machine.] — посібник до формату. (Не оновлюється, лише Win32, немає вихідного коду.).
Бібліотеки
- StormLib [ 24 липня 2011 у Wayback Machine.] крос-платформенна C++ бібліотека високого рівня з відкритим кодом для маніпуляції архівів MPQ . Також підтримує перевірку підписів.
- libmpq [ 27 липня 2011 у Wayback Machine.] крос-платформенна C бібліотека (та пов'язані з нею інструменти) для видобування файліз з архівів MPQ.
- java обгортка для libmpq.
- Mac OS X Objective-C каркас для маніпуляції архівів MPQ .Також підтримує перевірку підписів.
- .NET 3.5 об'єктно орієнтована бібліотека для роботи з файлами та архівами mpq.
Програми
- MPQDraft [ 12 червня 2011 у Wayback Machine.], програма з відкритим кодом, яка розміщена на серверах Sourceforgeу і яка дозволяє працювати з файлами формату MPQ.
- — Програма-видобувач для Mac OS X.
- Ladik's MPQ Editor [ 24 липня 2011 у Wayback Machine.], редактор файлів формату .MPQ для Windows, бібліотеки Storm.dll, StormLib, для читання та писання файлів .MPQ .
- WoW Model Viewer [ 3 липня 2011 у Wayback Machine.], програма що вміє відчиняти файли MPQ гри World of Warcraft аби переглядати файли які заархівовано у них, як наприклад файли формату або файли ..
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
MPQ Mo PaQ skorochennya vid Pack angl tyuk format fajlu arhivu sho vikoristovuyetsya u videoigrah studiyi Blizzard Entertainment nazvanij na chest vinahidnika Fajli MPQ v igrah Blizzard perevazhno skladayutsya z fajliv igrovih danih grafiki zvukiv ta informaciyi pro igrovi rivni Do mozhlivostej formatu vidnosyatsya stisnennya shifruvannya segmentaciya fajliv gnuchkist metadanih fajliv kriptografichnij pidpis ta mozhlivist zberigannya kilkoh versij odnogo i togo zh fajlu dlya abo cherez osoblivosti pevnih platform V MPQ arhivah mozhut vikoristovuvatisya ta poyednuvatisya rizni algoritmi stisnennya Indeksaciya fajlivDlya togo shob vidpovidati vimogam shvidkodiyi yaki visuvayut suchasni videoigri fajli indeksovuyutsya u hesh tablici shvidkim nizko zitknennevim heshuvalnim algoritmom Indeksom pevnogo fajlu v hesh tablici ye hesh nazvi fajlu malimi literami lower case po modulyu rozmiru hesh tablici ce dozvolyaye shvidko pereviriti nayavnist fajlu v arhivi Yaksho zh dekilka fajliv arhivu mayut odnakovij hesh koliziya hesh funkciyi to voni budut roztashovani odin za odnim u poryadku zrostannya indeksu formuyuchi v takij sposib kolizijnij hesh klaster Shob tochno identifikuvati zapis fajlu v hesh klasteri kozhen okremij zapis hesh tablici zbegigaye 2 dodatkovih heshi nazvi fajlu malimi literami v yakih vikoristovuyutsya odnakovi algoritmi heshuvannya ale z riznimi znachennyami seed ta kodami lokalizaciyi ta kodami platform Kinec hesh klasteru znahodyat abo shlyahom viyavlennyam porozhnogo zapisu u hesh tablici abo zmishennyam usiyeyi hesh tablici vklyuchayuchi loopback ostachi vid dilennya do pochatkovogo indeksu ShifruvannyaYak tablicya blokiv sho mistit informaciyu stosovno roztashuvannya fajlu v arhivi tak i hesh tablicya sho vikoristovuyutsya dlya indeksaciyi fajliv shifruyutsya pid chas zberezhennya Kriptografichnij proces za umovchannyam vikoristovuye vidomij algoritm ReviziyaZagolovok fajlu rezervuye misce dlya danih pro versiyu formatu Warcraft III ignoruye versiyu formatu pogodzhuvalnih fajliv mpq yaki zavantazhuye gra ta vvazhaye bud yakij 1 versiyeyu Versiya 1 vikoristovuvalasya do World of Warcraft Versiya 2 otrimala rozshirenij zagolovok yakij mistit dani dlya rozshirenoyi tablici blokiv abi umozhliviti bilshi rozmiri arhivu Metadani arhivuMPQ arhivi ne mayut osoblivih struktur dlya metadanih okrim zovsim neobhidnih dlya dostupu do zaarhivovanih fajliv Natomist bulo virisheno koristuvatisya zvichajnimi fajlami nazva yakih beretsya u krugli duzhki Nizhche navedeno vidomi fajli metadanih listfile Mistit spisok fajliv arhivu po odnij nazvi fajlu v ryadku Mozhe buti nepovnim signature Mistit slabkij kriptografichnij pidpis arhivu Cej tip pidpisu ye zastarilim attributes Mistit rozshireni metadani fajlu Narazi vidomimi atributami fajlu ye data stvorennya ta kontrolni sumi CRC32 i MD5 StiskannyaU suchasnih MPQ arhivah kozhnij segment abo sektor fajlu mozhe buti stisnutij kombinaciyeyu kilkoh algoritmiv stisnennya Bajt zagolovku dodayetsya do kozhnogo stisnenogo sektora abi vkazati yaki stisnennya bulo vikoristano Poryadok v yakomu zastosovuyutsya algoritmi stisnennya ye vshitim v kod Perelik algoritmiv yaki na danij chas vikoristovuyutsya v igrah kompaniyi Blizzard PKZIP za licenziyeyu PKWARE Pershij dostupnij algoritm stisnennya derevovidne stisnennya v poyednanni z ADPCM stisnennyam 4 1 obidva vpershe predstavleni u StarCraft Piznishi algoritmi vikoristovuvali stisnennya z vtratami i vidpovidno pidhodyat lishe dlya sirih vihidnih danih PCM Zlib vpershe predstavlenij u Warcraft III Bzip2 vpershe predstavlenij u World Of Warcraft LZMA vpershe predstavlenij u StarCraft II Oskilki koli MPQ arhivi buli vpershe vikoristani u Diablo buv dostupnim lishe odin algoritm stisnennya vikoristovuvavsya inshij flag metadanih arhivnih fajliv dlya vkazivki na stisnennya ta ne vikoristovuvavsya bajt stisnennya u zagolovku Videoroliki Warcraft IIISyuzhetni roliki z rozshirennyam MPQ vklyucheni do Warcraft III nezvazhayuchi na rozshirennya fajliv ne ye fajlami MPQ Naspravdi ce AVI fajli stisnuti za dopomogoyu perejmenovanogo Blizzard kodeku MPEG 4 BLZ0 yakij naspravdi ye DivX Ci fajli mozhna vidtvoriti v zvichajnih media progravachah yaksho vstanovleno nalezhni kodeki Imovirno Blizzard dodali rozshirennya MPQ dlya cih fajliv shob prihovati syuzhetni roliki vid gravcya abi ne zipsuvati vrazhennya vid gri ne davshi podivitisya yih do togo yak vin projde vidpovidnij riven gri Tim ne mensh roliki World of Warcraft mayut rozshirennya AVI DBC WDBC fajli kolekciyi zapisiv danih sho vikoristovuyutsya v World of Warcraft ye kliyentskimi bazami danih Voni znahodyatsya vseredini MPQ fajliv gri DBC fajli organizovuvali kliyentsku informaciyu neobhidnu dlya zapusku gri pravilno Vikoristannya v igrahBlizzard vikoristovuvala fajl formatu MPQ dlya arhivuvannya igrovih fajliv u bagatoh yih igrah vklyuchayuchi Diablo rozroblena rozroblena Sierra Entertainment Diablo II Diablo II Lord of Destruction StarCraft Starcraft Brood War WarCraft II Battle net Edition Warcraft III Reign of Chaos Warcraft III The Frozen Throne World of Warcraft World of Warcraft The Burning Crusade World of Warcraft Wrath of the Lich King World of Warcraft Cataclysm StarCraft II Wings of LibertyZamina CASC3 kvitnya 2014 roku z pochatkom alfa testuvannya World of Warcraft Warlords of Draenor Blizzard zayavili sho testuyut novij propriyetarnij format fajlu CASC Content Addressable Storage Container na zaminu MPQ v World of Warcraft Sered obicyanih pokrashen zmenshennya poshkodzhen fajliv za rahunok stvorennya sistemi samoobslugovuvannya pokrashena shvidkodiya ta shvidshe zminennya fajlu Spochatku format CASC testuvavsya u vnutrishnij alfa versiyi Heroes of the Storm a potim v alfa ta beta versiyah Warlords of Draenor pered bezposeredoyu realizacyuyeyu u gri pered vihodom addonu Posilannya Arhiv originalu za 30 sichnya 2015 Procitovano 28 lyutogo 2015 Zovnishni posilannyaSpecifikaciyi najtochnisha ta najpovnisha specifikaciya nezalezhnogo rozrobnika formatu MPQ Inside MoPaQ 16 bereznya 2010 u Wayback Machine posibnik do formatu Ne onovlyuyetsya lishe Win32 nemaye vihidnogo kodu Biblioteki StormLib 24 lipnya 2011 u Wayback Machine kros platformenna C biblioteka visokogo rivnya z vidkritim kodom dlya manipulyaciyi arhiviv MPQ Takozh pidtrimuye perevirku pidpisiv libmpq 27 lipnya 2011 u Wayback Machine kros platformenna C biblioteka ta pov yazani z neyu instrumenti dlya vidobuvannya fajliz z arhiviv MPQ java obgortka dlya libmpq Mac OS X Objective C karkas dlya manipulyaciyi arhiviv MPQ Takozh pidtrimuye perevirku pidpisiv NET 3 5 ob yektno oriyentovana biblioteka dlya roboti z fajlami ta arhivami mpq Programi MPQDraft 12 chervnya 2011 u Wayback Machine programa z vidkritim kodom yaka rozmishena na serverah Sourceforgeu i yaka dozvolyaye pracyuvati z fajlami formatu MPQ Programa vidobuvach dlya Mac OS X Ladik s MPQ Editor 24 lipnya 2011 u Wayback Machine redaktor fajliv formatu MPQ dlya Windows biblioteki Storm dll StormLib dlya chitannya ta pisannya fajliv MPQ WoW Model Viewer 3 lipnya 2011 u Wayback Machine programa sho vmiye vidchinyati fajli MPQ gri World of Warcraft abi pereglyadati fajli yaki zaarhivovano u nih yak napriklad fajli formatu abo fajli