(2 MB)
Updated: 09/17/20 06:56 AM
Pictures
File Info
 Compatibility: Stonethorn (6.1.5)Greymoor (6.0.5)Harrowstorm (5.3.5)Dragonhold (5.2.5)Scalebreaker (5.1.5)Elsweyr (5.0.5) Updated: 09/17/20 06:56 AM Created: 12/19/15 12:20 PM Monthly downloads: 178 Total downloads: 8,062 Favorites: 15 MD5: Categories: ESO Tools & Utilities, Developer Utilities
EsoExtractData
Version: 0.41
by: Uesp [More]
EsoExtractData is a Windows command line utility program used to extract data from ESO's MNF/DAT files. For complete documentation see the Online Manual for EsoExtracData.

Features
• Extract filenames and data from MNF/DAT files.
• Save meta data on the files stored within MNF/DAT files.
• Convert DDS files to PNG.
• Convert LANG files to CSV and Pootle compatible TXT files.
• Convert CSV/TXT back into LANG files.
• Compare LANG files for differences.
• Options for full or partial extraction of data.

Installation
• Unzip into a directory of your choice (preferably a new directory).
• Run the program from the Windows command line (ex: Start::Run::cmd) or similar shell.

Typical Usage

IMPORTANT NOTE -- Exporting all files from the three ESO MNF files will take several hours and require over 100GB of disk free space.

View basic program usage and command options:
Code:
EsoExtractData --help or EsoExtractData -h
Extract the given MNF file and outputs to the given path:
Code:
EsoExtractData \path\to\game.mnf \export\path\
Extract the MNF file and outputs a ZOSFT and MNF directory listing to the specified files:
 EsoExtractData \path\to\game.mnf \export\path\ -z \export\path\zosft.txt -m \export\path\mnf.txt
Converts all DDS files recursively in the given path:
Code:
ConvertDDS \export\path\
v0.41 -- 17 September 2020[/list][*] Removed the -c/--convertdds option.[*] Added the --luafilelist option.[*] Added the --luastartindex option.[*] Added the -y/--fileext option.[/list]
v0.40 -- 6 February 2020
• Changed to a 64 bit build (to support Oodle decompression).
• Supports the new DAT format introduced in update 25 PTS.
• Skips empty DAT files which reduces the number of error messages.
• Added the "--oodleraw" option which saves subfiles in their original Oodle compression format.

v0.34 -- 30 May 2019
• Fix default for the "-n" / "--filename" option.

v0.33 -- 19 April 2019
• Added the "-n" / "--filename" option.

v0.32 -- 24 October 2018
• Fixed crash from null pointer reference received from Granny API.
• Updated Granny2.dll file which permits more original GR2 filenames to be extracted.

v0.31 -- 17 April 2017
• Fixed extraction of the ZOSFT from ESO MNF in update 14 PTS files. Unsure how this will work with prior file versions however (is fine with update 13 at least).

v0.30 -- 18 January 2017
• Added more matching magic bytes for recognizing GR2 (Granny) files.
• GR2 model/animation files are output acccording to their internal original path/filename in addition to their ZOSFT filename (if it exists) and numeric file index. The original path will be created under the "Granny" path in the base export path.
• Recognize binary Havok files and assign them with the HKX extension.
• Recognize file data containing compressed sub-files and assign them the EsoFileData extensions.
• Recognize file data containing unknown ID data and assign them the EsoIdData extensions.
• Recognize file data for the PSB2 format (unsure exactly what it is though).
• Recognize file data containing more text data (including books) and give it the "TextData" extension.
• Recognize "FFX" file data.
• Recognize UTF-8 text files starting with the byte order mark EF BB BF and give the extension "TXT".
• Recognize the unknown XV4 file which seems to be just a DDS with 12 bytes of extra header data and 4 bytes of extra footer. The original file and a DDS version without the extra header is saved.
• Include the "--noparsegr2" parameter to prevent the parsing of GR2 files to extract their original filename.
• Added the "--extractsubfile" option for extracting compressed data from some file types:
• --extractsubfile none : Default, does nothing
• --extractsubfile combined : Outputs all compressed files in one large file.
• --extractsubfile seperate : Outputs files individually (Warning: This creates over 1 million files and adds several hours to the extraction).

v0.29 -- 5 September 2016
• Fixed an infinite loop due to a truncated compressed file in file eso0002.dat from the update 12 PTS.

v0.28 -- 8 March 2016
• Fixed a crash when extracting Game.Mnf data from the Thieves Guild DLC release.

v0.27 -- 4 February 2016
• Added support for the 1.9 update on PTS (Thieves Guild DLC) for finding the ZOSFT in the ESO.MNF file. File index for the ZOSFT was changed from 0xFFFFF to 0xFFFFFF.

v0.26 -- 19 August 2015
• When using -d the changed CSV file contains the original translation text supplied with -g if it exists in the last column ([id columns], [new], [old], [translated]).
• If the ID file used with -i and -i1 is the same you can omit one or the other parameter on the command line. For example, the following commands would be identical:
Code:
EsoExtractData -g tr.txt -i id.txt -d old.txt new.txt -i1 id.txt -i2 new.id.txt
EsoExtractData -g tr.txt -i id.txt -d old.txt new.txt            -i2 new.id.txt
EsoExtractData -g tr.txt           -d old.txt new.txt -i1 id.txt -i2 new.id.txt

v0.25 -- 28 August 2015
• Added the "-d" option for comparing LANG/CSV/TXT files.
• Added the "-i2" option for specifying the second ID file when comparing files.
• Added the "-g" option for specifying a source text for unchanged entries.

v0.24 -- 9 June 2015
• Added the "-i" option to input an ID text.
• An ID file (.id.txt) is output when converting a LANG file.
• Convert a text file along with an ID file to a LANG file.

v0.23 -- 11 April 2015
• Added the ''-t'' option for saving LANG files in a plain text format.

v0.22 -- 9 April 2015
• Added the "--posourcetext" to use the source text column (2) in a PO-CSV file when converting it to a LANG file.
• Assume a PO-CSV file (3 columns) when the -p option is used with -x.
• Fix the location column (1) when creating a PO-CSV file (offset was used instead of index).

v0.21 -- 9 April 2015
• Escape quotes in text as double-quotes ("") instead of \" in CSV files to import correctly.
• Added the "-o" option for specifying the output filename for -l/-x commands.
• Added the "-p" option for outputting LANG CSV files in a PO compatible format.

v0.20 -- 9 April 2015
• All cells are quoted when saving a LANG file as a CSV.
• Translate DOS linefeeds in LANG file texts as "\r" (was "\n" as previously).
• Convert a language CSV file back to a LANG file using the "-x" option:
• First row must be a header: ID,Unknown,Index,Offset,Text
• Column order is currently fixed.
• Convert \r, \n and \" to their respectice characters.
• Text column must be quoted to preserve commas in texts.
• Resulting LANG file will be larger than the original due to duplicate texts not being merged.
• Output filename will be the same filename with ".CSV" replaced with ".LANG".

v0.18 - 23 November 2014
• Fixed output of Game.Mnf with filenames.

v0.17 - 7 November 2014
• Name changed from EsoExportMnf to EsoExtractData.
• Now has better, automatic loading of ZOSFT entries for filename correlation.
• Fixed incorrect filename assignment to files with the same ID.
• Added missing , to MNF file table CSV export.
• Added the "UserData" column to the ZOSFT file table CSV export. Currently is the number of file entries found in the MNF data.
• Converts any .lang file to a CSV format if it can.
• Language file now exported in a normal CSV format (with commas and internal double-quotes escaped to \").
• Added the -b/--beginarchiveoption to start at a specific DAT file index.
• Added the -l/--lang option to convert a .LANG file to a CSV.

v0.16 - March 2014
• Updated to support the patch for the 14 Mar 2014 beta.

v0.15 - February 2014
• Updated to support the patch for the 8 Feb 2014 beta.
Optional Files (0)

Archived Files (11)
 File Name Version Size Uploader Date 0.40 2MB Uesp 02/07/20 09:54 AM 0.34 1MB Uesp 05/30/19 11:07 AM 0.33 1MB Uesp 04/19/19 08:54 AM 0.32 1MB Uesp 10/24/18 06:41 AM 0.31 1MB Uesp 04/17/17 06:41 PM 0.30 1MB Uesp 01/18/17 06:11 PM 0.29 796kB Uesp 09/05/16 09:20 AM 0.28 796kB Uesp 03/08/16 11:33 AM 0.27 772kB Uesp 02/04/16 05:29 PM 0.27 775kB Uesp 02/04/16 02:59 PM 0.26 775kB Uesp 12/19/15 12:20 PM

Comment Options
05/17/21, 05:53 PM
snichols7778

Forum posts: 7
Originally Posted by Uesp
We always upload a bunch of files extracted from ESO every update. The last one was from the second PTS patch (7.0.2 I think) and is available at:

http://esofiles.uesp.net/update-30pts2/

You would want the loadscreens.zip file. Note that these are PNG converted files. If you actually need the original DDS let me know and I'll figure out the command line for extracting them directly.

 Originally Posted by snichols7778 is there a way to get the dds for loading screen for blackwood and balfiera i need it for an addon or if you have access to it that would be good as well.
i just need the name the addon grabs it from eso server if i have the file name but ill find it in your files thank you very much

-Update worked fine thank you for your help
Last edited by snichols7778 : 05/17/21 at 06:04 PM.

05/17/21, 05:47 PM
Uesp

Forum posts: 15
We always upload a bunch of files extracted from ESO every update. The last one was from the second PTS patch (7.0.2 I think) and is available at:

http://esofiles.uesp.net/update-30pts2/

You would want the loadscreens.zip file. Note that these are PNG converted files. If you actually need the original DDS let me know and I'll figure out the command line for extracting them directly.

 Originally Posted by snichols7778 is there a way to get the dds for loading screen for blackwood and balfiera i need it for an addon or if you have access to it that would be good as well.
__________________
Last edited by Uesp : 05/17/21 at 05:48 PM.

05/17/21, 04:08 PM
snichols7778

Forum posts: 7
 Originally Posted by Uesp Forgive me for not responding to all the bug reports...I've re-added the topic to me feed so I'll be notified for any future posts. To try and respond to some of the issues mentioned: The -c/--convertdds option was removed for a few reasons. The old reason was because it was crashing on some DDS files (this may have been fixed by a library update, I'll have to retest). The other was related to compiling issues after moving to 64-bit (it wouldn't compile any longer with the Devil library, no idea why). So for that update I just removed it and forgot to look at it again. Will see if I can readdress it in a future update. A more detailed description of the command line parameters can be found at Online_Mod:EsoExtractData on the UESP wiki (although I forgot to add the last 3 added). --luafilelist [filename]: If this option is specified a list of all files with a ZOS file table entry is output to the given LUA file in the format: Code: [Index] = "Filename", where Index starts at --luastartindex or 1 by default. This was a request from someone who needed a list of all DDS files in a LUA format. --fileext [ext]: Only extract files matching the given extension (or technically filenames that end with the given string). Looks like I've forgot to include the ConvertDDS.bat script as well as NConvert.exe. I'll include them in future releases. The "fail" messages at the start of ESO.MNF are "normal" in that there are files specified in the MNF directory that don't seem to exist (offsets exceed the end of the DAT files). I haven't figured a way of separating these known errors from an actual error.
is there a way to get the dds for loading screen for blackwood and balfiera i need it for an addon or if you have access to it that would be good as well.

 05/07/21, 08:15 AM Uesp Forum posts: 15 File comments: 38 Uploads: 2 Forgive me for not responding to all the bug reports...I've re-added the topic to me feed so I'll be notified for any future posts. To try and respond to some of the issues mentioned: The -c/--convertdds option was removed for a few reasons. The old reason was because it was crashing on some DDS files (this may have been fixed by a library update, I'll have to retest). The other was related to compiling issues after moving to 64-bit (it wouldn't compile any longer with the Devil library, no idea why). So for that update I just removed it and forgot to look at it again. Will see if I can readdress it in a future update. A more detailed description of the command line parameters can be found at Online_Mod:EsoExtractData on the UESP wiki (although I forgot to add the last 3 added). --luafilelist [filename]: If this option is specified a list of all files with a ZOS file table entry is output to the given LUA file in the format: Code: [Index] = "Filename", where Index starts at --luastartindex or 1 by default. This was a request from someone who needed a list of all DDS files in a LUA format. --fileext [ext]: Only extract files matching the given extension (or technically filenames that end with the given string). Looks like I've forgot to include the ConvertDDS.bat script as well as NConvert.exe. I'll include them in future releases. The "fail" messages at the start of ESO.MNF are "normal" in that there are files specified in the MNF directory that don't seem to exist (offsets exceed the end of the DAT files). I haven't figured a way of separating these known errors from an actual error. __________________ Daveh -- Founder/Admin of UESP.net
05/07/21, 07:35 AM
Uesp

Forum posts: 15
Re: en.lang

 Originally Posted by luisz Hello!! How can you only get the en.lang file?
Should be able to do something like:

Code:
EsoExtractData "c:/Program Files (x86)/Zenimax Online/The Elder Scrolls Online PTS/depot/eso.mnf" c:\OutputPath\ --filename en.lang
__________________

 04/01/21, 02:46 PM luisz Forum posts: 0 File comments: 13 Uploads: 0 en.lang Hello!! How can you only get the en.lang file?
11/30/20, 11:25 AM
FormlessOne

Forum posts: 0
 Originally Posted by Gelmir This package has no ConvertDDS executable, as described in description. Also I don't understand why -c option was removed in first place. Plus, the v0.41 release: was it released just to remove coupla options and add others, or did data format of ESO files actually change, rendering the previous version unusable? These are really important questions I wonder answers to.
If it helps any, the NConvert utility mentioned in the readme for this version works well enough to convert .dds to other image formats, once this utility extracts the .dds files.

 09/20/20, 05:40 AM Gelmir Forum posts: 0 File comments: 38 Uploads: 1 This package has no ConvertDDS executable, as described in description. Also I don't understand why -c option was removed in first place. Plus, the v0.41 release: was it released just to remove coupla options and add others, or did data format of ESO files actually change, rendering the previous version unusable? These are really important questions I wonder answers to.
 09/17/20, 08:35 AM Baertram   Forum posts: 3597 File comments: 4415 Uploads: 68 Is there some more info available on the new parameters? Here my assumptions as I was not able to find anything on your website's documentation about them so far: --luafilelist Creates a file list of extracted files as lua table format? --luastartindex Define an index where to start the extraction (but what index is this? 1 = 1st file found in total archves?) --fileext Only extract files with this given file extension, e.g. .dds for the texture files?
 08/26/20, 04:46 AM Slerio Forum posts: 0 File comments: 12 Uploads: 0 Can you extract with this the Bard songs ? they are sadly nowhere else official and they are also Translated AKA in german the bards sing german and stuff. Command needs to be Code: EsoExtractData.exe "E:\Eso\Zenimax Online\The Elder Scrolls Online\depot\eso.mnf" "E:\Eso\Export\Eso\Depot" What file should we actually target with this ? the MNF file inside client ? i only get a 700mb sized from that same for the one in sound. ok its the file inside the Depot Folder. I added the command as needed to be correct just adjust the path. Last edited by Slerio : 08/26/20 at 05:57 AM.
 06/24/20, 04:15 PM farahats9 Forum posts: 0 File comments: 1 Uploads: 0 errors converting dds files I am getting an error with the argument "-c" Code: Failed to load DDS image data from memory buffer: (1288) invalid file header as I am trying to extract the image files. the file I am trying is "The Elder Scrolls Online\depot\eso.mnf" and I am on Windows 10. Any help is appreciated.
 06/23/20, 02:32 PM SenSeau Forum posts: 0 File comments: 1 Uploads: 0 Just wanted to follow up on an earlier question that went unanswered. Is there any way to organize or identify the files that get dumped? It's all strings of numbers.
 06/02/20, 09:59 AM Onigar   Forum posts: 3 File comments: 329 Uploads: 4 EsoExtractData cmd messages Hi, fairly new to using ESOExtractData so I'm not sure if it is OK to ignore the "Failed" messages like, Failed to parse V3 data file! Only read (some) of a file of data Failed to read raw data of file Failed to load the file data Thanks. __________________ Addons: Currency Manager: https://www.esoui.com/downloads/info...ager.html#info InCombat: https://www.esoui.com/downloads/file...p?id=2268#info
 05/24/20, 12:27 PM krokogames Forum posts: 3 File comments: 1 Uploads: 0 LANGUAGE hello guys how i can extract this files from client lang_pregame.str and lang_client.str im only extract en_client.lua and en_pregame.lua thanks for reply
 04/18/20, 07:40 AM Jigen Forum posts: 0 File comments: 12 Uploads: 0 Tamriel World map Thanks for the update! Will it also work for the PTS files in the future? I'm trying to just extract the updated world map of Tamriel. Is there an easy way to do that, without having to extract everything? Last edited by Jigen : 04/18/20 at 07:41 AM.

Category Jump: